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 / SLIB2.LBR / SISSP.Z80 < prev    next >
Text File  |  2000-06-30  |  1KB  |  56 lines

  1. ;
  2. ;  SYSLIB Module Name:  SISSP
  3. ;  Author:  Richard Conn
  4. ;  SYSLIB Version Number:  3.6
  5. ;  Module Version Number:  1.1
  6.  
  7.     public    issp
  8. ;
  9. ;    ISSP returns Zero Flag Set if char in A is a space
  10. ; character (null, space, tab, carriage return, line feed, form feed,
  11. ; back space, or delete).  ISSP returns NZ if not.
  12. ;
  13. ;    Char in A is unaffected.
  14. ;
  15.  
  16. ;
  17. ;  DEFINE SPACE CHARS
  18. ;
  19. NULL    EQU    0
  20. BS    EQU    'H'-'@'
  21. TAB    EQU    'I'-'@'
  22. LF    EQU    'J'-'@'
  23. HT    EQU    'K'-'@'
  24. FF    EQU    'L'-'@'
  25. CR    EQU    'M'-'@'
  26. SPACE    EQU    ' '
  27. DEL    EQU    7FH
  28.  
  29. ISSP:
  30.     PUSH    HL        ; SAVE REGS
  31.     PUSH    BC
  32.     LD    C,A        ; SAVE CHAR IN C
  33.     AND    7FH        ; MASK MSB
  34.     LD    B,9        ; TABLE COUNT IN B
  35.     LD    HL,SPTAB    ; PT TO TABLE
  36. ISSPL:
  37.     CP    (HL)        ; MATCH?
  38.     JP    Z,ISSP1
  39.     INC    HL        ; PT TO NEXT
  40.     DEC    B
  41.     JP    NZ,ISSPL
  42.     DEC    B        ; SET FLAG TO NZ FOR NO MATCH
  43. ISSP1:
  44.     LD    A,C        ; RESTORE CHAR
  45.     POP    BC        ; RESTORE REGS
  46.     POP    HL
  47.     RET
  48.  
  49. ;
  50. ;  SPACE TABLE
  51. ;
  52. SPTAB:
  53.     DB    NULL,SPACE,TAB,LF,FF,CR,BS,HT,DEL
  54.  
  55.     END
  56.