X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Fcommon%2Ftoupper.s;h=adc3d4a337687baa8f70bd30e60392f414e76bf5;hb=96b5da41f15db5d9d8a550eb98c47a416753ad15;hp=ab7711cb214ed252803342d814c741c972243296;hpb=dccc89edaebdf39d8a3f16a96f2816dee472a5fb;p=cc65 diff --git a/libsrc/common/toupper.s b/libsrc/common/toupper.s index ab7711cb2..adc3d4a33 100644 --- a/libsrc/common/toupper.s +++ b/libsrc/common/toupper.s @@ -5,15 +5,17 @@ ; .export _toupper - .import __ctype, __cdiff + .import __ctype _toupper: + cpx #$00 ; Outside valid range? + bne L9 ; If so, return the argument unchanged tay ; Get c into Y lda __ctype,y ; Get character classification lsr a ; Get bit 0 (lower char) into carry tya ; Get C back into A bcc L9 ; Jump if not lower char clc - adc __cdiff ; make upper case char + adc #<('A'-'a') ; make upper case char L9: rts ; CC are set