]> git.sur5r.net Git - cc65/blob - libsrc/runtime/lrsub.s
Removed (pretty inconsistently used) tab chars from source code base.
[cc65] / libsrc / runtime / lrsub.s
1 ;
2 ; Ullrich von Bassewitz, 05.08.1998
3 ;
4 ; CC65 runtime: long sub reversed
5 ;
6
7 ;
8 ; EAX = EAX - TOS
9 ;
10         .export         tosrsub0ax, tosrsubeax
11         .import         addysp1
12         .importzp       sp, sreg, tmp1
13
14 tosrsub0ax:
15         ldy     #$00
16         sty     sreg
17         sty     sreg+1
18
19 tosrsubeax:                         
20         ldy     #0
21         sec
22         sbc     (sp),y          ; byte 0
23         sta     tmp1            ; use as temp storage
24         txa
25         iny
26         sbc     (sp),y          ; byte 1
27         tax
28         iny
29         lda     sreg
30         sbc     (sp),y          ; byte 2
31         sta     sreg
32         iny
33         lda     sreg+1
34         sbc     (sp),y          ; byte 3
35         sta     sreg+1
36         lda     tmp1
37         jmp     addysp1         ; drop TOS
38