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 / SISHEX.Z80 < prev    next >
Text File  |  2000-06-30  |  768b  |  40 lines

  1. ;
  2. ;  SYSLIB Module Name:  SISHEX
  3. ;  Author:  Richard Conn
  4. ;  SYSLIB Version Number:  3.6
  5. ;  Module Version Number:  1.1
  6.  
  7.     public    ishex
  8.  
  9.     EXT    ISDIGIT,CAPS
  10.  
  11. ;
  12. ;    ISHEX returns Zero Flag Set if char in A is hexadecimal (0-9,A-F,a-f).
  13. ; ISHEX returns NZ if not.
  14. ;
  15. ;    Char in A is unaffected.
  16. ;
  17. ISHEX:
  18.     PUSH    BC    ; SAVE BC
  19.     LD    C,A    ; SAVE CHAR IN C
  20.     CALL    ISDIGIT    ; IS IT A DIGIT?
  21.     JP    Z,YES
  22.     CALL    CAPS    ; CAPITALIZE
  23.     CP    'A'    ; LESS THAN A?
  24.     JP    C,NO
  25.     CP    'F'+1    ; LESS THAN OR EQUAL TO F?
  26.     JP    NC,NO
  27. YES:
  28.     XOR    A    ; SET FLAG
  29.     LD    A,C    ; GET CHAR
  30.     POP    BC    ; RESTORE BC
  31.     RET
  32. NO:
  33.     LD    A,0FFH    ; SET FLAG
  34.     OR    A
  35.     LD    A,C    ; GET CHAR
  36.     POP    BC    ; RESTORE BC
  37.     RET
  38.  
  39.     END
  40.