]> git.sur5r.net Git - cc65/blob - libsrc/runtime/rsub.s
few 6502 and some 65SC02 optimizations
[cc65] / libsrc / runtime / rsub.s
1 ;
2 ; Ullrich von Bassewitz, 05.08.1998
3 ; Christian Krueger, 11-Mar-2017, added 65SC02 optimization
4 ;
5 ; CC65 runtime: sub ints reversed
6 ;
7
8         .export         tosrsuba0, tosrsubax
9         .import         addysp1
10         .importzp       sp, tmp1
11
12         .macpack        cpu
13
14 ;
15 ; AX = AX - TOS
16 ;
17
18 tosrsuba0:
19         ldx     #0
20 tosrsubax:
21         sec
22 .if (.cpu .bitand CPU_ISET_65SC02)
23         sbc     (sp)
24         ldy     #1
25 .else
26         ldy     #0
27         sbc     (sp),y          ; lo byte
28         iny
29 .endif
30         sta     tmp1            ; save lo byte
31         txa
32         sbc     (sp),y          ; hi byte
33         tax
34         lda     tmp1
35         jmp     addysp1         ; drop TOS, set condition codes
36
37