mirror of
https://github.com/cc65/cc65.git
synced 2024-06-26 20:29:34 +00:00
30 lines
668 B
ArmAsm
30 lines
668 B
ArmAsm
;
|
|
; Christian Kruger, 20-May-2018
|
|
;
|
|
; CC65 runtime: Pop registers on stack to ptr1 or ptr2 and ptr1.
|
|
; X is untouched, low byte in A, Y is defined to be 0!
|
|
|
|
.export popptr1
|
|
.import incsp2
|
|
.importzp sp, ptr1
|
|
|
|
.macpack cpu
|
|
|
|
.proc popptr1 ; 14 bytes,
|
|
|
|
ldy #1
|
|
lda (sp),y ; get hi byte
|
|
sta ptr+1 ; into ptr hi
|
|
dey ; note: apply even for 65C02 to have Y=0 at exit!
|
|
.if (.cpu .bitand ::CPU_ISET_65SC02)
|
|
lda (sp) ; get lo byte
|
|
.else
|
|
lda (sp),y ; get lo byte
|
|
.endif
|
|
sta ptr1 ; to ptr lo
|
|
|
|
jmp incsp2
|
|
.endproc
|
|
|
|
|