cc65/libsrc/common/isgraph.s

26 lines
714 B
ArmAsm

; isgraph.s
;
; This file is part of
; cc65 - a freeware C compiler for 6502 based systems
;
; https://github.com/cc65/cc65
;
; See "LICENSE" file for legal information.
;
; int isgraph (int c);
;
.export _isgraph
.include "ctype.inc"
.import ctype_preprocessor
_isgraph:
jsr ctype_preprocessor ; (clears always x)
bcs @L1 ; out of range? (everything already clear -> false)
and #CT_CTRL_SPACE ; mask character bits
cmp #1 ; if false, then set "borrow" flag
lda #0
sbc #0 ; invert logic (return NOT control and NOT space)
@L1: rts