home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol089
/
scpout.mac
< prev
next >
Wrap
Text File
|
1984-04-29
|
1KB
|
60 lines
;
; SYSLIB Module Name: SCPOUT
; Author: Richard Conn
; SYSLIB Version Number: 2.0
; Module Version Number: 1.0
; Module Entry Points:
; CPOUT
; Module External References:
; POUT
;
;
; CPOUT --
; PUNCH OUTPUT ROUTINE WITH CONTROL CHARACTER PROCESSING
; OUTPUT CHAR IN REG A ON PUN:
; AFFECT NO REGISTERS OR FLAGS
;
EXT POUT
CPOUT::
CPI ' ' ; CHECK FOR LESS THAN <SP>
JNC POUT ; PROCESS NORMALLY IF EQUAL OR GREATER
; TRAP OUT <NULL>, <BEL>, <BS>, <LF>, <CR>
CPI NULL ; <NULL>
JZ POUT
CPI BEL ; <BEL>
JZ POUT
CPI BS ; <BS>
JZ POUT
CPI LF ; <LF>
JZ POUT
CPI CR ; <CR>
JZ POUT
; PRINT AS CTRL-CHAR
PUSH PSW ; SAVE A
PUSH PSW
MVI A,'^' ; PRINT UP ARROW
CALL POUT
POP PSW ; GET CHAR
ADI 40H ; CONVERT TO CHAR
CALL POUT
POP PSW ; RESTORE A
RET
;
; ASCII SPECIAL CHARACTER EQUATES
;
NULL EQU 0 ; NULL
BEL EQU 7 ; BELL
BS EQU 8 ; BACKSPACE
TAB EQU 9 ; TAB
LF EQU 10 ; LINE FEED
CR EQU 13 ; CARRIAGE RETURN
CTRLR EQU 'R'-40H ; CTRL-R
CTRLU EQU 'U'-40H ; CTRL-U
CTRLX EQU 'X'-40H ; CTRL-X
DEL EQU 7FH ; DELETE CHAR
END