summaryrefslogtreecommitdiff
path: root/jefs.s
diff options
context:
space:
mode:
Diffstat (limited to 'jefs.s')
-rw-r--r--jefs.s20
1 files changed, 19 insertions, 1 deletions
diff --git a/jefs.s b/jefs.s
index b464077..71854b4 100644
--- a/jefs.s
+++ b/jefs.s
@@ -547,13 +547,22 @@ defword "-", minus, 0
pspush r11
ret
-defword "*", timess, 0
+defword "*", _times, 0
pspop r11
pspop r12
imul r11, r12
pspush r11
ret
+defword "/mod", divmod, 0
+ xor rdx, rdx
+ pspop r11
+ pspop rax
+ idiv r11
+ pspush rdx
+ pspush rax
+ ret
+
defword "[", lbrac, immediate_mask
mov qword [state], interpreting
ret
@@ -598,6 +607,15 @@ defword "(", bracket, immediate_mask
mov qword [to_in], r13
ret
+defword "immediate", immediate, 0
+ mov r12, [latest]
+ add r12, 8
+ mov r13b, [r12]
+ mov r15b, immediate_mask
+ or r13b, r15b
+ mov byte [r12], r13b
+ ret
+
; TEMPORARY HORRIBLE DEBUGGING BULLSHIT {{{
; debugging word; outputs raw bytes so needs to be piped through `x(x)d`
; terrible and awful