From 0cb56caeb9ce0d61275a6d19e7553df5ed86a9cf Mon Sep 17 00:00:00 2001 From: kitty Date: Fri, 27 Feb 2026 00:01:18 +1100 Subject: .rs, rp, also i forgot to reset `say` to use stdout --- jefs.s | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'jefs.s') diff --git a/jefs.s b/jefs.s index 7684069..5f27236 100644 --- a/jefs.s +++ b/jefs.s @@ -83,6 +83,7 @@ global _start _start: ; init mov r14, wstack ; point SP to top + mov qword [rs0], rsp call interpret mov rdi, 0 @@ -215,6 +216,10 @@ defword "sp", _sp, 0 pspush r14 ret +defword "rp", _rp, 0 ; would be called 'rsp' but that is literally just the name of a register + pspush rsp + ret + defword "parse", parse, 0 mov r13, qword [to_in] add r13, qword [tib] @@ -1140,6 +1145,7 @@ defword "HEREDUMP", heredump, 0 ret ; }}} +; maybe some of these should be constants? defvar "tib", tib, 0, initfile defvar "#tib", num_tib, 0, initlen defvar ">in", to_in, 0, 0 @@ -1147,6 +1153,7 @@ defvar "state", state, 0, interpreting defvar "here", here, 0, umem defvar "s0", s0, 0, wstack defvar "h0", h0, 0, umem ; beginning of user memory area +defvar "rs0", rs0, 0, 0 defvar "hend", hend, 0, umem_e ; ending of user memory area defvar "base", base, 0, 10 defvar "error", error, 0, 0 -- cgit v1.2.3