From cbc149e32ca7e14ba025c61d28357f9640933dc0 Mon Sep 17 00:00:00 2001 From: kitty Date: Sat, 14 Feb 2026 13:37:52 +1100 Subject: immediate, /mod, * --- jefs.s | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'jefs.s') 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 -- cgit v1.2.3