home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol089
/
scout.mac
< prev
next >
Wrap
Text File
|
1984-04-29
|
869b
|
47 lines
;
; SYSLIB Module Name: SCOUT
; Author: Richard Conn
; SYSLIB Version Number: 2.0
; Module Version Number: 1.0
; Module Entry Points:
; COUT
; Module External References:
; None
;
;
; COUT --
; CONSOLE OUTPUT ROUTINE
; OUTPUT CHAR IN REG A ON CON:
; AFFECT NO REGISTERS OR FLAGS
;
PUTRG MACRO
PUSH B ; SAVE BC, DE, HL
PUSH D
PUSH H
ENDM
GETRG MACRO
POP H ; RESTORE HL, DE, BC
POP D
POP B
ENDM
COUT::
PUSH PSW ; SAVE REG A AND FLAGS
PUTRG ; SAVE REGISTERS
MOV C,A ; CHAR IN C
LHLD JTABL ; GET ADDRESS OF JUMP TABLE
MVI L,CO$OFF ; CONSOLE OUTPUT ADR
LXI D,CRET2 ; SET UP RET ADR
PUSH D ; ... ON STACK
PCHL
CRET2: GETRG ; RESTORE REGISTERS
POP PSW ; RESTORE REG A AND FLAGS
RET
BOOT EQU 0 ; CP/M BOOT ADDRESS
JTABL EQU BOOT+1 ; CP/M JUMP TABLE ADDRESS
CO$OFF EQU 0CH ; CONSOLE OUTPUT OFFSET
END