; ; 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 JNC LOUT ; PROCESS NORMALLY IF EQUAL OR GREATER ; TRAP OUT , , , , CPI NULL ; JZ LOUT CPI BEL ; JZ LOUT CPI BS ; JZ LOUT CPI LF ; JZ LOUT CPI 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