1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-02 19:42:23 +00:00
cc65/libsrc/runtime/swap.s

36 lines
685 B
ArmAsm
Raw Normal View History

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