]> git.sur5r.net Git - cc65/blob - libsrc/runtime/ladd.s
Removed (pretty inconsistently used) tab chars from source code base.
[cc65] / libsrc / runtime / ladd.s
1 ;
2 ; Ullrich von Bassewitz, 05.08.1998
3 ;
4 ; CC65 runtime: long add
5 ;
6
7         .export         tosadd0ax, tosaddeax
8         .import         addysp1
9         .importzp       sp, sreg, tmp1
10
11         .macpack        cpu
12
13 ; EAX = TOS + EAX
14
15 tosadd0ax:
16         ldy     #$00
17         sty     sreg
18         sty     sreg+1
19
20 tosaddeax:
21         clc
22 .if (.cpu .bitand CPU_ISET_65SC02)
23         adc     (sp)            ; 65SC02 version - saves 2 cycles
24         ldy     #1
25 .else
26         ldy     #0
27         adc     (sp),y          ; lo byte
28         iny
29 .endif
30         sta     tmp1            ; use as temp storage
31         txa
32         adc     (sp),y          ; byte 1
33         tax
34         iny
35         lda     sreg
36         adc     (sp),y          ; byte 2
37         sta     sreg
38         iny
39         lda     sreg+1
40         adc     (sp),y          ; byte 3
41         sta     sreg+1
42         lda     tmp1            ; load byte 0
43         jmp     addysp1         ; drop TOS
44