1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
cc65/libsrc/common/ispunct.s
cuz ca815af077 iscntrl was not mentioned in the Makefile and therefor not built.
Change the isxxx functions to correctly handle values outside of character
range.


git-svn-id: svn://svn.cc65.org/cc65/trunk@33 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-06-08 18:35:04 +00:00

23 lines
377 B
ArmAsm

;
; Ullrich von Bassewitz, 02.06.1998
;
; int ispunct (int c);
;
.export _ispunct
.import __ctype
_ispunct:
cpx #$00 ; Char range ok?
bne @L1 ; Jump if no
tay
lda __ctype,y ; Get character classification
eor #$37 ; NOT (space | control | digit | char)
and #$37 ; Mask relevant bits
rts
@L1: lda #$00 ; Return false
tax
rts