1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 19:29:37 +00:00
cc65/libsrc/runtime/staxspi.s

33 lines
889 B
ArmAsm

;
; Ullrich von Bassewitz, 26.10.2000
;
; CC65 runtime: Store a/x indirect into address at top of stack with index
;
.export staxspidx
.import incsp2
.importzp sp, tmp1, ptr1
.proc staxspidx
sty tmp1 ; Save Y
pha ; Save A
ldy #1
lda (sp),y
sta ptr1+1
dey
lda (sp),y
sta ptr1 ; Address now in ptr1
ldy tmp1 ; Restore Y
iny ; Address high byte
txa ; Get high byte
sta (ptr1),y ; Store high byte
dey ; Address low byte
pla ; Restore low byte into A
sta (ptr1),y ; Store low byte
jmp incsp2 ; Drop address
.endproc