diff options
Diffstat (limited to 'sanctuary.s')
| -rw-r--r-- | sanctuary.s | 18 |
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 |
