home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol089
/
sclout.mac
< prev
next >
Wrap
Text File
|
1984-04-29
|
1KB
|
60 lines
;
; SYSLIB Module Name: SCLOUT
; Author: Richard Conn
; SYSLIB Version Number: 2.0
; Module Version Number: 1.0
; Module Entry Points:
; CLOUT
; Module External References:
; LOUT
;
;
; CLOUT --
; LIST OUTPUT ROUTINE WITH CONTROL CHARACTER PROCESSING
; OUTPUT CHAR IN REG A ON LST:
; AFFECT NO REGISTERS OR FLAGS
;
EXT LOUT
CLOUT::
CPI ' ' ; CHECK FOR LESS THAN <SP>
JNC LOUT ; PROCESS NORMALLY IF EQUAL OR GREATER
; TRAP OUT <NULL>, <BEL>, <BS>, <LF>, <CR>
CPI NULL ; <NULL>
JZ LOUT
CPI BEL ; <BEL>
JZ LOUT
CPI BS ; <BS>
JZ LOUT
CPI LF ; <LF>
JZ LOUT
CPI CR ; <CR>
JZ LOUT
; PRINT AS CTRL-CHAR
PUSH PSW ; SAVE A
PUSH PSW
MVI A,'^' ; PRINT UP ARROW
CALL LOUT
POP PSW ; GET CHAR
ADI 40H ; CONVERT TO CHAR
CALL LOUT
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