home *** CD-ROM | disk | FTP | other *** search
- ;
- ; SYSLIB Module Name: SPOUT
- ; Author: Richard Conn
- ; SYSLIB Version Number: 3.6
- ; Module Version Number: 1.1
-
- public pout
-
- ;
- ; POUT --
- ; PUNCH OUTPUT ROUTINE
- ; OUTPUT CHAR IN REG A ON PUN:
- ; AFFECT NO REGISTERS OR FLAGS
- ;
- PUTRG MACRO
- PUSH BC ; SAVE BC, DE, HL
- PUSH DE
- PUSH HL
- ENDM
- GETRG MACRO
- POP HL ; RESTORE HL, DE, BC
- POP DE
- POP BC
- ENDM
-
- POUT:
- PUSH AF ; SAVE REG A AND FLAGS
- PUTRG ; SAVE REGISTERS
- LD C,A ; CHAR IN C
- LD HL,(JTABL) ; GET ADDRESS OF JUMP TABLE
- LD L,P$OFF ; PUNCH OUTPUT ADR
- LD DE,PRET ; SET UP RET ADR
- PUSH DE ; ... ON STACK
- JP (HL)
- PRET: GETRG ; RESTORE REGISTERS
- POP AF ; RESTORE REG A AND FLAGS
- RET
-
- BOOT EQU 0 ; CP/M BOOT ADDRESS
- JTABL EQU BOOT+1 ; CP/M JUMP TABLE ADDRESS
- P$OFF EQU 12H ; PUNCH OUTPUT OFFSET
-
- END