summary refs log tree commit diff
path: root/quine.asm
diff options
context:
space:
mode:
Diffstat (limited to 'quine.asm')
-rw-r--r--quine.asm28
1 files changed, 15 insertions, 13 deletions
diff --git a/quine.asm b/quine.asm
index e2703a4..ceb2c9e 100644
--- a/quine.asm
+++ b/quine.asm
@@ -3913,6 +3913,7 @@ cold_start:
   dq lit, "bp.", early_comma
   dq litstring, "emitstring", early_find, entry_to_execution_token
   dq early_comma
+  dq litstring, "lit", early_find, entry_to_execution_token, early_comma
   dq lit, 1, early_comma
   dq litstring, "sys-exit", 0, early_find, entry_to_execution_token, early_comma
   dq early_here, fetch, lit, 8, packalign, early_here_store
@@ -7107,7 +7108,7 @@ defword reg8, 0
   dq dup, ch, eq, zbranch, 5*8, drop, lit, 5, exit
   dq dup, dh, eq, zbranch, 5*8, drop, lit, 6, exit
   dq dup, bh, eq, zbranch, 5*8, drop, lit, 7, exit
-  dq litstring, "Parameter to reg8 is not a reg8.", emitstring
+  dq litstring, "Parameter to reg8 is not a reg8.", 0, emitstring
   dq lit, 1, sys_exit
 
 ; Stack in:
@@ -8297,22 +8298,23 @@ defword show_source_between, 0
   dq dup, emitstring, litstring, " ", emitstring
   dq swap, lit, 8, add, swap
 
-  dq dup, litstring, "lit", stringcmp, zbranch, 51*8          ; 6 words
-  dq dup, litstring, "litpack8", 0, stringcmp, zbranch, 44*8  ; 7 words
-  dq dup, litstring, "litpack16", stringcmp, zbranch, 37*8    ; 7 words
-  dq dup, litstring, "litpack32", stringcmp, zbranch, 30*8    ; 7 words
-  dq dup, litstring, "litpack64", stringcmp, zbranch, 23*8    ; 7 words
-  dq dup, litstring, "branch", stringcmp, zbranch, 17*8       ; 6 words
-  dq dup, litstring, "zbranch", stringcmp, zbranch, 11*8      ; 6 words
+  dq dup, litstring, "lit", stringcmp, zbranch, 57*8          ; 6 words
+  dq dup, litstring, "litpack8", 0, stringcmp, zbranch, 50*8  ; 7 words
+  dq dup, litstring, "litpack16", stringcmp, zbranch, 43*8    ; 7 words
+  dq dup, litstring, "litpack32", stringcmp, zbranch, 36*8    ; 7 words
+  dq dup, litstring, "litpack64", stringcmp, zbranch, 29*8    ; 7 words
+  dq dup, litstring, "branch", stringcmp, zbranch, 23*8       ; 6 words
+  dq dup, litstring, "zbranch", stringcmp, zbranch, 17*8      ; 6 words
+  dq dup, litstring, "0branch", stringcmp, zbranch, 11*8      ; 6 words
   dq dup, litstring, "litstring", stringcmp, zbranch, 16*8    ; 7 words
 
   ; This is the plain, non-lit branch.
-  dq drop, branch, -76*8
+  dq drop, branch, -82*8
 
   ; This is the lit branch that expects to be followed by a single word.
   dq drop, dup, fetch, dot, litstring, " ", emitstring
   dq lit, 8, add
-  dq branch, -88*8
+  dq branch, -94*8
 
   ; This is the lit branch that expects to be followed by a string. First, we
   ; print the string...
@@ -8331,7 +8333,7 @@ defword show_source_between, 0
   ; (end address, current address, n words including padding)
   dq lit, 8, mul, add
 
-  dq branch, -120*8
+  dq branch, -126*8
 
 ;   This is the backend for early_show_source_or_hex; it will eventually also
 ; be the backend for a non-early version.
@@ -8347,9 +8349,9 @@ defword show_source_or_hex_between, 0
 
   dq swap, dup, unroll3, swap, roll3
   ; (entry address, end address, entry address)
-  dq entry_to_execution_token, fetch, lit, docol, eq, zbranch, 3*8
-  dq show_source_between, exit
+  dq entry_to_execution_token, dup, fetch, lit, 8, sub, eq, zbranch, 3*8
   dq show_hex_between, exit
+  dq show_source_between, exit
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;