]> git.sur5r.net Git - cc65/blobdiff - libsrc/common/isgraph.s
Merge pull request #7 from cvemu/master
[cc65] / libsrc / common / isgraph.s
index e2073aea2274b641babb487589503c812872ff75..bf94014ec975b4a0fa778ab3fb9be483cc1e48b2 100644 (file)
@@ -1,22 +1,25 @@
 ;
-; Ullrich von Bassewitz, 02.06.1998
+; 1998-06-02, Ullrich von Bassewitz
+; 2014-09-10, Greg King
 ;
 ; int isgraph (int c);
 ;
 
-       .export         _isgraph
-       .import         __ctype
+        .export         _isgraph
+        .include        "ctype.inc"
 
 _isgraph:
-       cpx     #$00            ; Char range ok?
-       bne     @L1             ; Jump if no
-       tay
-       lda     __ctype,y       ; Get character classification
-       eor     #$30            ; NOT control and NOT space
-       and     #$30            ; Mask character bits
-       rts
+        cpx     #>$0000         ; Char range OK?
+        bne     @L1             ; Jump if no
+        tay
+        lda     __ctype,y       ; Get character classification
+        and     #CT_CTRL_SPACE  ; Mask character bits
+        cmp     #1              ; If false, then set "borrow" flag
+        lda     #0
+        sbc     #0              ; Invert logic
+        rts                     ; Return NOT control and NOT space
 
-@L1:   lda     #$00            ; Return false
-       tax
-       rts
+@L1:    lda     #<0             ; Return false
+        tax
+        rts