diff options
| -rw-r--r-- | quine.asm | 28 |
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 ;;;;;;;;;;;;;;;;;;;;;;;;;; |