1.1 --- a/macros.oph Sun Jun 28 14:08:35 2015 +0200
1.2 +++ b/macros.oph Sun Jun 28 15:45:29 2015 +0200
1.3 @@ -183,4 +183,34 @@
1.4 jmp copy_from_user_stack
1.5 .macend
1.6
1.7 +; push A onto the "user space" stack
1.8 +;
1.9 +; affects: USER (gains A), TEMP
1.10 +
1.11 +.macro pushA
1.12 + sei
1.13 + pha
1.14 + sty TEMP
1.15 + ldy #0
1.16 + sta (USER), y
1.17 + .invoke sub16 1, USER
1.18 + ldy TEMP
1.19 + pla
1.20 + cli
1.21 +.macend
1.22 +
1.23 +; pull A from the "user space" stack
1.24 +;
1.25 +; affects: A, USER (loses A), TEMP
1.26 +
1.27 +.macro pullA
1.28 + sei
1.29 + sty TEMP
1.30 + .invoke add16 1, USER
1.31 + ldy #0
1.32 + lda (USER), y
1.33 + ldy TEMP
1.34 + cli
1.35 +.macend
1.36 +
1.37 ; vim: tabstop=4 expandtab shiftwidth=4