diff options
Diffstat (limited to 'jefs.s')
| -rw-r--r-- | jefs.s | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -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 |
