home *** CD-ROM | disk | FTP | other *** search
- ;
- ; 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
-