; ; Ullrich von Bassewitz, 05.08.1998 ; ; CC65 runtime: long add ; .export tosadd0ax, tosaddeax .import addysp1 .importzp sp, sreg, tmp1 .macpack cpu ; EAX = TOS + EAX tosadd0ax: ldy #$00 sty sreg sty sreg+1 tosaddeax: clc .if (.cpu .bitand CPU_ISET_65SC02) adc (sp) ; 65SC02 version - saves 2 cycles ldy #1 .else ldy #0 adc (sp),y ; lo byte iny .endif sta tmp1 ; use as temp storage txa adc (sp),y ; byte 1 tax iny lda sreg adc (sp),y ; byte 2 sta sreg iny lda sreg+1 adc (sp),y ; byte 3 sta sreg+1 lda tmp1 ; load byte 0 jmp addysp1 ; drop TOS