1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-02 18:06:48 +00:00
cc65/libsrc/runtime/swap.s
2017-03-12 23:21:43 +01:00

36 lines
705 B
ArmAsm

;
; Ullrich von Bassewitz, 06.08.1998
; Christian Krueger, 11-Mar-2017, added 65SC02 optimization
;
; CC65 runtime: swap ax with TOS
;
.export swapstk
.importzp sp, ptr4
.macpack cpu
swapstk:
sta ptr4
stx ptr4+1
ldy #1 ; index
lda (sp),y
tax
lda ptr4+1
sta (sp),y
.if (.cpu .bitand ::CPU_ISET_65SC02)
lda (sp)
tay
lda ptr4
sta (sp)
tya
.else
dey
lda (sp),y
pha
lda ptr4
sta (sp),y
pla
.endif
rts ; whew!