summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--quine.asm76
1 files changed, 76 insertions, 0 deletions
diff --git a/quine.asm b/quine.asm
index eaa355b..05ab887 100644
--- a/quine.asm
+++ b/quine.asm
@@ -3020,6 +3020,65 @@ cold_start:
   dq swap, unroll3, pack_beforenext
   dq lit, 8, packalign, early_here_store
 
+  ; The flatassembler names of all these were the same, but without the
+  ; colons, and with underscores instead of hyphens.
+  dq litstring, ":rax", early_keyword
+  dq litstring, ":rcx", early_keyword
+  dq litstring, ":rdx", early_keyword
+  dq litstring, ":rbx", early_keyword
+  dq litstring, ":rsp", early_keyword
+  dq litstring, ":rbp", early_keyword
+  dq litstring, ":rsi", early_keyword
+  dq litstring, ":rdi", early_keyword
+  dq litstring, ":r8", early_keyword
+  dq litstring, ":r9", early_keyword
+  dq litstring, ":r10", early_keyword
+  dq litstring, ":r11", early_keyword
+  dq litstring, ":r12", early_keyword
+  dq litstring, ":r13", early_keyword
+  dq litstring, ":r14", early_keyword
+  dq litstring, ":r15", early_keyword
+  dq litstring, ":eax", early_keyword
+  dq litstring, ":ecx", early_keyword
+  dq litstring, ":edx", early_keyword
+  dq litstring, ":ebx", early_keyword
+  dq litstring, ":esp", early_keyword
+  dq litstring, ":ebp", early_keyword
+  dq litstring, ":esi", early_keyword
+  dq litstring, ":edi", early_keyword
+  dq litstring, ":ax", early_keyword
+  dq litstring, ":cx", early_keyword
+  dq litstring, ":dx", early_keyword
+  dq litstring, ":bx", early_keyword
+  dq litstring, ":sp", early_keyword
+  dq litstring, ":bp", early_keyword
+  dq litstring, ":si", early_keyword
+  dq litstring, ":di", early_keyword
+  dq litstring, ":al", early_keyword
+  dq litstring, ":cl", early_keyword
+  dq litstring, ":dl", early_keyword
+  dq litstring, ":bl", early_keyword
+  dq litstring, ":ah", early_keyword
+  dq litstring, ":ch", early_keyword
+  dq litstring, ":dh", early_keyword
+  dq litstring, ":bh", early_keyword
+  dq litstring, ":cc-overflow", early_keyword
+  dq litstring, ":cc-no-overflow", early_keyword
+  dq litstring, ":cc-below", early_keyword
+  dq litstring, ":cc-above-equal", early_keyword
+  dq litstring, ":cc-equal", early_keyword
+  dq litstring, ":cc-not-equal", early_keyword
+  dq litstring, ":cc-below-equal", early_keyword
+  dq litstring, ":cc-above", early_keyword
+  dq litstring, ":cc-sign", 0, early_keyword
+  dq litstring, ":cc-not-sign", early_keyword
+  dq litstring, ":cc-even", 0, early_keyword
+  dq litstring, ":cc-odd", early_keyword
+  dq litstring, ":cc-less", 0, early_keyword
+  dq litstring, ":cc-greater-equal", early_keyword
+  dq litstring, ":cc-less-equal", early_keyword
+  dq litstring, ":cc-greater", early_keyword
+
   dq early_describe_all, lit, 0, sys_exit
 
   ;;; For triage's sake, here's an inventory of everything else in the file.
@@ -6159,6 +6218,23 @@ defword early_variable, 0
   dq pack_next, lit, 8, packalign, early_here_store
   dq exit
 
+; Stack in:
+;   heap address
+;   name string
+; Stack out:
+;   heap address
+defword early_keyword, 0
+  dq docol
+  dq early_create, early_here, fetch, swap
+  ; (self codeword address, heap address)
+  dq early_docol_codeword
+  dq litstring, "lit", early_find, entry_to_execution_token, early_comma
+  dq swap, early_comma
+  ; (heap address)
+  dq litstring, "exit", early_find, entry_to_execution_token, early_comma
+  dq early_here, fetch, lit, 8, packalign, early_here_store
+  dq exit
+
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Now.... what was our original goal, again? ;;;