summaryrefslogtreecommitdiff
path: root/sanctuary.s
diff options
context:
space:
mode:
Diffstat (limited to 'sanctuary.s')
-rw-r--r--sanctuary.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/sanctuary.s b/sanctuary.s
index 1b9fd0f..6e5707a 100644
--- a/sanctuary.s
+++ b/sanctuary.s
@@ -484,6 +484,24 @@ defcode "smudge", smudge, 0
mov byte [r12], r13b
ret
+defcode "immediate", immediate, 0
+ mov r12, [latest]
+ add r12, 8
+ mov r13b, [r12]
+ mov r14b, immediate_mask
+ or r13b, r14b
+ mov byte [r12], r13b
+ ret
+
+defcode "char", char, 0
+ call parse_name
+ call drop
+ pspop r12
+ xor r11, r11
+ mov r11b, [r12]
+ pspush r11
+ ret
+
; number {{{
defcode "number", number, 0 ; ( c-addr u -- ?n flag )
pspop r11 ; u