; ispunct.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 ispunct (int c); ; .export _ispunct .include "ctype.inc" .import ctype_preprocessor _ispunct: jsr ctype_preprocessor ; (clears always x) bcs @L1 ; out of range? (everything already clear -> false) and #CT_NOT_PUNCT ; mask relevant bits cmp #1 ; if false, then set "borrow" flag lda #0 sbc #0 ; invert logic (return NOT (space | control | digit | alpha)) @L1: rts