home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol089 / scpout.mac < prev    next >
Text File  |  1984-04-29  |  1KB  |  60 lines

  1. ;
  2. ; SYSLIB Module Name:  SCPOUT
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  2.0
  5. ; Module Version Number:  1.0
  6. ; Module Entry Points:
  7. ;    CPOUT
  8. ; Module External References:
  9. ;    POUT
  10. ;
  11.  
  12. ;
  13. ;  CPOUT --
  14. ;    PUNCH OUTPUT ROUTINE WITH CONTROL CHARACTER PROCESSING
  15. ;    OUTPUT CHAR IN REG A ON PUN:
  16. ;    AFFECT NO REGISTERS OR FLAGS
  17. ;
  18.     EXT    POUT
  19.  
  20. CPOUT::
  21.     CPI    ' '    ; CHECK FOR LESS THAN <SP>
  22.     JNC    POUT    ; PROCESS NORMALLY IF EQUAL OR GREATER
  23. ;  TRAP OUT <NULL>, <BEL>, <BS>, <LF>, <CR>
  24.     CPI    NULL    ; <NULL>
  25.     JZ    POUT
  26.     CPI    BEL    ; <BEL>
  27.     JZ    POUT
  28.     CPI    BS    ; <BS>
  29.     JZ    POUT
  30.     CPI    LF    ; <LF>
  31.     JZ    POUT
  32.     CPI    CR    ; <CR>
  33.     JZ    POUT
  34. ;  PRINT AS CTRL-CHAR
  35.     PUSH    PSW    ; SAVE A
  36.     PUSH    PSW
  37.     MVI    A,'^'    ; PRINT UP ARROW
  38.     CALL    POUT
  39.     POP    PSW    ; GET CHAR
  40.     ADI    40H    ; CONVERT TO CHAR
  41.     CALL    POUT
  42.     POP    PSW    ; RESTORE A
  43.     RET
  44.  
  45. ;
  46. ;  ASCII SPECIAL CHARACTER EQUATES
  47. ;
  48. NULL    EQU     0    ; NULL
  49. BEL    EQU     7    ; BELL
  50. BS    EQU     8    ; BACKSPACE
  51. TAB    EQU     9    ; TAB
  52. LF    EQU    10    ; LINE FEED
  53. CR    EQU    13    ; CARRIAGE RETURN
  54. CTRLR    EQU    'R'-40H    ; CTRL-R
  55. CTRLU    EQU    'U'-40H    ; CTRL-U
  56. CTRLX    EQU    'X'-40H    ; CTRL-X
  57. DEL    EQU    7FH    ; DELETE CHAR
  58.  
  59.     END
  60.