Removed __cdiff. Since the assembler does character set translation for

some time now, it is no longer needed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1573 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2002-11-22 00:53:46 +00:00
parent 195a49a6cf
commit d7a5fbeb1a
8 changed files with 29 additions and 59 deletions

View File

@@ -9,27 +9,27 @@
.export _strlower, _strlwr
.import popax
.import __ctype, __cdiff
.import __ctype
.importzp ptr1, ptr2
_strlower:
_strlwr:
sta ptr1 ; Save s (working copy)
stx ptr1+1
sta ptr1 ; Save s (working copy)
stx ptr1+1
sta ptr2
sta ptr2+2 ; save function result
sta ptr2+2 ; save function result
ldy #0
loop: lda (ptr1),y ; get character
beq L9 ; jump if done
loop: lda (ptr1),y ; get character
beq L9 ; jump if done
tax
lda __ctype,x ; get character classification
and #$02 ; upper case char?
beq L1 ; jump if no
txa ; get character back into accu
lda __ctype,x ; get character classification
and #$02 ; upper case char?
beq L1 ; jump if no
txa ; get character back into accu
sec
sbc __cdiff ; make lower case char
sta (ptr1),y ; store back
sbc #<('A'-'a') ; make lower case char
sta (ptr1),y ; store back
L1: iny ; next char
bne loop
inc ptr1+1 ; handle offset overflow