home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
CPM3
/
CCP105P.ARK
/
BDOSRSX.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-10-17
|
2KB
|
71 lines
;
;
; This RSX displays a history trace of <svc nr> of bdos calls.
;
; (C) 1986 by Michael D. Kersenbrock Aloha, Oregon
;
serial: db 0,0,0,0,0,0
start: jmp trace
next: jmp $-$
prev: dw 0
remove: db 0ffh ; remove with next load
nonbank: db 0 ; both banked and non-banked are OK
thename:
db 'BDOSTRSX' ; BDOS tracing RSX name
loader: db 0 ; load for banked AND non-banked systems
db 0,0 ; system use junque
trace: push psw ; save all at entry
push d
push h
push b
mvi a,'<' ; get leading output indicator
call putchar ; put to console screen
pop b ; get bdos function number
push b
mov a,c
rrc!rrc!rrc!rrc ; put msn into lsn
call trascii ; translate msn to ascii
call putchar ; send it to console screen
pop b ; get function number again
push b
mov a,c
call trascii ; translate lsn to ascii
call putchar ; send it to console screen
mvi a,'>' ; get output string terminator
call putchar ; put it to screen
pop b ; return all registers back
pop h
pop d
pop psw
jmp next ; and let it continue with its business
trascii:
ani 0fh ; make lsn "clean"
adi '0' ; assume it is numeric at first
cpi '9'+1 ; numeric?
rc ; yup
adi 'A'-'0'-0ah ; nope, must be A-F
ret
putchar:
mvi c,06h ; direct console i/o bdos call
mov e,a ; put character into place
jmp next ; put character to the screen, then return to
; trace routine above (that called putchar).
w ; save all at entry
push d
push h
push