1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-11 11:30:13 +00:00

Use named constants from ctype.inc instead of hard coded numeric values.

git-svn-id: svn://svn.cc65.org/cc65/trunk@3929 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2009-02-10 22:11:56 +00:00
parent b6d7dba170
commit feb31603da
5 changed files with 23 additions and 15 deletions

View File

@ -9,6 +9,8 @@
.import __ctype
.importzp sreg, ptr1, ptr2, tmp1
.include "ctype.inc"
;
; Conversion routine (32 bit)
;
@ -27,7 +29,7 @@ _atol: sta ptr1 ; Store s
L1: lda (ptr1),y
tax
lda __ctype,x ; get character classification
and #$80 ; tab or space?
and #CT_SPACE_TAB ; tab or space?
beq L2 ; jump if no
iny
bne L1

View File

@ -10,6 +10,7 @@
.import __ctype
.importzp ptr1, ptr2, tmp1
.include "ctype.inc"
_stricmp:
_strcasecmp:
@ -23,7 +24,7 @@ _strcasecmp:
loop: lda (ptr2),y ; get char from second string
tax
lda __ctype,x ; get character classification
and #$01 ; lower case char?
and #CT_LOWER ; lower case char?
beq L1 ; jump if no
txa ; get character back
clc
@ -34,13 +35,13 @@ L1: stx tmp1 ; remember upper case equivalent
lda (ptr1),y ; get character from first string
tax
lda __ctype,x ; get character classification
and #$01 ; lower case char?
and #CT_LOWER ; lower case char?
beq L2 ; jump if no
txa ; get character back
clc
adc #<('A'-'a') ; make upper case char
tax
L2: cpx tmp1 ; compare characters
bne L3
txa ; end of strings?

View File

@ -12,6 +12,8 @@
.import __ctype
.importzp ptr1, ptr2
.include "ctype.inc"
_strlower:
_strlwr:
sta ptr1 ; Save s (working copy)
@ -24,7 +26,7 @@ loop: lda (ptr1),y ; get character
beq L9 ; jump if done
tax
lda __ctype,x ; get character classification
and #$02 ; upper case char?
and #CT_UPPER ; upper case char?
beq L1 ; jump if no
txa ; get character back into accu
sec

View File

@ -10,6 +10,7 @@
.import popax, __ctype
.importzp ptr1, ptr2, ptr3, tmp1
.include "ctype.inc"
_strnicmp:
_strncasecmp:
@ -49,27 +50,27 @@ Loop: inc ptr3
Comp: lda (ptr2),y
tax
lda __ctype,x ; get character classification
and #$01 ; lower case char?
and #CT_LOWER ; lower case char?
beq L1 ; jump if no
txa ; get character back
sec
sbc #<('a'-'A') ; make upper case char
tax ;
tax ;
L1: stx tmp1 ; remember upper case equivalent
lda (ptr1),y ; get character from first string
lda (ptr1),y ; get character from first string
tax
lda __ctype,x ; get character classification
and #$01 ; lower case char?
beq L2 ; jump if no
txa ; get character back
and #CT_LOWER ; lower case char?
beq L2 ; jump if no
txa ; get character back
sec
sbc #<('a'-'A') ; make upper case char
tax
L2: cpx tmp1 ; compare characters
bne NotEqual ; Jump if strings different
txa ; End of strings?
L2: cpx tmp1 ; compare characters
bne NotEqual ; Jump if strings different
txa ; End of strings?
beq Equal1 ; Jump if EOS reached, a/x == 0
; Increment the pointers

View File

@ -12,6 +12,8 @@
.import __ctype
.importzp ptr1, ptr2
.include "ctype.inc"
_strupper:
_strupr:
sta ptr1 ; Save s (working copy)
@ -24,7 +26,7 @@ loop: lda (ptr1),y ; get character
beq L9 ; jump if done
tax
lda __ctype,x ; get character classification
and #$01 ; lower case char?
and #CT_LOWER ; lower case char?
beq L1 ; jump if no
txa ; get character back into accu
clc