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 / SCCOUT.Z80 < prev    next >
Text File  |  2000-06-30  |  1KB  |  61 lines

  1. ;
  2. ; SYSLIB Module Name:  SCCOUT
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  3.6
  5. ; Module Version Number:  1.1
  6.  
  7.     public    ccout
  8.  
  9. ;
  10. ;  CCOUT --
  11. ;    CONSOLE OUTPUT ROUTINE WITH CONTROL CHARACTER PROCESSING
  12. ;    OUTPUT CHAR IN REG A ON CON:
  13. ;    AFFECT NO REGISTERS OR FLAGS
  14. ;
  15.     EXT    COUT
  16.  
  17. CCOUT:
  18.     CP    ' '    ; CHECK FOR LESS THAN <SP>
  19.     JP    NC,COUT    ; PROCESS NORMALLY IF EQUAL OR GREATER
  20. ;
  21. ;  TRAP OUT <NULL>, <BEL>, <BS>, <LF>, <CR>
  22. ;
  23.     CP    NULL    ; <NULL>
  24.     JP    Z,COUT
  25.     CP    BEL    ; <BEL>
  26.     JP    Z,COUT
  27.     CP    BS    ; <BS>
  28.     JP    Z,COUT
  29.     CP    LF    ; <LF>
  30.     JP    Z,COUT
  31.     CP    CR    ; <CR>
  32.     JP    Z,COUT
  33. ;
  34. ;  PRINT AS CTRL-CHAR
  35. ;
  36.     PUSH    AF    ; SAVE A
  37.     PUSH    AF
  38.     LD    A,'^'    ; PRINT UP ARROW
  39.     CALL    COUT
  40.     POP    AF    ; GET CHAR
  41.     ADD    40H    ; CONVERT TO CHAR
  42.     CALL    COUT
  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.