home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / zsys / simtel20 / syslib / slib2.lbr / SISCTRL.Z80 < prev    next >
Encoding:
Text File  |  1986-02-06  |  640 b   |  36 lines

  1. ;
  2. ;  SYSLIB Module Name:  SISCTRL
  3. ;  Author:  Richard Conn
  4. ;  SYSLIB Version Number:  3.6
  5. ;  Module Version Number:  1.1
  6.  
  7.     public    isctrl
  8.  
  9. ;
  10. ;    ISCTRL returns Zero Flag Set if char in A is control (< space, DEL).
  11. ; ISCTRL returns NZ if not.
  12. ;
  13. ;    Char in A is unaffected.
  14. ;
  15. ISCTRL:
  16.     PUSH    BC    ; SAVE BC
  17.     LD    C,A    ; SAVE CHAR IN C
  18.     AND    7FH    ; MASK OUT MSB
  19.     CP    ' '    ; LESS THAN SPACE?
  20.     JP    C,YES
  21.     CP    7FH    ; DELETE?
  22.     JP    NZ,NO
  23. YES:
  24.     XOR    A    ; SET FLAG
  25.     LD    A,C    ; GET CHAR
  26.     POP    BC    ; RESTORE BC
  27.     RET
  28. NO:
  29.     LD    A,0FFH    ; SET FLAG
  30.     OR    A
  31.     LD    A,C    ; GET CHAR
  32.     POP    BC    ; RESTORE BC
  33.     RET
  34.  
  35.     END
  36.