1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 07:29:33 +00:00

Merge pull request #606 from pfusik/ldec

Optimize deceaxy
This commit is contained in:
Oliver Schmidt 2018-03-10 11:28:46 +00:00 committed by GitHub
commit be30c0bd70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,6 @@
;
; Ullrich von Bassewitz, 29.12.1999
; Piotr Fusik, 09.03.2018
; originally by Ullrich von Bassewitz
;
; CC65 runtime: Decrement eax by value in Y
;
@ -11,16 +12,25 @@ deceaxy:
sty tmp1
sec
sbc tmp1
sta tmp1
txa
sbc #0
tax
lda sreg
sbc #0
sta sreg
lda sreg+1
sbc #0
sta sreg+1
lda tmp1
rts
bcs @L9
; Borrow from X.
dex
cpx #$FF
bne @L9
; X wrapped from zero to $FF, borrow from sreg.
dec sreg
cpx sreg
bne @L9
; sreg wrapped from zero to $FF, borrow from sreg+1.
dec sreg+1
; Done.
@L9: rts