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