home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / SYSLIB / SLIB1.LBR / SCLOUT.Z80 < prev    next >
Text File  |  2000-06-30  |  1KB  |  61 lines

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