User`s guide

; CALLVERS program
0005 = bdos equ 5 ; entrY point for BDOS
000B = prtstr equ B ; print string funCtion
000C = vers equ 12 ; get version function
000D = cr equ 0dh ; carriage return
000A = lf equ 0ah ; line feed
0100 org l00h
0100 1605 mvi d,5 ; Perform 5 times
0102 DS loop: push d ; save counter
0103 0E0B mvi c,Prtstr
0105 111e01 lxi d,call$msg ; Print call message
oioe CD0500 call bdos
0l0B 0E0C mvi c,vers
0l0D CD0500 call bdos ; try to get version *
; CALLVERS will intercept
0110 7D mov a,l
0111 323401 sta curvers
0114 d1 pop d
0115 15 dcr d ; decrement counter
0116 C20201 Jnz loop
0119 0E00 mvi c,0
0llB C30500 JmP bdos
call $msg:
011C 0D0A2A2A2A db cr,lf,'**** CALLVERS **** $'
0134 00 curvers db 0
0135 end
; ECHOVERS RSX
000B = pstring equ 9 ; string Print function
000D = cr equ 0dh
000A = lf equ 0ah
; RSX PREFIX STRUCTURE
0000 0000000000 db 0,0,0,0,0,0 ; room for serial number
0006 C3lB00 Jmp ftest ; begin of Program
0005 C3 next: db 0c3H ; Jump
000A 0000 dw 0 ; next module in line
000C 0000 prev: dw 0 ; previous module
000c FF remov: db 0ffh ; remove flag set
000F 00 nonbnk: db 0
0010 4543484F56 db 'ECHOVERS'
0018 000000 db 0,0,0
4-23
Construction of an RSX Program CP/M 3 Programmer's Guide