summaryrefslogtreecommitdiff
path: root/jefs.s
diff options
context:
space:
mode:
authorkitty <nepeta@canaglie.net>2026-02-17 18:49:39 +1100
committerkitty <nepeta@canaglie.net>2026-02-17 18:49:39 +1100
commite07cb5d13e6c7e61c21ddcf5aa86b03f56583e59 (patch)
tree577beb0b9518e2f527460a01187daa192bf6d10b /jefs.s
parenta5a6c74a69a1e7bf3fdedb1886ee10cc5a3788cf (diff)
CHAR
Diffstat (limited to 'jefs.s')
-rw-r--r--jefs.s13
1 files changed, 13 insertions, 0 deletions
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