From e07cb5d13e6c7e61c21ddcf5aa86b03f56583e59 Mon Sep 17 00:00:00 2001 From: kitty Date: Tue, 17 Feb 2026 18:49:39 +1100 Subject: CHAR --- jefs.s | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'jefs.s') diff --git a/jefs.s b/jefs.s index 9ae577b..ae0a80c 100644 --- a/jefs.s +++ b/jefs.s @@ -551,6 +551,10 @@ defword "lit", lit, immediate_mask ; C: ( n -- ) ( -- n ) mov qword [here], r12 ret +defword "litstring", litstring, immediate_mask ; I: ( chr -- ) + pspop r11 + ret + defword "syscall0", syscall0, 0 ; ( id -- rax ) pspop rax syscall @@ -802,6 +806,15 @@ defword "smudge", smudge, 0 ; TOGGLES it (follows fig-forth but i kinda dont lik mov byte [r12], r13b ret +defword "char", char, 0 + call parse + call drop + pspop r12 + xor r11, r11 + mov r11b, [r12] + pspush r11 + ret + ; e9 [00 00 00 00] relative 32 bit immediate, relative to *instruction after jump*! ; note: the dummy value must be provided *by the calling word* defword "branch", branch, 0 -- cgit v1.2.3