1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-26 08:32:00 +00:00
cc65/libsrc/common/isgraph.s

25 lines
707 B
ArmAsm
Raw Normal View History

2020-01-02 17:57:03 +00:00
; isgraph.s
;
2020-01-02 17:57:03 +00:00
; This file is part of
; cc65 - a freeware C compiler for 6502 based systems
;
2020-02-02 17:21:25 +00:00
; https://cc65.github.io
2020-01-02 17:57:03 +00:00
;
; See "LICENSE" file for legal information.
;
; int isgraph (int c);
;
.export _isgraph
.include "ctype.inc"
2020-04-02 20:58:16 +00:00
.import ctypemask
_isgraph:
2020-04-02 20:58:16 +00:00
jsr ctypemask ; (always clears X)
2020-01-02 17:57:03 +00:00
bcs @L1 ; out of range? (everything already clear -> false)
2020-02-02 17:21:25 +00:00
and #CT_CTRL_SPACE ; mask character bits
cmp #1 ; if false, then set "borrow" flag
lda #0
2020-02-02 17:21:25 +00:00
sbc #0 ; invert logic (return NOT control and NOT space)
2020-01-02 17:57:03 +00:00
@L1: rts