2020-01-02 17:57:03 +00:00
|
|
|
; isgraph.s
|
2000-05-28 13:40:48 +00:00
|
|
|
;
|
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.
|
2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; int isgraph (int c);
|
|
|
|
;
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
.export _isgraph
|
|
|
|
.include "ctype.inc"
|
2020-01-02 17:57:03 +00:00
|
|
|
.import ctype_preprocessor
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
_isgraph:
|
2020-01-02 17:57:03 +00:00
|
|
|
jsr ctype_preprocessor ; (clears always x)
|
|
|
|
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
|
2013-05-09 11:56:54 +00:00
|
|
|
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
|
2000-06-08 18:35:04 +00:00
|
|
|
|