summaryrefslogtreecommitdiff
path: root/jefs.s
diff options
context:
space:
mode:
authorkitty <nepeta@canaglie.net>2026-02-26 17:42:51 +1100
committerkitty <nepeta@canaglie.net>2026-02-26 17:42:51 +1100
commit738d7ffb609ff26b6331a5da62cd1fe565fce71d (patch)
treef037de85eca6bd72d44ff4e11f1a818aec10068c /jefs.s
parente3b77b76497fe3f59867d426bd3a7b1ceaee3245 (diff)
not found error (currently breaks shit)
Diffstat (limited to 'jefs.s')
-rw-r--r--jefs.s19
1 files changed, 12 insertions, 7 deletions
diff --git a/jefs.s b/jefs.s
index 2a566fd..4c53420 100644
--- a/jefs.s
+++ b/jefs.s
@@ -296,7 +296,7 @@ defword "cparse", cparse, 0
jmp .wordloop
.wordloop_end:
- dec r11
+ ; dec r11
sub r13, qword [tib]
mov qword [to_in], r13
pop r13
@@ -372,13 +372,13 @@ defword "interpret", interpret, 0
; pspop r11
call r15
jmp .loop
- ret ; unreachable safety RET
.interp_n:
call number
pspop r11
+ cmp r11, false
+ je .notfound
jmp .loop
- ret
.compile:
pspop r11
@@ -398,21 +398,26 @@ defword "interpret", interpret, 0
call to_cfa
call compile_comma
jmp .loop
- ret ; unreachable safety RET
.immed_comp:
call to_cfa
pspop r11
call r11
jmp .loop
- ret
.comp_n:
call number
- pspop r11 ; assume its a valid number for now
+ pspop r11
+ cmp r11, false
+ je .notfound
call lit
jmp .loop
- ret
+
+.notfound:
+ mov qword [error], 2
+ mov r8, qword [handler]
+ call r8
+ jmp .loop
.input_over:
call twodrop