From a2268b0dee73f5407315f6c7c3d5ca3f718db40c Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Mon, 11 May 2026 18:03:11 -0700 Subject: implement all the core Forth stuff in Evocation-assembly also, add support for ;asm and stuff Force-Push: yes Change-Id: I904bc0c31e7e4c8b0abc7790f3af5d20c275f2a5 --- quine.asm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'quine.asm') 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 -- cgit 1.4.1