diff options
| author | kitty <nepeta@canaglie.net> | 2026-02-09 01:16:02 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-02-09 01:16:02 +1100 |
| commit | 1f0acdbbe02f8d35578c863d96187d8e3985506a (patch) | |
| tree | a014992cb8e6ee035b8cc39eb5eb9f8b2fda3073 | |
| parent | 71836b7b35e4f37fa4429157c438783fa72e0154 (diff) | |
compile/interpret in interpreter
| -rw-r--r-- | jefs.s | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -206,14 +206,25 @@ defword "find", find, 0 ; stage 1 interpreter, just reads from initfile defword "interpret", interpret, 0 .loop: +; todo interact with state call parse call find - pspop r11 ; assume it exists for testing + pspop r11 ; assume it exists its fine for now call to_cfa + mov r12, qword [state] + cmp r12, interpreting + je .interp + +.compile: + pspop r11 + call compile_comma, + ret ; unreachable safety RET + +.interp: pspop r11 call r11 jmp .loop - ret + ret ; unreachable safety RET defword ">cfa", to_cfa, 0 pspop r11 |
