diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-05-11 18:03:11 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-05-11 18:03:45 -0700 |
| commit | a2268b0dee73f5407315f6c7c3d5ca3f718db40c (patch) | |
| tree | c2a0b53f7c03387bd3fa1428c725e2c1d0499dae /quine.asm | |
| parent | 86606391c738c5b9022f3bf3c1fe52f2fb27f292 (diff) | |
implement all the core Forth stuff in Evocation-assembly
also, add support for ;asm and stuff Force-Push: yes Change-Id: I904bc0c31e7e4c8b0abc7790f3af5d20c275f2a5
Diffstat (limited to 'quine.asm')
| -rw-r--r-- | quine.asm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/quine.asm b/quine.asm index 12a45f8..44ff249 100644 --- a/quine.asm +++ b/quine.asm @@ -7737,6 +7737,36 @@ cold_start: dq swap, litstring, ";", early_find, roll3, execute + dq litstring, ";asm", early_create, early_docol_codeword + dq litstring, "here", early_find, entry_to_execution_token, early_comma + dq litstring, "@", early_find, entry_to_execution_token, early_comma + dq litstring, "pack-next", early_find, entry_to_execution_token, early_comma + dq litstring, "lit", early_find, entry_to_execution_token, early_comma + dq lit, 8, early_comma + dq litstring, "packalign", early_find, entry_to_execution_token, early_comma + dq litstring, "here", early_find, entry_to_execution_token, early_comma + dq litstring, "!", early_find, entry_to_execution_token, early_comma + dq litstring, "latest", early_find, entry_to_execution_token, early_comma + dq litstring, "@", early_find, entry_to_execution_token, early_comma + dq litstring, "dup", early_find, entry_to_execution_token, early_comma + dq litstring, "unhide-entry", early_find, entry_to_execution_token + dq early_comma + dq litstring, "entry-to-execution-token", 0, early_find + dq entry_to_execution_token, early_comma + dq litstring, "dup", early_find, entry_to_execution_token, early_comma + dq litstring, "lit", early_find, entry_to_execution_token, early_comma + dq lit, 8, early_comma + dq litstring, "+", early_find, entry_to_execution_token, early_comma + dq litstring, "swap", early_find, entry_to_execution_token, early_comma + dq litstring, "!", early_find, entry_to_execution_token, early_comma + dq litstring, "[", early_find, entry_to_execution_token, early_comma + dq litstring, "exit", early_find, entry_to_execution_token, early_comma + dq early_here, fetch, lit, 8, packalign, early_here_store + + dq litstring, "set-word-immediate", early_find, entry_to_execution_token + dq swap, litstring, ";asm", early_find, roll3, execute + + ; Although we will eventually define the word "'" to give us the symbol of a ; word, it will rely on being able to compile a literal. Rather than do ; lots of string processing later, we choose to define this word now to |