2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; Ullrich von Bassewitz, 29.12.1999
|
|
|
|
;
|
|
|
|
; CC65 runtime: Load eax from immidiate value following the call
|
|
|
|
;
|
|
|
|
|
|
|
|
.export ldeax
|
|
|
|
.importzp sreg, ptr4
|
|
|
|
|
2000-10-31 18:53:38 +00:00
|
|
|
.macpack generic
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
ldeax: pla ; Low byte of return address
|
|
|
|
sta ptr4
|
|
|
|
pla ; high byte of return address
|
|
|
|
sta ptr4+1
|
|
|
|
ldy #4 ; high byte of value
|
|
|
|
lda (ptr4),y
|
|
|
|
sta sreg+1
|
|
|
|
dey
|
|
|
|
lda (ptr4),y
|
|
|
|
sta sreg
|
|
|
|
dey
|
|
|
|
lda (ptr4),y
|
|
|
|
tax
|
|
|
|
dey
|
|
|
|
lda (ptr4),y
|
|
|
|
tay ; Save low byte
|
|
|
|
|
2000-10-31 19:16:44 +00:00
|
|
|
; Calculate the return address (remember: RTS address is one low) and
|
2000-10-31 18:53:38 +00:00
|
|
|
; jump to it
|
|
|
|
|
|
|
|
lda ptr4
|
|
|
|
add #5
|
|
|
|
sta ptr4
|
|
|
|
bcc @L9
|
|
|
|
inc ptr4+1
|
2000-10-31 19:16:44 +00:00
|
|
|
@L9: tya ; restore low byte
|
|
|
|
jmp (ptr4)
|