]> git.sur5r.net Git - cc65/blob - libsrc/runtime/ldec.s
goto.c warning fix for implicit truncation
[cc65] / libsrc / runtime / ldec.s
1 ;
2 ; Piotr Fusik, 09.03.2018
3 ; originally by Ullrich von Bassewitz
4 ;
5 ; CC65 runtime: Decrement eax by value in Y
6 ;
7
8         .export         deceaxy
9         .importzp       sreg, tmp1
10
11 deceaxy:
12         sty     tmp1
13         sec
14         sbc     tmp1
15         bcs     @L9
16
17 ; Borrow from X.
18
19         dex
20         cpx     #$FF
21         bne     @L9
22
23 ; X wrapped from zero to $FF, borrow from sreg.
24
25         dec     sreg
26         cpx     sreg
27         bne     @L9
28
29 ; sreg wrapped from zero to $FF, borrow from sreg+1.
30
31         dec     sreg+1
32
33 ; Done.
34
35 @L9:    rts
36