2000-05-28 13:40:48 +00:00
|
|
|
;
|
2018-03-07 19:45:50 +00:00
|
|
|
; Piotr Fusik, 07.03.2018
|
|
|
|
; originally by Ullrich von Bassewitz
|
2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; CC65 runtime: Decrement eax by value in Y
|
|
|
|
;
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
.export deceaxy
|
|
|
|
.importzp sreg, tmp1
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
deceaxy:
|
2013-05-09 11:56:54 +00:00
|
|
|
sty tmp1
|
|
|
|
sec
|
|
|
|
sbc tmp1
|
2018-03-07 19:45:50 +00:00
|
|
|
bcs @L9
|
2018-03-08 21:10:11 +00:00
|
|
|
; borrow from X
|
2018-03-07 19:45:50 +00:00
|
|
|
dex
|
|
|
|
cpx #$ff
|
|
|
|
bne @L9
|
2018-03-08 21:10:11 +00:00
|
|
|
; X wrapped from zero to $ff, borrow from sreg
|
2018-03-07 19:45:50 +00:00
|
|
|
dec sreg
|
|
|
|
cpx sreg
|
|
|
|
bne @L9
|
2018-03-08 21:10:11 +00:00
|
|
|
; sreg wrapped from zero to $ff, borrow from sreg+1
|
2018-03-07 19:45:50 +00:00
|
|
|
dec sreg+1
|
|
|
|
@L9: rts
|
2000-05-28 13:40:48 +00:00
|
|
|
|