about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-09-21 00:22:10 -0700
committerKartik Agaram <vc@akkartik.com>2019-09-21 00:22:10 -0700
commita844bd058aaaedc9f4d23d3f5a4451e0fd1dca67 (patch)
tree2b079523c6ae13cd660784c3787d4da19814cb67
parent4a4a392dc7c81b301ad6b760525c5549f2f6644c (diff)
downloadmu-a844bd058aaaedc9f4d23d3f5a4451e0fd1dca67.tar.gz
5684
Support function-call syntax when linkifying functions in html files.
-rw-r--r--html/066print-int.subx.html2
-rw-r--r--html/072slice.subx.html2
-rw-r--r--html/075print-int-decimal.subx.html2
-rw-r--r--html/079emit.subx.html2
-rw-r--r--html/084emit-hex-array.subx.html2
-rw-r--r--html/apps/assort.subx.html26
-rw-r--r--html/apps/braces.subx.html142
-rw-r--r--html/apps/calls.subx.html4
-rw-r--r--html/apps/dquotes.subx.html16
-rw-r--r--html/apps/mulisp.subx.html22
-rw-r--r--html/apps/pack.subx.html88
-rw-r--r--html/apps/sigils.subx.html36
-rw-r--r--html/apps/survey.subx.html78
-rw-r--r--linkify/linkify.cc5
14 files changed, 216 insertions, 211 deletions
diff --git a/html/066print-int.subx.html b/html/066print-int.subx.html
index dc21f148..ea2495fa 100644
--- a/html/066print-int.subx.html
+++ b/html/066print-int.subx.html
@@ -417,7 +417,7 @@ if ('onhashchange' in window) {
 <span id="L356" class="LineNr">356 </span>    e8/call  <a href='064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L357" class="LineNr">357 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L358" class="LineNr">358 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L359" class="Folded">359 </span><span class="Folded">+-- 18 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L359" class="Folded">359 </span><span class="Folded">+-- 18 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L377" class="LineNr">377 </span>    <span class="subxComment"># check-stream-equal(_test-stream, &quot;0x008899aa&quot;, msg)</span>
 <span id="L378" class="LineNr">378 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L379" class="LineNr">379 </span>    68/push  <span class="Constant">&quot;F - test-print-int32-buffered&quot;</span>/imm32
diff --git a/html/072slice.subx.html b/html/072slice.subx.html
index 6119f24a..f2ad722e 100644
--- a/html/072slice.subx.html
+++ b/html/072slice.subx.html
@@ -1183,7 +1183,7 @@ if ('onhashchange' in window) {
 <span id="L1122" class="LineNr">1122 </span>    e8/call  <a href='072slice.subx.html#L1015'>slice-to-string</a>/disp32
 <span id="L1123" class="LineNr">1123 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1124" class="LineNr">1124 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1125" class="Folded">1125 </span><span class="Folded">+-- 26 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1125" class="Folded">1125 </span><span class="Folded">+-- 26 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1151" class="LineNr">1151 </span>    <span class="subxComment"># eax = string-equal?(eax, &quot;Abc&quot;)</span>
 <span id="L1152" class="LineNr">1152 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1153" class="LineNr">1153 </span>    68/push  <span class="Constant">&quot;Abc&quot;</span>/imm32
diff --git a/html/075print-int-decimal.subx.html b/html/075print-int-decimal.subx.html
index b91ef8cd..e3f82ff5 100644
--- a/html/075print-int-decimal.subx.html
+++ b/html/075print-int-decimal.subx.html
@@ -297,7 +297,7 @@ if ('onhashchange' in window) {
 <span id="L236" class="LineNr">236 </span>    e8/call  <a href='075print-int-decimal.subx.html#L8'>print-int32-decimal</a>/disp32
 <span id="L237" class="LineNr">237 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L238" class="LineNr">238 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L239" class="Folded">239 </span><span class="Folded">+-- 26 lines: #?     # dump _test-stream -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L239" class="Folded">239 </span><span class="Folded">+-- 26 lines: #?     # dump _test-stream ---------------------------------------------------------------------------------------------------------------------</span>
 <span id="L265" class="LineNr">265 </span>    <span class="subxComment"># check-stream-equal(_test-stream, &quot;-9&quot;, msg)</span>
 <span id="L266" class="LineNr">266 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L267" class="LineNr">267 </span>    68/push  <span class="Constant">&quot;F - test-print-int32-decimal-negative&quot;</span>/imm32
diff --git a/html/079emit.subx.html b/html/079emit.subx.html
index c243ce1b..426a7c99 100644
--- a/html/079emit.subx.html
+++ b/html/079emit.subx.html
@@ -504,7 +504,7 @@ if ('onhashchange' in window) {
 <span id="L443" class="LineNr">443 </span>    e8/call  <a href='064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L444" class="LineNr">444 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L445" class="LineNr">445 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L446" class="Folded">446 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L446" class="Folded">446 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L472" class="LineNr">472 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;abcd/xyz&quot;)</span>
 <span id="L473" class="LineNr">473 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L474" class="LineNr">474 </span>    68/push  <span class="Constant">&quot;F - test-emit-non-number-with-all-hex-digits&quot;</span>/imm32
diff --git a/html/084emit-hex-array.subx.html b/html/084emit-hex-array.subx.html
index 73c5d094..10eab86c 100644
--- a/html/084emit-hex-array.subx.html
+++ b/html/084emit-hex-array.subx.html
@@ -152,7 +152,7 @@ if ('onhashchange' in window) {
 <span id="L92" class="LineNr"> 92 </span>    e8/call  <a href='064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L93" class="LineNr"> 93 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L94" class="LineNr"> 94 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L95" class="Folded"> 95 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L95" class="Folded"> 95 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L128" class="LineNr">128 </span>    <span class="subxComment"># check-next-stream-line-equal(_test-output-stream, &quot;01 02 03 &quot;, msg)</span>
 <span id="L129" class="LineNr">129 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L130" class="LineNr">130 </span>    68/push  <span class="Constant">&quot;F - test-emit-hex-array&quot;</span>/imm32
diff --git a/html/apps/assort.subx.html b/html/apps/assort.subx.html
index df8a29ea..8c4e8436 100644
--- a/html/apps/assort.subx.html
+++ b/html/apps/assort.subx.html
@@ -173,7 +173,7 @@ if ('onhashchange' in window) {
 <span id="L111" class="LineNr">111 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L112" class="LineNr">112 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L113" class="LineNr">113 </span><span class="Constant">$subx-assort:<a href='../060read.subx.html#L48'>read</a></span>:
-<span id="L114" class="Folded">114 </span><span class="Folded">+--  9 lines: #?     # print(&quot;read\n&quot;) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L114" class="Folded">114 </span><span class="Folded">+--  9 lines: #?     # print(&quot;read\n&quot;) -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L123" class="LineNr">123 </span>    <span class="subxComment"># read-segments(in, table)</span>
 <span id="L124" class="LineNr">124 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L125" class="LineNr">125 </span>    51/push-ecx
@@ -183,7 +183,7 @@ if ('onhashchange' in window) {
 <span id="L129" class="LineNr">129 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L130" class="LineNr">130 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L131" class="LineNr">131 </span><span class="Constant">$subx-assort:<a href='../057write.subx.html#L24'>write</a></span>:
-<span id="L132" class="Folded">132 </span><span class="Folded">+--  9 lines: #?     # print(&quot;write\n&quot;) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L132" class="Folded">132 </span><span class="Folded">+--  9 lines: #?     # print(&quot;write\n&quot;) ----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L141" class="LineNr">141 </span>    <span class="subxComment"># write-segments(out, table)</span>
 <span id="L142" class="LineNr">142 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L143" class="LineNr">143 </span>    51/push-ecx
@@ -390,7 +390,7 @@ if ('onhashchange' in window) {
 <span id="L344" class="LineNr">344 </span>    <span class="subxComment">#   10 11</span>
 <span id="L345" class="LineNr">345 </span>    <span class="subxComment">#   == data 0x0a000000</span>
 <span id="L346" class="LineNr">346 </span>    <span class="subxComment">#   4 5/imm32</span>
-<span id="L347" class="Folded">347 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L347" class="Folded">347 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L380" class="LineNr">380 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;== code 0x09000000&quot;, msg)</span>
 <span id="L381" class="LineNr">381 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L382" class="LineNr">382 </span>    68/push  <span class="Constant">&quot;F - <a href='assort.subx.html#L159'>test-subx-assort</a>/0&quot;</span>/imm32
@@ -542,7 +542,7 @@ if ('onhashchange' in window) {
 <span id="L528" class="LineNr">528 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L529" class="LineNr">529 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
 <span id="L530" class="LineNr">530 </span>    0f 84/jump-if-equal  $read-segments:<span class="Constant">break</span>/disp32
-<span id="L531" class="Folded">531 </span><span class="Folded">+-- 33 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L531" class="Folded">531 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L564" class="LineNr">564 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L565" class="LineNr">565 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L566" class="LineNr">566 </span>    52/push-edx
@@ -552,7 +552,7 @@ if ('onhashchange' in window) {
 <span id="L570" class="LineNr">570 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L571" class="LineNr">571 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L572" class="LineNr">572 </span><span class="Constant">$read-segments:check1</span>:
-<span id="L573" class="Folded">573 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check1\n&quot;) -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L573" class="Folded">573 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check1\n&quot;) ---------------------------------------------------------------------------------------------------------------------</span>
 <span id="L582" class="LineNr">582 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) continue</span>
 <span id="L583" class="LineNr">583 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
 <span id="L584" class="LineNr">584 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -565,7 +565,7 @@ if ('onhashchange' in window) {
 <span id="L591" class="LineNr">591 </span>    3d/compare-eax-and  0/imm32
 <span id="L592" class="LineNr">592 </span>    0f 85/jump-if-not-equal  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L593" class="LineNr">593 </span><span class="Constant">$read-segments:check-for-comment</span>:
-<span id="L594" class="Folded">594 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for comment\n&quot;) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L594" class="Folded">594 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for comment\n&quot;) ----------------------------------------------------------------------------------------------------------</span>
 <span id="L603" class="LineNr">603 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) continue</span>
 <span id="L604" class="LineNr">604 </span>    <span class="subxS1Comment"># . start/esi = word-slice-&gt;start</span>
 <span id="L605" class="LineNr">605 </span>    8b/copy                         0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to esi</span>
@@ -576,8 +576,8 @@ if ('onhashchange' in window) {
 <span id="L610" class="LineNr">610 </span>    3d/compare-eax-and  0x23/imm32/hash
 <span id="L611" class="LineNr">611 </span>    0f 84/jump-if-equal  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L612" class="LineNr">612 </span><span class="Constant">$read-segments:check-for-segment-header</span>:
-<span id="L613" class="Folded">613 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for segment header\n&quot;) -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L622" class="Folded">622 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L613" class="Folded">613 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for segment header\n&quot;) ---------------------------------------------------------------------------------------------------</span>
+<span id="L622" class="Folded">622 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L664" class="LineNr">664 </span>    <span class="subxComment"># if !slice-equal?(word-slice, &quot;==&quot;) goto next check</span>
 <span id="L665" class="LineNr">665 </span>    <span class="subxS1Comment"># . eax = slice-equal?(word-slice, &quot;==&quot;)</span>
 <span id="L666" class="LineNr">666 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -598,7 +598,7 @@ if ('onhashchange' in window) {
 <span id="L681" class="LineNr">681 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L682" class="LineNr">682 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L683" class="LineNr">683 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L684" class="Folded">684 </span><span class="Folded">+-- 42 lines: #?     # dump segment name -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L684" class="Folded">684 </span><span class="Folded">+-- 42 lines: #?     # dump segment name ---------------------------------------------------------------------------------------------------------------------</span>
 <span id="L726" class="LineNr">726 </span>    <span class="subxComment"># segment-slot/eax = leaky-get-or-insert-slice(table, segment-name, row-size=8)</span>
 <span id="L727" class="LineNr">727 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L728" class="LineNr">728 </span>    68/push  8/imm32/row-size
@@ -633,8 +633,8 @@ if ('onhashchange' in window) {
 <span id="L757" class="LineNr">757 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebx to *eax</span>
 <span id="L758" class="LineNr">758 </span>    <span class="subxComment"># fall through</span>
 <span id="L759" class="LineNr">759 </span><span class="Constant">$read-segments:regular-line</span>:
-<span id="L760" class="Folded">760 </span><span class="Folded">+--  9 lines: #?     # print(&quot;regular line\n&quot;) -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L769" class="Folded">769 </span><span class="Folded">+-- 33 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L760" class="Folded">760 </span><span class="Folded">+--  9 lines: #?     # print(&quot;regular line\n&quot;) ---------------------------------------------------------------------------------------------------------------</span>
+<span id="L769" class="Folded">769 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L802" class="LineNr">802 </span>    <span class="subxComment"># rewind-stream(line)</span>
 <span id="L803" class="LineNr">803 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L804" class="LineNr">804 </span>    51/push-ecx
@@ -642,7 +642,7 @@ if ('onhashchange' in window) {
 <span id="L806" class="LineNr">806 </span>    e8/call  <a href='../055stream.subx.html#L54'>rewind-stream</a>/disp32
 <span id="L807" class="LineNr">807 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L808" class="LineNr">808 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L809" class="Folded">809 </span><span class="Folded">+--  9 lines: #?     # print(&quot;write stream\n&quot;) -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L809" class="Folded">809 </span><span class="Folded">+--  9 lines: #?     # print(&quot;write stream\n&quot;) ---------------------------------------------------------------------------------------------------------------</span>
 <span id="L818" class="LineNr">818 </span>    <span class="subxComment"># write-stream(curr-segment, line)</span>
 <span id="L819" class="LineNr">819 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L820" class="LineNr">820 </span>    51/push-ecx
@@ -652,7 +652,7 @@ if ('onhashchange' in window) {
 <span id="L824" class="LineNr">824 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L825" class="LineNr">825 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L826" class="LineNr">826 </span>    <span class="subxComment"># loop</span>
-<span id="L827" class="Folded">827 </span><span class="Folded">+--  9 lines: #?     # print(&quot;loop\n&quot;) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L827" class="Folded">827 </span><span class="Folded">+--  9 lines: #?     # print(&quot;loop\n&quot;) -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L836" class="LineNr">836 </span>    e9/jump  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L837" class="LineNr">837 </span><span class="Constant">$read-segments:break</span>:
 <span id="L838" class="LineNr">838 </span><span class="Constant">$read-segments:end</span>:
diff --git a/html/apps/braces.subx.html b/html/apps/braces.subx.html
index 7ad08b73..34220c66 100644
--- a/html/apps/braces.subx.html
+++ b/html/apps/braces.subx.html
@@ -114,12 +114,12 @@ if ('onhashchange' in window) {
 <span id="L54" class="LineNr"> 54 </span>    <span class="subxS1Comment"># . prolog</span>
 <span id="L55" class="LineNr"> 55 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L56" class="LineNr"> 56 </span>    <span class="subxComment"># initialize heap</span>
-<span id="L57" class="LineNr"> 57 </span>    (new-segment <span class="SpecialChar"><a href='../069allocate.subx.html#L29'>Heap-size</a></span> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>)
+<span id="L57" class="LineNr"> 57 </span>    (<a href='../053new-segment.subx.html#L41'>new-segment</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L29'>Heap-size</a></span> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>)
 <span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L59" class="LineNr"> 59 </span>    81 7/subop/compare *ebp 1/imm32
 <span id="L60" class="LineNr"> 60 </span>    7e/jump-if-lesser-or-equal $subx-braces-main:interactive/disp8
 <span id="L61" class="LineNr"> 61 </span>    <span class="subxComment"># if (argv[1] != &quot;test&quot;)) goto interactive</span>
-<span id="L62" class="LineNr"> 62 </span>    (kernel-string-equal? *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
+<span id="L62" class="LineNr"> 62 </span>    (<a href='../052kernel-string-equal.subx.html#L31'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L63" class="LineNr"> 63 </span>    3d/compare-eax-and 0/imm32
 <span id="L64" class="LineNr"> 64 </span>    74/jump-if-equal $subx-braces-main:interactive/disp8
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment">#</span>
@@ -128,7 +128,7 @@ if ('onhashchange' in window) {
 <span id="L68" class="LineNr"> 68 </span>    8b/-&gt; *<span class="SpecialChar"><a href='../051test.subx.html#L90'>Num-test-failures</a></span> 3/r32/ebx
 <span id="L69" class="LineNr"> 69 </span>    eb/jump $subx-braces-main:end/disp8
 <span id="L70" class="LineNr"> 70 </span><span class="Constant">$subx-braces-main:interactive</span>:
-<span id="L71" class="LineNr"> 71 </span>    (subx-braces <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
+<span id="L71" class="LineNr"> 71 </span>    (<a href='braces.subx.html#L78'>subx-braces</a> <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
 <span id="L72" class="LineNr"> 72 </span>    <span class="subxComment"># syscall(exit, 0)</span>
 <span id="L73" class="LineNr"> 73 </span>    bb/copy-to-ebx 0/imm32
 <span id="L74" class="LineNr"> 74 </span><span class="Constant">$subx-braces-main:end</span>:
@@ -201,13 +201,13 @@ if ('onhashchange' in window) {
 <span id="L141" class="LineNr">141 </span>    68/push 0/imm32/start
 <span id="L142" class="LineNr">142 </span>    89/&lt;- %edi 4/r32/esp
 <span id="L143" class="LineNr">143 </span><span class="Constant">$subx-braces:line-loop</span>:
-<span id="L144" class="LineNr">144 </span>    (clear-stream %ecx)
-<span id="L145" class="LineNr">145 </span>    (read-line-buffered %esi %ecx)
+<span id="L144" class="LineNr">144 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %ecx)
+<span id="L145" class="LineNr">145 </span>    (<a href='../071read-line.subx.html#L9'>read-line-buffered</a> %esi %ecx)
 <span id="L146" class="LineNr">146 </span><span class="Constant">$subx-braces:check0</span>:
 <span id="L147" class="LineNr">147 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L148" class="LineNr">148 </span>    81 7/subop/compare *ecx 0/imm32
 <span id="L149" class="LineNr">149 </span>    0f 84/jump-if-equal  $subx-braces:<span class="Constant">break</span>/disp32
-<span id="L150" class="LineNr">150 </span>    (skip-chars-matching-whitespace %ecx)
+<span id="L150" class="LineNr">150 </span>    (<a href='../073next-token.subx.html#L464'>skip-chars-matching-whitespace</a> %ecx)
 <span id="L151" class="LineNr">151 </span><span class="Constant">$subx-braces:check-for-curly-open</span>:
 <span id="L152" class="LineNr">152 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '{') goto next check</span>
 <span id="L153" class="LineNr">153 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
@@ -219,11 +219,11 @@ if ('onhashchange' in window) {
 <span id="L159" class="LineNr">159 </span>    0f 85/jump-if-not-equal $subx-braces:check-for-curly-closed/disp32
 <span id="L160" class="LineNr">160 </span><span class="Constant">$subx-braces:emit-curly-open</span>:
 <span id="L161" class="LineNr">161 </span>    <span class="subxComment"># print(out, &quot;_loop&quot; next-label-id &quot;:&quot;)</span>
-<span id="L162" class="LineNr">162 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;_loop&quot;</span>)
-<span id="L163" class="LineNr">163 </span>    (print-int32-buffered *(ebp+0xc) %ebx)
-<span id="L164" class="LineNr">164 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;:&quot;</span>)
+<span id="L162" class="LineNr">162 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;_loop&quot;</span>)
+<span id="L163" class="LineNr">163 </span>    (<a href='../066print-int.subx.html#L267'>print-int32-buffered</a> *(ebp+0xc) %ebx)
+<span id="L164" class="LineNr">164 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;:&quot;</span>)
 <span id="L165" class="LineNr">165 </span>    <span class="subxComment"># push(label-stack, next-label-id)</span>
-<span id="L166" class="LineNr">166 </span>    (push %edx %ebx)
+<span id="L166" class="LineNr">166 </span>    (<a href='braces.subx.html#L445'>push</a> %edx %ebx)
 <span id="L167" class="LineNr">167 </span>    <span class="subxComment"># ++next-label-id</span>
 <span id="L168" class="LineNr">168 </span>    ff 0/subop/increment %ebx
 <span id="L169" class="LineNr">169 </span>    <span class="subxComment"># continue</span>
@@ -234,18 +234,18 @@ if ('onhashchange' in window) {
 <span id="L174" class="LineNr">174 </span>    0f 85/jump-if-equal $subx-braces:word-loop/disp32
 <span id="L175" class="LineNr">175 </span><span class="Constant">$subx-braces:emit-curly-closed</span>:
 <span id="L176" class="LineNr">176 </span>    <span class="subxComment"># eax = pop(label-stack)</span>
-<span id="L177" class="LineNr">177 </span>    (pop %edx)
+<span id="L177" class="LineNr">177 </span>    (<a href='braces.subx.html#L521'>pop</a> %edx)
 <span id="L178" class="LineNr">178 </span>    <span class="subxComment"># print(out, &quot;_break&quot; eax &quot;:&quot;)</span>
-<span id="L179" class="LineNr">179 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;_break&quot;</span>)
-<span id="L180" class="LineNr">180 </span>    (print-int32-buffered *(ebp+0xc) %eax)
-<span id="L181" class="LineNr">181 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;:&quot;</span>)
+<span id="L179" class="LineNr">179 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;_break&quot;</span>)
+<span id="L180" class="LineNr">180 </span>    (<a href='../066print-int.subx.html#L267'>print-int32-buffered</a> *(ebp+0xc) %eax)
+<span id="L181" class="LineNr">181 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;:&quot;</span>)
 <span id="L182" class="LineNr">182 </span>    <span class="subxComment"># continue</span>
 <span id="L183" class="LineNr">183 </span>    e9/jump  $subx-braces:next-line/disp32
 <span id="L184" class="LineNr">184 </span><span class="Constant">$subx-braces:word-loop</span>:
-<span id="L185" class="LineNr">185 </span>    (next-word-or-string %ecx %edi)
+<span id="L185" class="LineNr">185 </span>    (<a href='../094next-word-or-string.subx.html#L8'>next-word-or-string</a> %ecx %edi)
 <span id="L186" class="LineNr">186 </span><span class="Constant">$subx-braces:check1</span>:
 <span id="L187" class="LineNr">187 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
-<span id="L188" class="LineNr">188 </span>    (slice-empty? %edi)
+<span id="L188" class="LineNr">188 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> %edi)
 <span id="L189" class="LineNr">189 </span>    3d/compare-eax-and 0/imm32
 <span id="L190" class="LineNr">190 </span>    0f 85/jump-if-not-equal $subx-braces:next-line/disp32
 <span id="L191" class="LineNr">191 </span><span class="Constant">$subx-braces:check-for-comment</span>:
@@ -260,15 +260,15 @@ if ('onhashchange' in window) {
 <span id="L200" class="LineNr">200 </span><span class="Constant">$subx-braces:check-for-break</span>:
 <span id="L201" class="LineNr">201 </span>    <span class="subxComment"># if (!slice-starts-with?(word-slice, &quot;break/&quot;)) goto next check</span>
 <span id="L202" class="LineNr">202 </span>    <span class="subxS1Comment"># . eax = slice-starts-with?(word-slice, &quot;break/&quot;)</span>
-<span id="L203" class="LineNr">203 </span>    (slice-starts-with? %edi <span class="Constant">&quot;break/&quot;</span>)
+<span id="L203" class="LineNr">203 </span>    (<a href='../072slice.subx.html#L457'>slice-starts-with?</a> %edi <span class="Constant">&quot;break/&quot;</span>)
 <span id="L204" class="LineNr">204 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
 <span id="L205" class="LineNr">205 </span>    3d/compare-eax-and 0/imm32
 <span id="L206" class="LineNr">206 </span>    74/jump-if-equal $subx-braces:check-for-loop/disp8
 <span id="L207" class="LineNr">207 </span><span class="Constant">$subx-braces:emit-break</span>:
-<span id="L208" class="LineNr">208 </span>    (top %edx)
+<span id="L208" class="LineNr">208 </span>    (<a href='braces.subx.html#L591'>top</a> %edx)
 <span id="L209" class="LineNr">209 </span>    <span class="subxComment"># print(out, &quot;_break&quot; eax)</span>
-<span id="L210" class="LineNr">210 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;_break&quot;</span>)
-<span id="L211" class="LineNr">211 </span>    (print-int32-buffered *(ebp+0xc) %eax)
+<span id="L210" class="LineNr">210 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;_break&quot;</span>)
+<span id="L211" class="LineNr">211 </span>    (<a href='../066print-int.subx.html#L267'>print-int32-buffered</a> *(ebp+0xc) %eax)
 <span id="L212" class="LineNr">212 </span>    <span class="subxComment"># word-slice-&gt;start += len(&quot;break&quot;)</span>
 <span id="L213" class="LineNr">213 </span>    81 0/subop/add *edi 5/imm32/strlen
 <span id="L214" class="LineNr">214 </span>    <span class="subxComment"># emit rest of word as usual</span>
@@ -276,31 +276,31 @@ if ('onhashchange' in window) {
 <span id="L216" class="LineNr">216 </span><span class="Constant">$subx-braces:check-for-loop</span>:
 <span id="L217" class="LineNr">217 </span>    <span class="subxComment"># if (!slice-starts-with?(word-slice, &quot;loop/&quot;)) emit word</span>
 <span id="L218" class="LineNr">218 </span>    <span class="subxS1Comment"># . eax = slice-starts-with?(word-slice, &quot;loop/&quot;)</span>
-<span id="L219" class="LineNr">219 </span>    (slice-starts-with? %edi <span class="Constant">&quot;loop/&quot;</span>)
+<span id="L219" class="LineNr">219 </span>    (<a href='../072slice.subx.html#L457'>slice-starts-with?</a> %edi <span class="Constant">&quot;loop/&quot;</span>)
 <span id="L220" class="LineNr">220 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
 <span id="L221" class="LineNr">221 </span>    3d/compare-eax-and 0/imm32
 <span id="L222" class="LineNr">222 </span>    74/jump-if-equal $subx-braces:emit-word-slice/disp8
 <span id="L223" class="LineNr">223 </span><span class="Constant">$subx-braces:emit-loop</span>:
-<span id="L224" class="LineNr">224 </span>    (top %edx)
+<span id="L224" class="LineNr">224 </span>    (<a href='braces.subx.html#L591'>top</a> %edx)
 <span id="L225" class="LineNr">225 </span>    <span class="subxComment"># print(out, &quot;_loop&quot; eax)</span>
-<span id="L226" class="LineNr">226 </span>    (write-buffered *(ebp+0xc) <span class="Constant">&quot;_loop&quot;</span>)
-<span id="L227" class="LineNr">227 </span>    (print-int32-buffered *(ebp+0xc) %eax)
+<span id="L226" class="LineNr">226 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;_loop&quot;</span>)
+<span id="L227" class="LineNr">227 </span>    (<a href='../066print-int.subx.html#L267'>print-int32-buffered</a> *(ebp+0xc) %eax)
 <span id="L228" class="LineNr">228 </span>    <span class="subxComment"># word-slice-&gt;start += len(&quot;loop&quot;)</span>
 <span id="L229" class="LineNr">229 </span>    81 0/subop/add *edi 4/imm32/strlen
 <span id="L230" class="LineNr">230 </span>    <span class="subxComment"># fall through</span>
 <span id="L231" class="LineNr">231 </span><span class="Constant">$subx-braces:emit-word-slice</span>:
 <span id="L232" class="LineNr">232 </span>    <span class="subxComment"># print(out, word-slice &quot; &quot;)</span>
-<span id="L233" class="LineNr">233 </span>    (write-slice-buffered *(ebp+0xc) %edi)
-<span id="L234" class="LineNr">234 </span>    (write-buffered *(ebp+0xc) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L233" class="LineNr">233 </span>    (<a href='../072slice.subx.html#L878'>write-slice-buffered</a> *(ebp+0xc) %edi)
+<span id="L234" class="LineNr">234 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
 <span id="L235" class="LineNr">235 </span>    <span class="subxComment"># loop to next word</span>
 <span id="L236" class="LineNr">236 </span>    e9/jump $subx-braces:word-loop/disp32
 <span id="L237" class="LineNr">237 </span><span class="Constant">$subx-braces:next-line</span>:
 <span id="L238" class="LineNr">238 </span>    <span class="subxComment"># print(out, &quot;\n&quot;)</span>
-<span id="L239" class="LineNr">239 </span>    (write-buffered *(ebp+0xc) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
+<span id="L239" class="LineNr">239 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
 <span id="L240" class="LineNr">240 </span>    <span class="subxComment"># loop to next line</span>
 <span id="L241" class="LineNr">241 </span>    e9/jump $subx-braces:line-loop/disp32
 <span id="L242" class="LineNr">242 </span><span class="Constant">$subx-braces:break</span>:
-<span id="L243" class="LineNr">243 </span>    (flush *(ebp+0xc))
+<span id="L243" class="LineNr">243 </span>    (<a href='../064write-byte.subx.html#L79'>flush</a> *(ebp+0xc))
 <span id="L244" class="LineNr">244 </span><span class="Constant">$subx-braces:end</span>:
 <span id="L245" class="LineNr">245 </span>    <span class="subxS1Comment"># . reclaim locals</span>
 <span id="L246" class="LineNr">246 </span>    81 0/subop/add %esp 0x29c/imm32
@@ -321,23 +321,23 @@ if ('onhashchange' in window) {
 <span id="L261" class="LineNr">261 </span>    55/push-ebp
 <span id="L262" class="LineNr">262 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L263" class="LineNr">263 </span>    <span class="subxComment"># setup</span>
-<span id="L264" class="LineNr">264 </span>    (clear-stream _test-input-stream)
-<span id="L265" class="LineNr">265 </span>    (clear-stream _test-output-stream)
+<span id="L264" class="LineNr">264 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-input-stream)
+<span id="L265" class="LineNr">265 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-output-stream)
 <span id="L266" class="LineNr">266 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-buffered-file+4)</span>
 <span id="L267" class="LineNr">267 </span>    b8/copy-to-eax  <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a>/imm32
 <span id="L268" class="LineNr">268 </span>    05/add-to-eax  4/imm32
-<span id="L269" class="LineNr">269 </span>    (clear-stream %eax)
+<span id="L269" class="LineNr">269 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L270" class="LineNr">270 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file+4)</span>
 <span id="L271" class="LineNr">271 </span>    b8/copy-to-eax  <a href='../064write-byte.subx.html#L332'>_test-output-buffered-file</a>/imm32
 <span id="L272" class="LineNr">272 </span>    05/add-to-eax  4/imm32
-<span id="L273" class="LineNr">273 </span>    (clear-stream %eax)
+<span id="L273" class="LineNr">273 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L274" class="LineNr">274 </span>    <span class="subxComment"># test</span>
-<span id="L275" class="LineNr">275 </span>    (write <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;== abcd 0x1&quot;</span>)
-<span id="L276" class="LineNr">276 </span>    (subx-braces <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
+<span id="L275" class="LineNr">275 </span>    (<a href='../057write.subx.html#L24'>write</a> <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;== abcd 0x1&quot;</span>)
+<span id="L276" class="LineNr">276 </span>    (<a href='braces.subx.html#L78'>subx-braces</a> <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
 <span id="L277" class="LineNr">277 </span>    <span class="subxComment"># check that the line just passed through</span>
-<span id="L278" class="LineNr">278 </span>    (flush _test-output-buffered-file)
-<span id="L279" class="Folded">279 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L284" class="LineNr">284 </span>    (check-stream-equal <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;== abcd 0x1 \n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-passes-most-words-through&quot;</span>)
+<span id="L278" class="LineNr">278 </span>    (<a href='../064write-byte.subx.html#L79'>flush</a> _test-output-buffered-file)
+<span id="L279" class="Folded">279 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
+<span id="L284" class="LineNr">284 </span>    (<a href='../058stream-equal.subx.html#L193'>check-stream-equal</a> <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;== abcd 0x1 \n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-passes-most-words-through&quot;</span>)
 <span id="L285" class="LineNr">285 </span>    <span class="subxS1Comment"># . epilog</span>
 <span id="L286" class="LineNr">286 </span>    89/&lt;- %esp 5/r32/ebp
 <span id="L287" class="LineNr">287 </span>    5d/pop-to-ebp
@@ -360,23 +360,23 @@ if ('onhashchange' in window) {
 <span id="L304" class="LineNr">304 </span>    55/push-ebp
 <span id="L305" class="LineNr">305 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L306" class="LineNr">306 </span>    <span class="subxComment"># setup</span>
-<span id="L307" class="LineNr">307 </span>    (clear-stream _test-input-stream)
-<span id="L308" class="LineNr">308 </span>    (clear-stream _test-output-stream)
+<span id="L307" class="LineNr">307 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-input-stream)
+<span id="L308" class="LineNr">308 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-output-stream)
 <span id="L309" class="LineNr">309 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-buffered-file+4)</span>
 <span id="L310" class="LineNr">310 </span>    b8/copy-to-eax  <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a>/imm32
 <span id="L311" class="LineNr">311 </span>    05/add-to-eax  4/imm32
-<span id="L312" class="LineNr">312 </span>    (clear-stream %eax)
+<span id="L312" class="LineNr">312 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L313" class="LineNr">313 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file+4)</span>
 <span id="L314" class="LineNr">314 </span>    b8/copy-to-eax  <a href='../064write-byte.subx.html#L332'>_test-output-buffered-file</a>/imm32
 <span id="L315" class="LineNr">315 </span>    05/add-to-eax  4/imm32
-<span id="L316" class="LineNr">316 </span>    (clear-stream %eax)
+<span id="L316" class="LineNr">316 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L317" class="LineNr">317 </span>    <span class="subxComment"># test</span>
-<span id="L318" class="LineNr">318 </span>    (write <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;{\nab break/imm32\ncd loop/imm32\n}&quot;</span>)
-<span id="L319" class="LineNr">319 </span>    (subx-braces <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
+<span id="L318" class="LineNr">318 </span>    (<a href='../057write.subx.html#L24'>write</a> <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;{\nab break/imm32\ncd loop/imm32\n}&quot;</span>)
+<span id="L319" class="LineNr">319 </span>    (<a href='braces.subx.html#L78'>subx-braces</a> <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
 <span id="L320" class="LineNr">320 </span>    <span class="subxComment"># check that the line just passed through</span>
-<span id="L321" class="LineNr">321 </span>    (flush _test-output-buffered-file)
-<span id="L322" class="Folded">322 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L327" class="LineNr">327 </span>    (check-stream-equal <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;_loop0x00000001:\nab _break0x00000001/imm32 \ncd _loop0x00000001/imm32 \n_break0x00000001:\n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-1&quot;</span>)
+<span id="L321" class="LineNr">321 </span>    (<a href='../064write-byte.subx.html#L79'>flush</a> _test-output-buffered-file)
+<span id="L322" class="Folded">322 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
+<span id="L327" class="LineNr">327 </span>    (<a href='../058stream-equal.subx.html#L193'>check-stream-equal</a> <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;_loop0x00000001:\nab _break0x00000001/imm32 \ncd _loop0x00000001/imm32 \n_break0x00000001:\n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-1&quot;</span>)
 <span id="L328" class="LineNr">328 </span>    <span class="subxS1Comment"># . epilog</span>
 <span id="L329" class="LineNr">329 </span>    89/&lt;- %esp 5/r32/ebp
 <span id="L330" class="LineNr">330 </span>    5d/pop-to-ebp
@@ -403,23 +403,23 @@ if ('onhashchange' in window) {
 <span id="L351" class="LineNr">351 </span>    55/push-ebp
 <span id="L352" class="LineNr">352 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L353" class="LineNr">353 </span>    <span class="subxComment"># setup</span>
-<span id="L354" class="LineNr">354 </span>    (clear-stream _test-input-stream)
-<span id="L355" class="LineNr">355 </span>    (clear-stream _test-output-stream)
+<span id="L354" class="LineNr">354 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-input-stream)
+<span id="L355" class="LineNr">355 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> _test-output-stream)
 <span id="L356" class="LineNr">356 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-buffered-file+4)</span>
 <span id="L357" class="LineNr">357 </span>    b8/copy-to-eax  <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a>/imm32
 <span id="L358" class="LineNr">358 </span>    05/add-to-eax  4/imm32
-<span id="L359" class="LineNr">359 </span>    (clear-stream %eax)
+<span id="L359" class="LineNr">359 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L360" class="LineNr">360 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file+4)</span>
 <span id="L361" class="LineNr">361 </span>    b8/copy-to-eax  <a href='../064write-byte.subx.html#L332'>_test-output-buffered-file</a>/imm32
 <span id="L362" class="LineNr">362 </span>    05/add-to-eax  4/imm32
-<span id="L363" class="LineNr">363 </span>    (clear-stream %eax)
+<span id="L363" class="LineNr">363 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %eax)
 <span id="L364" class="LineNr">364 </span>    <span class="subxComment"># test</span>
-<span id="L365" class="LineNr">365 </span>    (write <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;{\n{\nab break/imm32\n}\ncd loop/imm32\n}&quot;</span>)
-<span id="L366" class="LineNr">366 </span>    (subx-braces <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
+<span id="L365" class="LineNr">365 </span>    (<a href='../057write.subx.html#L24'>write</a> <a href='../061read-byte.subx.html#L293'>_test-input-stream</a> <span class="Constant">&quot;{\n{\nab break/imm32\n}\ncd loop/imm32\n}&quot;</span>)
+<span id="L366" class="LineNr">366 </span>    (<a href='braces.subx.html#L78'>subx-braces</a> <a href='../061read-byte.subx.html#L319'>_test-input-buffered-file</a> _test-output-buffered-file)
 <span id="L367" class="LineNr">367 </span>    <span class="subxComment"># check that the line just passed through</span>
-<span id="L368" class="LineNr">368 </span>    (flush _test-output-buffered-file)
-<span id="L369" class="Folded">369 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L374" class="LineNr">374 </span>    (check-stream-equal <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;_loop0x00000001:\n_loop0x00000002:\nab _break0x00000002/imm32 \n_break0x00000002:\ncd _loop0x00000001/imm32 \n_break0x00000001:\n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-2&quot;</span>)
+<span id="L368" class="LineNr">368 </span>    (<a href='../064write-byte.subx.html#L79'>flush</a> _test-output-buffered-file)
+<span id="L369" class="Folded">369 </span><span class="Folded">+--  5 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
+<span id="L374" class="LineNr">374 </span>    (<a href='../058stream-equal.subx.html#L193'>check-stream-equal</a> <a href='../064write-byte.subx.html#L290'>_test-output-stream</a> <span class="Constant">&quot;_loop0x00000001:\n_loop0x00000002:\nab _break0x00000002/imm32 \n_break0x00000002:\ncd _loop0x00000001/imm32 \n_break0x00000001:\n&quot;</span> <span class="Constant">&quot;F - test-subx-braces-2&quot;</span>)
 <span id="L375" class="LineNr">375 </span>    <span class="subxS1Comment"># . epilog</span>
 <span id="L376" class="LineNr">376 </span>    89/&lt;- %esp 5/r32/ebp
 <span id="L377" class="LineNr">377 </span>    5d/pop-to-ebp
@@ -475,19 +475,19 @@ if ('onhashchange' in window) {
 <span id="L427" class="LineNr">427 </span>    68/push 14/imm32/top
 <span id="L428" class="LineNr">428 </span>    89/&lt;- %ecx 4/r32/esp
 <span id="L429" class="LineNr">429 </span>    <span class="subxComment"># clear</span>
-<span id="L430" class="LineNr">430 </span>    (clear-stack %ecx)
+<span id="L430" class="LineNr">430 </span>    (<a href='braces.subx.html#L387'>clear-stack</a> %ecx)
 <span id="L431" class="LineNr">431 </span>    <span class="subxComment"># top should be 0</span>
 <span id="L432" class="LineNr">432 </span>    58/pop-to-eax
-<span id="L433" class="LineNr">433 </span>    (check-ints-equal %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: top&quot;</span>)
+<span id="L433" class="LineNr">433 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: top&quot;</span>)
 <span id="L434" class="LineNr">434 </span>    <span class="subxComment"># length should remain 8</span>
 <span id="L435" class="LineNr">435 </span>    58/pop-to-eax
-<span id="L436" class="LineNr">436 </span>    (check-ints-equal %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: length&quot;</span>)
+<span id="L436" class="LineNr">436 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: length&quot;</span>)
 <span id="L437" class="LineNr">437 </span>    <span class="subxComment"># first word is 0</span>
 <span id="L438" class="LineNr">438 </span>    58/pop-to-eax
-<span id="L439" class="LineNr">439 </span>    (check-ints-equal %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: data[0..3]&quot;</span>)
+<span id="L439" class="LineNr">439 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: data[0..3]&quot;</span>)
 <span id="L440" class="LineNr">440 </span>    <span class="subxComment"># second word is 0</span>
 <span id="L441" class="LineNr">441 </span>    58/pop-to-eax
-<span id="L442" class="LineNr">442 </span>    (check-ints-equal %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: data[4..7]&quot;</span>)
+<span id="L442" class="LineNr">442 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L422'>test-clear-stack</a>: data[4..7]&quot;</span>)
 <span id="L443" class="LineNr">443 </span>    c3/return
 <span id="L444" class="LineNr">444 </span>
 <span id="L445" class="LineNr">445 </span><span class="subxFunction">push</span>:  <span class="subxComment"># s : (address stack), n : int</span>
@@ -551,19 +551,19 @@ if ('onhashchange' in window) {
 <span id="L503" class="LineNr">503 </span>    68/push 0/imm32/top
 <span id="L504" class="LineNr">504 </span>    89/&lt;- %ecx 4/r32/esp
 <span id="L505" class="LineNr">505 </span>    <span class="subxComment">#</span>
-<span id="L506" class="LineNr">506 </span>    (push %ecx 42)
+<span id="L506" class="LineNr">506 </span>    (<a href='braces.subx.html#L445'>push</a> %ecx 42)
 <span id="L507" class="LineNr">507 </span>    <span class="subxComment"># top</span>
 <span id="L508" class="LineNr">508 </span>    58/pop-to-eax
-<span id="L509" class="LineNr">509 </span>    (check-ints-equal %eax 4 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: top&quot;</span>)
+<span id="L509" class="LineNr">509 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 4 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: top&quot;</span>)
 <span id="L510" class="LineNr">510 </span>    <span class="subxComment"># length</span>
 <span id="L511" class="LineNr">511 </span>    58/pop-to-eax
-<span id="L512" class="LineNr">512 </span>    (check-ints-equal %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: length&quot;</span>)
+<span id="L512" class="LineNr">512 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: length&quot;</span>)
 <span id="L513" class="LineNr">513 </span>    <span class="subxComment"># first word is 42</span>
 <span id="L514" class="LineNr">514 </span>    58/pop-to-eax
-<span id="L515" class="LineNr">515 </span>    (check-ints-equal %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: data[0..3]&quot;</span>)
+<span id="L515" class="LineNr">515 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: data[0..3]&quot;</span>)
 <span id="L516" class="LineNr">516 </span>    <span class="subxComment"># second word is 0</span>
 <span id="L517" class="LineNr">517 </span>    58/pop-to-eax
-<span id="L518" class="LineNr">518 </span>    (check-ints-equal %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: data[4..7]&quot;</span>)
+<span id="L518" class="LineNr">518 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L498'>test-push</a>: data[4..7]&quot;</span>)
 <span id="L519" class="LineNr">519 </span>    c3/return
 <span id="L520" class="LineNr">520 </span>
 <span id="L521" class="LineNr">521 </span><span class="subxFunction">pop</span>:  <span class="subxComment"># s : (address stack) -&gt; n/eax : int</span>
@@ -623,15 +623,15 @@ if ('onhashchange' in window) {
 <span id="L575" class="LineNr">575 </span>    68/push 4/imm32/top
 <span id="L576" class="LineNr">576 </span>    89/&lt;- %ecx 4/r32/esp
 <span id="L577" class="LineNr">577 </span>    <span class="subxComment">#</span>
-<span id="L578" class="LineNr">578 </span>    (pop %ecx)  <span class="subxComment"># =&gt; eax</span>
+<span id="L578" class="LineNr">578 </span>    (<a href='braces.subx.html#L521'>pop</a> %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L579" class="LineNr">579 </span>    <span class="subxComment"># result</span>
-<span id="L580" class="LineNr">580 </span>    (check-ints-equal %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: result&quot;</span>)
+<span id="L580" class="LineNr">580 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: result&quot;</span>)
 <span id="L581" class="LineNr">581 </span>    <span class="subxComment"># top</span>
 <span id="L582" class="LineNr">582 </span>    58/pop-to-eax
-<span id="L583" class="LineNr">583 </span>    (check-ints-equal %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: top&quot;</span>)
+<span id="L583" class="LineNr">583 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 0 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: top&quot;</span>)
 <span id="L584" class="LineNr">584 </span>    <span class="subxComment"># length</span>
 <span id="L585" class="LineNr">585 </span>    58/pop-to-eax
-<span id="L586" class="LineNr">586 </span>    (check-ints-equal %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: length&quot;</span>)
+<span id="L586" class="LineNr">586 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 8 <span class="Constant">&quot;F - <a href='braces.subx.html#L570'>test-pop</a>: length&quot;</span>)
 <span id="L587" class="LineNr">587 </span>    <span class="subxComment"># clean up</span>
 <span id="L588" class="LineNr">588 </span>    81 0/subop/add %esp 8/imm32
 <span id="L589" class="LineNr">589 </span>    c3/return
@@ -692,9 +692,9 @@ if ('onhashchange' in window) {
 <span id="L644" class="LineNr">644 </span>    68/push 4/imm32/top
 <span id="L645" class="LineNr">645 </span>    89/&lt;- %ecx 4/r32/esp
 <span id="L646" class="LineNr">646 </span>    <span class="subxComment">#</span>
-<span id="L647" class="LineNr">647 </span>    (top %ecx)  <span class="subxComment"># =&gt; eax</span>
+<span id="L647" class="LineNr">647 </span>    (<a href='braces.subx.html#L591'>top</a> %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L648" class="LineNr">648 </span>    <span class="subxComment"># result</span>
-<span id="L649" class="LineNr">649 </span>    (check-ints-equal %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L639'>test-top</a>: result&quot;</span>)
+<span id="L649" class="LineNr">649 </span>    (<a href='../051test.subx.html#L24'>check-ints-equal</a> %eax 42 <span class="Constant">&quot;F - <a href='braces.subx.html#L639'>test-top</a>: result&quot;</span>)
 <span id="L650" class="LineNr">650 </span>    <span class="subxComment"># clean up</span>
 <span id="L651" class="LineNr">651 </span>    81 0/subop/add %esp 0x10/imm32
 <span id="L652" class="LineNr">652 </span>    c3/return
diff --git a/html/apps/calls.subx.html b/html/apps/calls.subx.html
index 441dd54c..5fe3e463 100644
--- a/html/apps/calls.subx.html
+++ b/html/apps/calls.subx.html
@@ -332,7 +332,7 @@ if ('onhashchange' in window) {
 <span id="L271" class="LineNr"> 271 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
 <span id="L272" class="LineNr"> 272 </span>    3d/compare-eax-and 0/imm32
 <span id="L273" class="LineNr"> 273 </span>    0f 85/jump-if-not-equal $parse-line:end/disp32
-<span id="L274" class="Folded"> 274 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L274" class="Folded"> 274 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L320" class="LineNr"> 320 </span><span class="Constant">$parse-line:write-word</span>:
 <span id="L321" class="LineNr"> 321 </span>    <span class="subxComment"># write-int(words, word-slice-&gt;start)</span>
 <span id="L322" class="LineNr"> 322 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -697,7 +697,7 @@ if ('onhashchange' in window) {
 <span id="L681" class="LineNr"> 681 </span>    e8/call <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L682" class="LineNr"> 682 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L683" class="LineNr"> 683 </span>    81 0/subop/add %esp 4/imm32
-<span id="L684" class="Folded"> 684 </span><span class="Folded">+-- 33 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L684" class="Folded"> 684 </span><span class="Folded">+-- 33 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L717" class="LineNr"> 717 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;# . (foo %eax)&quot;, msg)</span>
 <span id="L718" class="LineNr"> 718 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L719" class="LineNr"> 719 </span>    68/push <span class="Constant">&quot;F - <a href='calls.subx.html#L623'>test-subx-calls-processes-calls</a>: comment&quot;</span>/imm32
diff --git a/html/apps/dquotes.subx.html b/html/apps/dquotes.subx.html
index c007fe7b..61cfe70a 100644
--- a/html/apps/dquotes.subx.html
+++ b/html/apps/dquotes.subx.html
@@ -591,7 +591,7 @@ if ('onhashchange' in window) {
 <span id="L528" class="LineNr"> 528 </span>    <span class="subxComment">#   == data 0x2</span>
 <span id="L529" class="LineNr"> 529 </span>    <span class="subxComment">#   4 5/imm32</span>
 <span id="L530" class="LineNr"> 530 </span>    <span class="subxComment"># We don't care right now what exactly happens to comments. Trailing spaces are also minor details.</span>
-<span id="L531" class="Folded"> 531 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L531" class="Folded"> 531 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L557" class="LineNr"> 557 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;&quot;, msg)</span>
 <span id="L558" class="LineNr"> 558 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L559" class="LineNr"> 559 </span>    68/push  <span class="Constant">&quot;F - <a href='dquotes.subx.html#L386'>test-subx-dquotes-is-idempotent-by-default</a>/0&quot;</span>/imm32
@@ -772,7 +772,7 @@ if ('onhashchange' in window) {
 <span id="L734" class="LineNr"> 734 </span>    <span class="subxComment"># called. We just want to make sure instructions using string literals</span>
 <span id="L735" class="LineNr"> 735 </span>    <span class="subxComment"># switch to a string variable with the right value.</span>
 <span id="L736" class="LineNr"> 736 </span>    <span class="subxComment"># (Modifying string literals completely off the radar for now.)</span>
-<span id="L737" class="Folded"> 737 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L737" class="Folded"> 737 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L770" class="LineNr"> 770 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;== code 0x1 &quot;, msg)</span>
 <span id="L771" class="LineNr"> 771 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L772" class="LineNr"> 772 </span>    68/push  <span class="Constant">&quot;F - <a href='dquotes.subx.html#L643'>test-subx-dquotes-processes-string-literals</a>/0&quot;</span>/imm32
@@ -1086,7 +1086,7 @@ if ('onhashchange' in window) {
 <span id="L1080" class="LineNr">1080 </span>    e8/call  <a href='dquotes.subx.html#L848'>emit-string-literal-data</a>/disp32
 <span id="L1081" class="LineNr">1081 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1082" class="LineNr">1082 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1083" class="Folded">1083 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1083" class="Folded">1083 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1109" class="LineNr">1109 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;3/imm32 61/a 62/b 63/c &quot;, msg)</span>
 <span id="L1110" class="LineNr">1110 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1111" class="LineNr">1111 </span>    68/push  <span class="Constant">&quot;F - test-emit-string-literal-data&quot;</span>/imm32
@@ -1125,7 +1125,7 @@ if ('onhashchange' in window) {
 <span id="L1144" class="LineNr">1144 </span>    e8/call  <a href='dquotes.subx.html#L848'>emit-string-literal-data</a>/disp32
 <span id="L1145" class="LineNr">1145 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1146" class="LineNr">1146 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1147" class="Folded">1147 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1147" class="Folded">1147 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1173" class="LineNr">1173 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;0/imm32 &quot;, msg)</span>
 <span id="L1174" class="LineNr">1174 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1175" class="LineNr">1175 </span>    68/push  <span class="Constant">&quot;F - test-emit-string-literal-data-empty&quot;</span>/imm32
@@ -1165,7 +1165,7 @@ if ('onhashchange' in window) {
 <span id="L1209" class="LineNr">1209 </span>    e8/call  <a href='dquotes.subx.html#L848'>emit-string-literal-data</a>/disp32
 <span id="L1210" class="LineNr">1210 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1211" class="LineNr">1211 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1212" class="Folded">1212 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1212" class="Folded">1212 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1238" class="LineNr">1238 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;3/imm32 61/a 20 62/b &quot;, msg)  # ideally we'd like to say '20/space' but that requires managing names for codepoints</span>
 <span id="L1239" class="LineNr">1239 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1240" class="LineNr">1240 </span>    68/push  <span class="Constant">&quot;F - test-emit-string-literal-data-no-metadata-for-non-alphanumerics&quot;</span>/imm32
@@ -1204,7 +1204,7 @@ if ('onhashchange' in window) {
 <span id="L1273" class="LineNr">1273 </span>    e8/call  <a href='dquotes.subx.html#L848'>emit-string-literal-data</a>/disp32
 <span id="L1274" class="LineNr">1274 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1275" class="LineNr">1275 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1276" class="Folded">1276 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1276" class="Folded">1276 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1302" class="LineNr">1302 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;3/imm32 61/a 22 62/b &quot;, msg)</span>
 <span id="L1303" class="LineNr">1303 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1304" class="LineNr">1304 </span>    68/push  <span class="Constant">&quot;F - test-emit-string-literal-data-handles-escape-sequences&quot;</span>/imm32
@@ -1243,7 +1243,7 @@ if ('onhashchange' in window) {
 <span id="L1337" class="LineNr">1337 </span>    e8/call  <a href='dquotes.subx.html#L848'>emit-string-literal-data</a>/disp32
 <span id="L1338" class="LineNr">1338 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1339" class="LineNr">1339 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1340" class="Folded">1340 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1340" class="Folded">1340 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1366" class="LineNr">1366 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;3/imm32 61/a 0a 62/b &quot;, msg)</span>
 <span id="L1367" class="LineNr">1367 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1368" class="LineNr">1368 </span>    68/push  <span class="Constant">&quot;F - test-emit-string-literal-data-handles-newline-escape&quot;</span>/imm32
@@ -1628,7 +1628,7 @@ if ('onhashchange' in window) {
 <span id="L1747" class="LineNr">1747 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1748" class="LineNr">1748 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1749" class="LineNr">1749 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1750" class="Folded">1750 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1750" class="Folded">1750 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1776" class="LineNr">1776 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;/ghi&quot;, msg)  # important that there's no leading space</span>
 <span id="L1777" class="LineNr">1777 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1778" class="LineNr">1778 </span>    68/push  <span class="Constant">&quot;F - test-emit-metadata-in-string-literal&quot;</span>/imm32
diff --git a/html/apps/mulisp.subx.html b/html/apps/mulisp.subx.html
index a979613d..2013a7ed 100644
--- a/html/apps/mulisp.subx.html
+++ b/html/apps/mulisp.subx.html
@@ -71,12 +71,12 @@ if ('onhashchange' in window) {
 <span id="L14" class="LineNr"> 14 </span>    <span class="subxS1Comment"># . prolog</span>
 <span id="L15" class="LineNr"> 15 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L16" class="LineNr"> 16 </span>    <span class="subxComment"># initialize heap</span>
-<span id="L17" class="LineNr"> 17 </span>    (new-segment <span class="SpecialChar"><a href='../069allocate.subx.html#L29'>Heap-size</a></span> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>)
+<span id="L17" class="LineNr"> 17 </span>    (<a href='../053new-segment.subx.html#L41'>new-segment</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L29'>Heap-size</a></span> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>)
 <span id="L18" class="LineNr"> 18 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L19" class="LineNr"> 19 </span>    81 7/subop/compare *ebp 1/imm32
 <span id="L20" class="LineNr"> 20 </span>    7e/jump-if-lesser-or-equal $run-main/disp8
 <span id="L21" class="LineNr"> 21 </span>    <span class="subxComment"># if (argv[1] != &quot;test&quot;)) goto run-main</span>
-<span id="L22" class="LineNr"> 22 </span>    (kernel-string-equal? *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
+<span id="L22" class="LineNr"> 22 </span>    (<a href='../052kernel-string-equal.subx.html#L31'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L23" class="LineNr"> 23 </span>    3d/compare-eax-and 0/imm32
 <span id="L24" class="LineNr"> 24 </span>    74/jump-if-equal $run-main/disp8
 <span id="L25" class="LineNr"> 25 </span>    <span class="subxComment">#</span>
@@ -85,7 +85,7 @@ if ('onhashchange' in window) {
 <span id="L28" class="LineNr"> 28 </span>    8b/-&gt; *<span class="SpecialChar"><a href='../051test.subx.html#L90'>Num-test-failures</a></span> 3/r32/ebx
 <span id="L29" class="LineNr"> 29 </span>    eb/jump $main:end/disp8
 <span id="L30" class="LineNr"> 30 </span><span class="Constant">$run-main</span>:
-<span id="L31" class="LineNr"> 31 </span>    (repl <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
+<span id="L31" class="LineNr"> 31 </span>    (<a href='mulisp.subx.html#L76'>repl</a> <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
 <span id="L32" class="LineNr"> 32 </span>    <span class="subxComment"># syscall(exit, 0)</span>
 <span id="L33" class="LineNr"> 33 </span>    bb/copy-to-ebx 0/imm32
 <span id="L34" class="LineNr"> 34 </span><span class="Constant">$main:end</span>:
@@ -137,13 +137,13 @@ if ('onhashchange' in window) {
 <span id="L80" class="LineNr"> 80 </span>    <span class="subxS1Comment"># . save registers</span>
 <span id="L81" class="LineNr"> 81 </span>    50/push-eax
 <span id="L82" class="LineNr"> 82 </span><span class="Constant">$repl:loop</span>:
-<span id="L83" class="LineNr"> 83 </span>    (lisp-read <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span>)  <span class="subxComment"># =&gt; eax : (address cell)</span>
+<span id="L83" class="LineNr"> 83 </span>    (<a href='mulisp.subx.html#L106'>lisp-read</a> <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span>)  <span class="subxComment"># =&gt; eax : (address cell)</span>
 <span id="L84" class="LineNr"> 84 </span>    <span class="subxComment"># if (eax == 0) break</span>
 <span id="L85" class="LineNr"> 85 </span>    3d/compare-eax-and 0/imm32
 <span id="L86" class="LineNr"> 86 </span>    74/jump-if-equal $repl:end/disp8
 <span id="L87" class="LineNr"> 87 </span>    <span class="subxComment">#</span>
-<span id="L88" class="LineNr"> 88 </span>    (lisp-eval %eax)  <span class="subxComment"># =&gt; eax : (address cell)</span>
-<span id="L89" class="LineNr"> 89 </span>    (lisp-print <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> %eax)
+<span id="L88" class="LineNr"> 88 </span>    (<a href='mulisp.subx.html#L195'>lisp-eval</a> %eax)  <span class="subxComment"># =&gt; eax : (address cell)</span>
+<span id="L89" class="LineNr"> 89 </span>    (<a href='mulisp.subx.html#L208'>lisp-print</a> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> %eax)
 <span id="L90" class="LineNr"> 90 </span>    <span class="subxComment"># loop</span>
 <span id="L91" class="LineNr"> 91 </span>    eb/jump $repl:<span class="Constant">loop</span>/disp8
 <span id="L92" class="LineNr"> 92 </span><span class="Constant">$repl:end</span>:
@@ -174,8 +174,8 @@ if ('onhashchange' in window) {
 <span id="L117" class="LineNr">117 </span>    89/&lt;- %ecx 4/r32/esp
 <span id="L118" class="LineNr">118 </span><span class="Constant">$lisp-read:loop</span>:
 <span id="L119" class="LineNr">119 </span>    <span class="subxComment"># read line into s</span>
-<span id="L120" class="LineNr">120 </span>    (clear-stream %ecx)
-<span id="L121" class="LineNr">121 </span>    (read-line-buffered *(ebp+8) %ecx)
+<span id="L120" class="LineNr">120 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> %ecx)
+<span id="L121" class="LineNr">121 </span>    (<a href='../071read-line.subx.html#L9'>read-line-buffered</a> *(ebp+8) %ecx)
 <span id="L122" class="LineNr">122 </span>    <span class="subxComment"># if (s-&gt;write == 0) return null</span>
 <span id="L123" class="LineNr">123 </span>    81 7/subop/compare *ecx 0/imm32
 <span id="L124" class="LineNr">124 </span>    75/jump-if-not-equal $lisp-read:<span class="Constant">loop</span>/disp8
@@ -268,9 +268,9 @@ if ('onhashchange' in window) {
 <span id="L211" class="LineNr">211 </span>    89/&lt;- %ebp 4/r32/esp
 <span id="L212" class="LineNr">212 </span>    <span class="subxS1Comment"># . save registers</span>
 <span id="L213" class="LineNr">213 </span>    <span class="subxComment"># write(x)</span>
-<span id="L214" class="LineNr">214 </span>    (write-buffered <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> <span class="Constant">&quot;=&gt; &quot;</span>)
-<span id="L215" class="LineNr">215 </span>    (write-stream-data <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> *(ebp+0xc))
-<span id="L216" class="LineNr">216 </span>    (flush <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
+<span id="L214" class="LineNr">214 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> <span class="Constant">&quot;=&gt; &quot;</span>)
+<span id="L215" class="LineNr">215 </span>    (<a href='../074write-stream-data.subx.html#L11'>write-stream-data</a> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> *(ebp+0xc))
+<span id="L216" class="LineNr">216 </span>    (<a href='../064write-byte.subx.html#L79'>flush</a> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span>)
 <span id="L217" class="LineNr">217 </span><span class="Constant">$lisp-print:end</span>:
 <span id="L218" class="LineNr">218 </span>    <span class="subxS1Comment"># . restore registers</span>
 <span id="L219" class="LineNr">219 </span>    <span class="subxS1Comment"># . epilog</span>
diff --git a/html/apps/pack.subx.html b/html/apps/pack.subx.html
index 86267ee6..d9c90ebc 100644
--- a/html/apps/pack.subx.html
+++ b/html/apps/pack.subx.html
@@ -222,7 +222,7 @@ if ('onhashchange' in window) {
 <span id="L160" class="LineNr"> 160 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L161" class="LineNr"> 161 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
 <span id="L162" class="LineNr"> 162 </span>    0f 84/jump-if-equal  $subx-pack:<span class="Constant">break</span>/disp32
-<span id="L163" class="Folded"> 163 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L163" class="Folded"> 163 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L189" class="LineNr"> 189 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L190" class="LineNr"> 190 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L191" class="LineNr"> 191 </span>    52/push-edx
@@ -244,7 +244,7 @@ if ('onhashchange' in window) {
 <span id="L207" class="LineNr"> 207 </span>    3d/compare-eax-and  0/imm32
 <span id="L208" class="LineNr"> 208 </span>    0f 85/jump-if-not-equal  $subx-pack:pass-through/disp32
 <span id="L209" class="LineNr"> 209 </span><span class="Constant">$subx-pack:check2</span>:
-<span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L252" class="LineNr"> 252 </span>    <span class="subxComment"># if (!slice-equal?(word-slice, &quot;==&quot;)) goto next check</span>
 <span id="L253" class="LineNr"> 253 </span>    <span class="subxS1Comment"># . eax = slice-equal?(word-slice, &quot;==&quot;)</span>
 <span id="L254" class="LineNr"> 254 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -265,7 +265,7 @@ if ('onhashchange' in window) {
 <span id="L269" class="LineNr"> 269 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L270" class="LineNr"> 270 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L271" class="LineNr"> 271 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L272" class="Folded"> 272 </span><span class="Folded">+-- 42 lines: #?     # dump segment name -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L272" class="Folded"> 272 </span><span class="Folded">+-- 42 lines: #?     # dump segment name ---------------------------------------------------------------------------------------------------------------------</span>
 <span id="L314" class="LineNr"> 314 </span>    <span class="subxComment"># in-code? = slice-equal?(word-slice, &quot;code&quot;)</span>
 <span id="L315" class="LineNr"> 315 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L316" class="LineNr"> 316 </span>    68/push  <span class="Constant">&quot;code&quot;</span>/imm32
@@ -642,7 +642,7 @@ if ('onhashchange' in window) {
 <span id="L687" class="LineNr"> 687 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L688" class="LineNr"> 688 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L689" class="LineNr"> 689 </span>    <span class="subxComment"># check output</span>
-<span id="L690" class="Folded"> 690 </span><span class="Folded">+-- 26 lines: #?     # debug print -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L690" class="Folded"> 690 </span><span class="Folded">+-- 26 lines: #?     # debug print ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L716" class="LineNr"> 716 </span>    <span class="subxS1Comment"># . flush(_test-output-buffered-file)</span>
 <span id="L717" class="LineNr"> 717 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L718" class="LineNr"> 718 </span>    68/push  <a href='../064write-byte.subx.html#L332'>_test-output-buffered-file</a>/imm32
@@ -780,7 +780,7 @@ if ('onhashchange' in window) {
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxComment">#   68 20  # 68/push 0x20/imm8</span>
 <span id="L851" class="LineNr"> 851 </span>    <span class="subxComment">#   == data 0x2</span>
 <span id="L852" class="LineNr"> 852 </span>    <span class="subxComment">#   03 04 00 00 00</span>
-<span id="L853" class="Folded"> 853 </span><span class="Folded">+-- 26 lines: #?     # debug print -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L853" class="Folded"> 853 </span><span class="Folded">+-- 26 lines: #?     # debug print ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L879" class="LineNr"> 879 </span>    <span class="subxS1Comment"># . flush(_test-output-buffered-file)</span>
 <span id="L880" class="LineNr"> 880 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L881" class="LineNr"> 881 </span>    68/push  <a href='../064write-byte.subx.html#L332'>_test-output-buffered-file</a>/imm32
@@ -869,7 +869,7 @@ if ('onhashchange' in window) {
 <span id="L964" class="LineNr"> 964 </span>    68/push  0/imm32/end
 <span id="L965" class="LineNr"> 965 </span>    68/push  0/imm32/start
 <span id="L966" class="LineNr"> 966 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
-<span id="L967" class="Folded"> 967 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L967" class="Folded"> 967 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L993" class="LineNr"> 993 </span><span class="Constant">$convert-data:loop</span>:
 <span id="L994" class="LineNr"> 994 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L995" class="LineNr"> 995 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -879,7 +879,7 @@ if ('onhashchange' in window) {
 <span id="L999" class="LineNr"> 999 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L1000" class="LineNr">1000 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1001" class="LineNr">1001 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1002" class="Folded">1002 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1002" class="Folded">1002 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1044" class="LineNr">1044 </span><span class="Constant">$convert-data:check0</span>:
 <span id="L1045" class="LineNr">1045 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L1046" class="LineNr">1046 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -1044,7 +1044,7 @@ if ('onhashchange' in window) {
 <span id="L1205" class="LineNr">1205 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1206" class="LineNr">1206 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1207" class="LineNr">1207 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1208" class="Folded">1208 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1208" class="Folded">1208 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1234" class="LineNr">1234 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;# abcd&quot;, msg)</span>
 <span id="L1235" class="LineNr">1235 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1236" class="LineNr">1236 </span>    68/push  <span class="Constant">&quot;F - test-convert-data-passes-comments-through&quot;</span>/imm32
@@ -1523,7 +1523,7 @@ if ('onhashchange' in window) {
 <span id="L1709" class="LineNr">1709 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1710" class="LineNr">1710 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1711" class="LineNr">1711 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1712" class="Folded">1712 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1712" class="Folded">1712 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1738" class="LineNr">1738 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;30 abcd/o 42 e1 00 00 \n&quot;, msg)</span>
 <span id="L1739" class="LineNr">1739 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1740" class="LineNr">1740 </span>    68/push  <span class="Constant">&quot;F - test-convert-data-multiple-words&quot;</span>/imm32
@@ -1592,7 +1592,7 @@ if ('onhashchange' in window) {
 <span id="L1803" class="LineNr">1803 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1804" class="LineNr">1804 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1805" class="LineNr">1805 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1806" class="Folded">1806 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1806" class="Folded">1806 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1832" class="LineNr">1832 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;30 00 00 00 # comment&quot;, msg)</span>
 <span id="L1833" class="LineNr">1833 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1834" class="LineNr">1834 </span>    68/push  <span class="Constant">&quot;F - test-convert-data-trailing-comment&quot;</span>/imm32
@@ -2112,7 +2112,7 @@ if ('onhashchange' in window) {
 <span id="L2348" class="LineNr">2348 </span>    e8/call  <a href='../055stream.subx.html#L54'>rewind-stream</a>/disp32
 <span id="L2349" class="LineNr">2349 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2350" class="LineNr">2350 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2351" class="Folded">2351 </span><span class="Folded">+-- 33 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2351" class="Folded">2351 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2384" class="LineNr">2384 </span><span class="Constant">$emit-modrm:loop</span>:
 <span id="L2385" class="LineNr">2385 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L2386" class="LineNr">2386 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2122,7 +2122,7 @@ if ('onhashchange' in window) {
 <span id="L2390" class="LineNr">2390 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L2391" class="LineNr">2391 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2392" class="LineNr">2392 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2393" class="Folded">2393 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2393" class="Folded">2393 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2435" class="LineNr">2435 </span><span class="Constant">$emit-modrm:check0</span>:
 <span id="L2436" class="LineNr">2436 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L2437" class="LineNr">2437 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -2358,7 +2358,7 @@ if ('onhashchange' in window) {
 <span id="L2667" class="LineNr">2667 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2668" class="LineNr">2668 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2669" class="LineNr">2669 </span><span class="Constant">$emit-sib:loop</span>:
-<span id="L2670" class="Folded">2670 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2670" class="Folded">2670 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2696" class="LineNr">2696 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L2697" class="LineNr">2697 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2698" class="LineNr">2698 </span>    51/push-ecx
@@ -2367,7 +2367,7 @@ if ('onhashchange' in window) {
 <span id="L2701" class="LineNr">2701 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L2702" class="LineNr">2702 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2703" class="LineNr">2703 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2704" class="Folded">2704 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2704" class="Folded">2704 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2746" class="LineNr">2746 </span><span class="Constant">$emit-sib:check0</span>:
 <span id="L2747" class="LineNr">2747 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L2748" class="LineNr">2748 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -2556,7 +2556,7 @@ if ('onhashchange' in window) {
 <span id="L2931" class="LineNr">2931 </span>    e8/call  <a href='../055stream.subx.html#L54'>rewind-stream</a>/disp32
 <span id="L2932" class="LineNr">2932 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2933" class="LineNr">2933 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2934" class="Folded">2934 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2934" class="Folded">2934 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2960" class="LineNr">2960 </span><span class="Constant">$emit-disp:loop</span>:
 <span id="L2961" class="LineNr">2961 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L2962" class="LineNr">2962 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2566,7 +2566,7 @@ if ('onhashchange' in window) {
 <span id="L2966" class="LineNr">2966 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L2967" class="LineNr">2967 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2968" class="LineNr">2968 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2969" class="Folded">2969 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2969" class="Folded">2969 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3011" class="LineNr">3011 </span><span class="Constant">$emit-disp:check0</span>:
 <span id="L3012" class="LineNr">3012 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L3013" class="LineNr">3013 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -2711,7 +2711,7 @@ if ('onhashchange' in window) {
 <span id="L3152" class="LineNr">3152 </span>    e8/call  <a href='../055stream.subx.html#L54'>rewind-stream</a>/disp32
 <span id="L3153" class="LineNr">3153 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3154" class="LineNr">3154 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3155" class="Folded">3155 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3155" class="Folded">3155 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3181" class="LineNr">3181 </span><span class="Constant">$emit-imm:loop</span>:
 <span id="L3182" class="LineNr">3182 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L3183" class="LineNr">3183 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2721,7 +2721,7 @@ if ('onhashchange' in window) {
 <span id="L3187" class="LineNr">3187 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L3188" class="LineNr">3188 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3189" class="LineNr">3189 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3190" class="Folded">3190 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3190" class="Folded">3190 </span><span class="Folded">+-- 42 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3232" class="LineNr">3232 </span><span class="Constant">$emit-imm:check0</span>:
 <span id="L3233" class="LineNr">3233 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L3234" class="LineNr">3234 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -3046,7 +3046,7 @@ if ('onhashchange' in window) {
 <span id="L3553" class="LineNr">3553 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3554" class="LineNr">3554 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3555" class="LineNr">3555 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3556" class="Folded">3556 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3556" class="Folded">3556 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3582" class="LineNr">3582 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab  # ab/cd # comment&quot;, msg)</span>
 <span id="L3583" class="LineNr">3583 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3584" class="LineNr">3584 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-single-opcode&quot;</span>/imm32
@@ -3115,7 +3115,7 @@ if ('onhashchange' in window) {
 <span id="L3647" class="LineNr">3647 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3648" class="LineNr">3648 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3649" class="LineNr">3649 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3650" class="Folded">3650 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3650" class="Folded">3650 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3676" class="LineNr">3676 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;0f ab  # 0f/m1 ab/m2 # comment&quot;, msg)</span>
 <span id="L3677" class="LineNr">3677 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3678" class="LineNr">3678 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-0f-opcode&quot;</span>/imm32
@@ -3184,7 +3184,7 @@ if ('onhashchange' in window) {
 <span id="L3741" class="LineNr">3741 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3742" class="LineNr">3742 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3743" class="LineNr">3743 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3744" class="Folded">3744 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3744" class="Folded">3744 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3770" class="LineNr">3770 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f2 ab  # f2/m1 ab/m2 # comment&quot;, msg)</span>
 <span id="L3771" class="LineNr">3771 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3772" class="LineNr">3772 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-f2-opcode&quot;</span>/imm32
@@ -3253,7 +3253,7 @@ if ('onhashchange' in window) {
 <span id="L3835" class="LineNr">3835 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3836" class="LineNr">3836 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3837" class="LineNr">3837 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3838" class="Folded">3838 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3838" class="Folded">3838 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3864" class="LineNr">3864 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f3 ab  # f3/m1 ab/m2 # comment&quot;, msg)</span>
 <span id="L3865" class="LineNr">3865 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3866" class="LineNr">3866 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-f3-opcode&quot;</span>/imm32
@@ -3322,7 +3322,7 @@ if ('onhashchange' in window) {
 <span id="L3929" class="LineNr">3929 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3930" class="LineNr">3930 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3931" class="LineNr">3931 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3932" class="Folded">3932 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3932" class="Folded">3932 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3958" class="LineNr">3958 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f2 0f ab  # f2/m1 0f/m2 ab/m3 # comment&quot;, msg)</span>
 <span id="L3959" class="LineNr">3959 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3960" class="LineNr">3960 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-f2-0f-opcode&quot;</span>/imm32
@@ -3391,7 +3391,7 @@ if ('onhashchange' in window) {
 <span id="L4023" class="LineNr">4023 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4024" class="LineNr">4024 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4025" class="LineNr">4025 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4026" class="Folded">4026 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4026" class="Folded">4026 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4052" class="LineNr">4052 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f3 0f ab  # f3/m1 0f/m2 ab/m3 # comment&quot;, msg)</span>
 <span id="L4053" class="LineNr">4053 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4054" class="LineNr">4054 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-f3-0f-opcode&quot;</span>/imm32
@@ -3460,7 +3460,7 @@ if ('onhashchange' in window) {
 <span id="L4117" class="LineNr">4117 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4118" class="LineNr">4118 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4119" class="LineNr">4119 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4120" class="Folded">4120 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4120" class="Folded">4120 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4146" class="LineNr">4146 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab  # f3/m1 0f/m2 ab/m3 # comment&quot;, msg)</span>
 <span id="L4147" class="LineNr">4147 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4148" class="LineNr">4148 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-unused-opcodes&quot;</span>/imm32
@@ -3529,7 +3529,7 @@ if ('onhashchange' in window) {
 <span id="L4211" class="LineNr">4211 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4212" class="LineNr">4212 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4213" class="LineNr">4213 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4214" class="Folded">4214 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4214" class="Folded">4214 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4240" class="LineNr">4240 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f2 ab  # f2/m1 ab/m2 cd/m3 # comment&quot;, msg)</span>
 <span id="L4241" class="LineNr">4241 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4242" class="LineNr">4242 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-unused-second-opcodes&quot;</span>/imm32
@@ -3598,7 +3598,7 @@ if ('onhashchange' in window) {
 <span id="L4305" class="LineNr">4305 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4306" class="LineNr">4306 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4307" class="LineNr">4307 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4308" class="Folded">4308 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4308" class="Folded">4308 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4334" class="LineNr">4334 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;f3 ab  # f3/m1 ab/m2 cd/m3 # comment&quot;, msg)</span>
 <span id="L4335" class="LineNr">4335 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4336" class="LineNr">4336 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-unused-second-opcodes&quot;</span>/imm32
@@ -3667,7 +3667,7 @@ if ('onhashchange' in window) {
 <span id="L4399" class="LineNr">4399 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4400" class="LineNr">4400 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4401" class="LineNr">4401 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4402" class="Folded">4402 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4402" class="Folded">4402 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4428" class="LineNr">4428 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 08  # 8b/copy 0/mod 0/rm32 1/r32&quot;, msg)</span>
 <span id="L4429" class="LineNr">4429 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4430" class="LineNr">4430 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-modrm-byte&quot;</span>/imm32
@@ -3734,7 +3734,7 @@ if ('onhashchange' in window) {
 <span id="L4491" class="LineNr">4491 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4492" class="LineNr">4492 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4493" class="LineNr">4493 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4494" class="Folded">4494 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4494" class="Folded">4494 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4520" class="LineNr">4520 </span>    <span class="subxComment"># check output</span>
 <span id="L4521" class="LineNr">4521 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;# abcd&quot;, msg)</span>
 <span id="L4522" class="LineNr">4522 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -3804,7 +3804,7 @@ if ('onhashchange' in window) {
 <span id="L4586" class="LineNr">4586 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4587" class="LineNr">4587 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4588" class="LineNr">4588 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4589" class="Folded">4589 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4589" class="Folded">4589 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4615" class="LineNr">4615 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ff 30  # ff 6/subop/push 0/mod 0/rm32&quot;, msg)</span>
 <span id="L4616" class="LineNr">4616 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4617" class="LineNr">4617 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-modrm-byte-from-subop&quot;</span>/imm32
@@ -3873,7 +3873,7 @@ if ('onhashchange' in window) {
 <span id="L4680" class="LineNr">4680 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4681" class="LineNr">4681 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4682" class="LineNr">4682 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4683" class="Folded">4683 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4683" class="Folded">4683 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4709" class="LineNr">4709 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 08  # 8b/copy 0/rm32 1/r32&quot;, msg)</span>
 <span id="L4710" class="LineNr">4710 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4711" class="LineNr">4711 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-modrm-byte-with-missing-mod&quot;</span>/imm32
@@ -3942,7 +3942,7 @@ if ('onhashchange' in window) {
 <span id="L4774" class="LineNr">4774 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4775" class="LineNr">4775 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4776" class="LineNr">4776 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4777" class="Folded">4777 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4777" class="Folded">4777 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4803" class="LineNr">4803 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 08  # 8b/copy 0/mod 1/r32&quot;, msg)</span>
 <span id="L4804" class="LineNr">4804 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4805" class="LineNr">4805 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-modrm-byte-with-missing-rm32&quot;</span>/imm32
@@ -4011,7 +4011,7 @@ if ('onhashchange' in window) {
 <span id="L4868" class="LineNr">4868 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4869" class="LineNr">4869 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4870" class="LineNr">4870 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4871" class="Folded">4871 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4871" class="Folded">4871 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4897" class="LineNr">4897 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 00  # 8b/copy 0/mod 0/rm32&quot;, msg)</span>
 <span id="L4898" class="LineNr">4898 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4899" class="LineNr">4899 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-modrm-byte-with-missing-r32&quot;</span>/imm32
@@ -4080,7 +4080,7 @@ if ('onhashchange' in window) {
 <span id="L4962" class="LineNr">4962 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L4963" class="LineNr">4963 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4964" class="LineNr">4964 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4965" class="Folded">4965 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4965" class="Folded">4965 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4991" class="LineNr">4991 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 08  # 8b/copy 0/mod 4/rm32 1/r32 0/base 1/index 0/scale&quot;, msg)</span>
 <span id="L4992" class="LineNr">4992 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4993" class="LineNr">4993 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-sib-byte&quot;</span>/imm32
@@ -4149,7 +4149,7 @@ if ('onhashchange' in window) {
 <span id="L5056" class="LineNr">5056 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5057" class="LineNr">5057 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5058" class="LineNr">5058 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5059" class="Folded">5059 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5059" class="Folded">5059 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5085" class="LineNr">5085 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 0c 08  # 8b/copy 0/mod 4/rm32 1/r32 1/index 0/scale&quot;, msg)</span>
 <span id="L5086" class="LineNr">5086 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5087" class="LineNr">5087 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-sib-byte-with-missing-base&quot;</span>/imm32
@@ -4218,7 +4218,7 @@ if ('onhashchange' in window) {
 <span id="L5150" class="LineNr">5150 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5151" class="LineNr">5151 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5152" class="LineNr">5152 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5153" class="Folded">5153 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5153" class="Folded">5153 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5179" class="LineNr">5179 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 0c 08  # 8b/copy 0/mod 4/rm32 1/r32 0/base 0/scale&quot;, msg)</span>
 <span id="L5180" class="LineNr">5180 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5181" class="LineNr">5181 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-sib-byte-with-missing-index&quot;</span>/imm32
@@ -4287,7 +4287,7 @@ if ('onhashchange' in window) {
 <span id="L5244" class="LineNr">5244 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5245" class="LineNr">5245 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5246" class="LineNr">5246 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5247" class="Folded">5247 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5247" class="Folded">5247 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5273" class="LineNr">5273 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;8b 0c 08  # 8b/copy 0/mod 4/rm32 1/r32 0/base 1/index&quot;, msg)</span>
 <span id="L5274" class="LineNr">5274 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5275" class="LineNr">5275 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-emits-sib-byte-with-missing-scale&quot;</span>/imm32
@@ -4356,7 +4356,7 @@ if ('onhashchange' in window) {
 <span id="L5338" class="LineNr">5338 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5339" class="LineNr">5339 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5340" class="LineNr">5340 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5341" class="Folded">5341 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5341" class="Folded">5341 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5367" class="LineNr">5367 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;e8 20 00 00 00  # e8/call 20/disp32&quot;, msg)</span>
 <span id="L5368" class="LineNr">5368 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5369" class="LineNr">5369 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-disp32-operand&quot;</span>/imm32
@@ -4425,7 +4425,7 @@ if ('onhashchange' in window) {
 <span id="L5432" class="LineNr">5432 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5433" class="LineNr">5433 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5434" class="LineNr">5434 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5435" class="Folded">5435 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5435" class="Folded">5435 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5461" class="LineNr">5461 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;e8 20 00  # e8/call 20/disp16&quot;, msg)</span>
 <span id="L5462" class="LineNr">5462 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5463" class="LineNr">5463 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-disp16-operand&quot;</span>/imm32
@@ -4494,7 +4494,7 @@ if ('onhashchange' in window) {
 <span id="L5526" class="LineNr">5526 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5527" class="LineNr">5527 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5528" class="LineNr">5528 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5529" class="Folded">5529 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5529" class="Folded">5529 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5555" class="LineNr">5555 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;eb 20  # eb/jump 20/disp8&quot;, msg)</span>
 <span id="L5556" class="LineNr">5556 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5557" class="LineNr">5557 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-disp8-operand&quot;</span>/imm32
@@ -4563,7 +4563,7 @@ if ('onhashchange' in window) {
 <span id="L5620" class="LineNr">5620 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5621" class="LineNr">5621 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5622" class="LineNr">5622 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5623" class="Folded">5623 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5623" class="Folded">5623 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5649" class="LineNr">5649 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;eb xyz/disp8  # eb/jump xyz/disp8&quot;, msg)</span>
 <span id="L5650" class="LineNr">5650 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5651" class="LineNr">5651 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-disp8-name&quot;</span>/imm32
@@ -4632,7 +4632,7 @@ if ('onhashchange' in window) {
 <span id="L5714" class="LineNr">5714 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5715" class="LineNr">5715 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5716" class="LineNr">5716 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5717" class="Folded">5717 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5717" class="Folded">5717 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5743" class="LineNr">5743 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;68 20 00 00 00  # 68/push 0x20/imm32&quot;, msg)</span>
 <span id="L5744" class="LineNr">5744 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5745" class="LineNr">5745 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-imm32-operand&quot;</span>/imm32
@@ -4702,7 +4702,7 @@ if ('onhashchange' in window) {
 <span id="L5809" class="LineNr">5809 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5810" class="LineNr">5810 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5811" class="LineNr">5811 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5812" class="Folded">5812 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5812" class="Folded">5812 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5838" class="LineNr">5838 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;68 20 00  # 68/push 0x20/imm16&quot;, msg)</span>
 <span id="L5839" class="LineNr">5839 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5840" class="LineNr">5840 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-imm16-operand&quot;</span>/imm32
@@ -4772,7 +4772,7 @@ if ('onhashchange' in window) {
 <span id="L5904" class="LineNr">5904 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L5905" class="LineNr">5905 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5906" class="LineNr">5906 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L5907" class="Folded">5907 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L5907" class="Folded">5907 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L5933" class="LineNr">5933 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;68 20  # 68/push 0x20/imm8&quot;, msg)</span>
 <span id="L5934" class="LineNr">5934 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5935" class="LineNr">5935 </span>    68/push  <span class="Constant">&quot;F - test-convert-instruction-handles-imm8-operand&quot;</span>/imm32
diff --git a/html/apps/sigils.subx.html b/html/apps/sigils.subx.html
index 1449348e..101b5cf6 100644
--- a/html/apps/sigils.subx.html
+++ b/html/apps/sigils.subx.html
@@ -269,7 +269,7 @@ if ('onhashchange' in window) {
 <span id="L207" class="LineNr"> 207 </span>    3d/compare-eax-and  0x25/imm32/percent
 <span id="L208" class="LineNr"> 208 </span>    75/jump-if-not-equal  $subx-sigils:check-for-indirect-mode/disp8
 <span id="L209" class="LineNr"> 209 </span><span class="Constant">$subx-sigils:direct-mode</span>:
-<span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L256" class="LineNr"> 256 </span>    <span class="subxComment"># emit-direct-mode(out, word-slice)</span>
 <span id="L257" class="LineNr"> 257 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L258" class="LineNr"> 258 </span>    52/push-edx
@@ -515,7 +515,7 @@ if ('onhashchange' in window) {
 <span id="L498" class="LineNr"> 498 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L499" class="LineNr"> 499 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L500" class="LineNr"> 500 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L501" class="Folded"> 501 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L501" class="Folded"> 501 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L527" class="LineNr"> 527 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;== abcd 0x1 \n&quot;, msg)</span>
 <span id="L528" class="LineNr"> 528 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L529" class="LineNr"> 529 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-passes-most-words-through&quot;</span>/imm32
@@ -592,7 +592,7 @@ if ('onhashchange' in window) {
 <span id="L600" class="LineNr"> 600 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L601" class="LineNr"> 601 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L602" class="LineNr"> 602 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L603" class="Folded"> 603 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L603" class="Folded"> 603 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L629" class="LineNr"> 629 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 3/mod/direct 0x00000001/rm32 \n&quot;, msg)</span>
 <span id="L630" class="LineNr"> 630 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L631" class="LineNr"> 631 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-direct-mode&quot;</span>/imm32
@@ -745,7 +745,7 @@ if ('onhashchange' in window) {
 <span id="L778" class="LineNr"> 778 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L779" class="LineNr"> 779 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L780" class="LineNr"> 780 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L781" class="Folded"> 781 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L781" class="Folded"> 781 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L807" class="LineNr"> 807 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 0/mod/indirect 0x00000001/rm32 \n&quot;, msg)</span>
 <span id="L808" class="LineNr"> 808 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L809" class="LineNr"> 809 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-register-indirect-mode&quot;</span>/imm32
@@ -898,7 +898,7 @@ if ('onhashchange' in window) {
 <span id="L956" class="LineNr"> 956 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L957" class="LineNr"> 957 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L958" class="LineNr"> 958 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L959" class="Folded"> 959 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L959" class="Folded"> 959 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L985" class="LineNr"> 985 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 0/mod/indirect 1/rm32 \n&quot;, msg)</span>
 <span id="L986" class="LineNr"> 986 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L987" class="LineNr"> 987 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-register-indirect-mode-without-displacement&quot;</span>/imm32
@@ -975,7 +975,7 @@ if ('onhashchange' in window) {
 <span id="L1058" class="LineNr">1058 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1059" class="LineNr">1059 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1060" class="LineNr">1060 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1061" class="Folded">1061 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1061" class="Folded">1061 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L1087" class="LineNr">1087 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 2/mod/*+disp32 1/rm32 4/disp32 \n&quot;, msg)</span>
 <span id="L1088" class="LineNr">1088 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1089" class="LineNr">1089 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-register-indirect-mode-with-displacement&quot;</span>/imm32
@@ -1053,7 +1053,7 @@ if ('onhashchange' in window) {
 <span id="L1161" class="LineNr">1161 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1162" class="LineNr">1162 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1163" class="LineNr">1163 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1164" class="Folded">1164 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1164" class="Folded">1164 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L1190" class="LineNr">1190 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 2/mod/*+disp32 4/rm32/sib 1/base 2/index 3/scale 4/disp32 \n&quot;, msg)</span>
 <span id="L1191" class="LineNr">1191 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1192" class="LineNr">1192 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-register-indirect-mode-with-sib-byte&quot;</span>/imm32
@@ -1130,7 +1130,7 @@ if ('onhashchange' in window) {
 <span id="L1263" class="LineNr">1263 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1264" class="LineNr">1264 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1265" class="LineNr">1265 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1266" class="Folded">1266 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1266" class="Folded">1266 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L1292" class="LineNr">1292 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 2/mod/*+disp32 4/rm32/sib 1/base 2/index 3/scale -4/disp32 \n&quot;, msg)</span>
 <span id="L1293" class="LineNr">1293 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1294" class="LineNr">1294 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-register-indirect-mode-with-sib-byte-negative-displacement&quot;</span>/imm32
@@ -1207,7 +1207,7 @@ if ('onhashchange' in window) {
 <span id="L1365" class="LineNr">1365 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1366" class="LineNr">1366 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1367" class="LineNr">1367 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1368" class="Folded">1368 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1368" class="Folded">1368 </span><span class="Folded">+-- 26 lines: #?     # dump _test-output-stream --------------------------------------------------------------------------------------------------------------</span>
 <span id="L1394" class="LineNr">1394 </span>    <span class="subxS1Comment"># . check-stream-equal(_test-output-stream, &quot;ab 0/mod/indirect 5/rm32/.disp32 Foo/disp32 \n&quot;, msg)</span>
 <span id="L1395" class="LineNr">1395 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1396" class="LineNr">1396 </span>    68/push  <span class="Constant">&quot;F - test-subx-sigils-indirect-mode-without-register&quot;</span>/imm32
@@ -1335,7 +1335,7 @@ if ('onhashchange' in window) {
 <span id="L1518" class="LineNr">1518 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1519" class="LineNr">1519 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1520" class="LineNr">1520 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1521" class="Folded">1521 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1521" class="Folded">1521 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1547" class="LineNr">1547 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;3/mod/direct 0/rm32&quot;, msg)</span>
 <span id="L1548" class="LineNr">1548 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1549" class="LineNr">1549 </span>    68/push  <span class="Constant">&quot;F - <a href='sigils.subx.html#L1476'>test-emit-direct-mode</a>/0&quot;</span>/imm32
@@ -1395,7 +1395,7 @@ if ('onhashchange' in window) {
 <span id="L1603" class="LineNr">1603 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L1604" class="LineNr">1604 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1605" class="LineNr">1605 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L1606" class="Folded">1606 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1606" class="Folded">1606 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1632" class="LineNr">1632 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;3/mod/direct 7/rm32&quot;, msg)</span>
 <span id="L1633" class="LineNr">1633 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1634" class="LineNr">1634 </span>    68/push  <span class="Constant">&quot;F - <a href='sigils.subx.html#L1476'>test-emit-direct-mode</a>/1&quot;</span>/imm32
@@ -3175,7 +3175,7 @@ if ('onhashchange' in window) {
 <span id="L3408" class="LineNr">3408 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3409" class="LineNr">3409 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3410" class="LineNr">3410 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3411" class="Folded">3411 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3411" class="Folded">3411 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3437" class="LineNr">3437 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;0/mod/indirect 0/rm32&quot;, msg)</span>
 <span id="L3438" class="LineNr">3438 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3439" class="LineNr">3439 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode&quot;</span>/imm32
@@ -3229,7 +3229,7 @@ if ('onhashchange' in window) {
 <span id="L3487" class="LineNr">3487 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3488" class="LineNr">3488 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3489" class="LineNr">3489 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3490" class="Folded">3490 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3490" class="Folded">3490 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3516" class="LineNr">3516 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;0/mod/indirect 7/rm32&quot;, msg)</span>
 <span id="L3517" class="LineNr">3517 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3518" class="LineNr">3518 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-2&quot;</span>/imm32
@@ -3283,7 +3283,7 @@ if ('onhashchange' in window) {
 <span id="L3566" class="LineNr">3566 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3567" class="LineNr">3567 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3568" class="LineNr">3568 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3569" class="Folded">3569 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3569" class="Folded">3569 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3595" class="LineNr">3595 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;2/mod/*+disp32 6/rm32 4/disp32&quot;, msg)</span>
 <span id="L3596" class="LineNr">3596 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3597" class="LineNr">3597 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-with-disp&quot;</span>/imm32
@@ -3337,7 +3337,7 @@ if ('onhashchange' in window) {
 <span id="L3645" class="LineNr">3645 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3646" class="LineNr">3646 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3647" class="LineNr">3647 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3648" class="Folded">3648 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3648" class="Folded">3648 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3674" class="LineNr">3674 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;2/mod/*+disp32 6/rm32 -4/disp32&quot;, msg)</span>
 <span id="L3675" class="LineNr">3675 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3676" class="LineNr">3676 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-with-disp&quot;</span>/imm32
@@ -3391,7 +3391,7 @@ if ('onhashchange' in window) {
 <span id="L3724" class="LineNr">3724 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3725" class="LineNr">3725 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3726" class="LineNr">3726 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3727" class="Folded">3727 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3727" class="Folded">3727 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3753" class="LineNr">3753 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;2/mod/indirect 4/rm32/sib 6/base 1/index 2/scale 4/disp&quot;, msg)</span>
 <span id="L3754" class="LineNr">3754 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3755" class="LineNr">3755 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-with-sib&quot;</span>/imm32
@@ -3445,7 +3445,7 @@ if ('onhashchange' in window) {
 <span id="L3803" class="LineNr">3803 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3804" class="LineNr">3804 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3805" class="LineNr">3805 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3806" class="Folded">3806 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3806" class="Folded">3806 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3832" class="LineNr">3832 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;2/mod/*+disp32 4/rm32/sib 5/base/ebp 0/index 0/scale 0/disp32&quot;, msg)</span>
 <span id="L3833" class="LineNr">3833 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3834" class="LineNr">3834 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-ebp&quot;</span>/imm32
@@ -3499,7 +3499,7 @@ if ('onhashchange' in window) {
 <span id="L3882" class="LineNr">3882 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3883" class="LineNr">3883 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3884" class="LineNr">3884 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3885" class="Folded">3885 </span><span class="Folded">+-- 26 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3885" class="Folded">3885 </span><span class="Folded">+-- 26 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3911" class="LineNr">3911 </span>    <span class="subxComment"># check-stream-equal(_test-output-stream, &quot;2/mod/*+disp32 4/rm32/sib 4/base/ebp 0/index 0/scale 0/disp32&quot;, msg)</span>
 <span id="L3912" class="LineNr">3912 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3913" class="LineNr">3913 </span>    68/push  <span class="Constant">&quot;F - test-emit-indirect-mode-esp&quot;</span>/imm32
diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html
index 9a6b30d1..b9dfa341 100644
--- a/html/apps/survey.subx.html
+++ b/html/apps/survey.subx.html
@@ -220,8 +220,8 @@ if ('onhashchange' in window) {
 <span id="L157" class="LineNr"> 157 </span>    <span class="subxS1Comment"># . write</span>
 <span id="L158" class="LineNr"> 158 </span>    68/push  0/imm32/write
 <span id="L159" class="LineNr"> 159 </span>    89/copy                         3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to esi</span>
-<span id="L160" class="Folded"> 160 </span><span class="Folded">+-- 47 lines: #?     # dump labels-&gt;write ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L207" class="Folded"> 207 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;slurp in\n&quot;) -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L160" class="Folded"> 160 </span><span class="Folded">+-- 47 lines: #?     # dump labels-&gt;write --------------------------------------------------------------------------------------------------------------------</span>
+<span id="L207" class="Folded"> 207 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;slurp in\n&quot;) ---------------------------------------------------------------------------------------------------------</span>
 <span id="L216" class="LineNr"> 216 </span>    <span class="subxComment"># slurp(infile, in)</span>
 <span id="L217" class="LineNr"> 217 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L218" class="LineNr"> 218 </span>    56/push-esi
@@ -230,9 +230,9 @@ if ('onhashchange' in window) {
 <span id="L221" class="LineNr"> 221 </span>    e8/call  <a href='../082slurp.subx.html#L8'>slurp</a>/disp32
 <span id="L222" class="LineNr"> 222 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L223" class="LineNr"> 223 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L224" class="Folded"> 224 </span><span class="Folded">+-- 46 lines: #?     # dump labels-&gt;write ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L270" class="Folded"> 270 </span><span class="Folded">+-- 33 lines: #?     # dump in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L303" class="Folded"> 303 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;compute-offsets\n&quot;) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L224" class="Folded"> 224 </span><span class="Folded">+-- 46 lines: #?     # dump labels-&gt;write --------------------------------------------------------------------------------------------------------------------</span>
+<span id="L270" class="Folded"> 270 </span><span class="Folded">+-- 33 lines: #?     # dump in -------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L303" class="Folded"> 303 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;compute-offsets\n&quot;) --------------------------------------------------------------------------------------------------</span>
 <span id="L312" class="LineNr"> 312 </span>    <span class="subxComment"># compute-offsets(in, segments, labels)</span>
 <span id="L313" class="LineNr"> 313 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L314" class="LineNr"> 314 </span>    52/push-edx
@@ -242,7 +242,7 @@ if ('onhashchange' in window) {
 <span id="L318" class="LineNr"> 318 </span>    e8/call  <a href='survey.subx.html#L643'>compute-offsets</a>/disp32
 <span id="L319" class="LineNr"> 319 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L320" class="LineNr"> 320 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
-<span id="L321" class="Folded"> 321 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;compute-addresses\n&quot;) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L321" class="Folded"> 321 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;compute-addresses\n&quot;) ------------------------------------------------------------------------------------------------</span>
 <span id="L330" class="LineNr"> 330 </span>    <span class="subxComment"># compute-addresses(segments, labels)</span>
 <span id="L331" class="LineNr"> 331 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L332" class="LineNr"> 332 </span>    52/push-edx
@@ -258,9 +258,9 @@ if ('onhashchange' in window) {
 <span id="L342" class="LineNr"> 342 </span>    e8/call  <a href='../055stream.subx.html#L54'>rewind-stream</a>/disp32
 <span id="L343" class="LineNr"> 343 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L344" class="LineNr"> 344 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L345" class="Folded"> 345 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-output\n&quot;) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L354" class="Folded"> 354 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L380" class="Folded"> 380 </span><span class="Folded">+-- 46 lines: #?     # dump labels-&gt;write ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L345" class="Folded"> 345 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-output\n&quot;) ------------------------------------------------------------------------------------------------------</span>
+<span id="L354" class="Folded"> 354 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
+<span id="L380" class="Folded"> 380 </span><span class="Folded">+-- 46 lines: #?     # dump labels-&gt;write --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L426" class="LineNr"> 426 </span>    <span class="subxComment"># emit-output(in, out, segments, labels)</span>
 <span id="L427" class="LineNr"> 427 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L428" class="LineNr"> 428 </span>    52/push-edx
@@ -399,7 +399,7 @@ if ('onhashchange' in window) {
 <span id="L561" class="LineNr"> 561 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L562" class="LineNr"> 562 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L563" class="LineNr"> 563 </span>    <span class="subxComment"># check trace</span>
-<span id="L564" class="Folded"> 564 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L564" class="Folded"> 564 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L590" class="LineNr"> 590 </span>    <span class="subxS1Comment"># . check-trace-contains(&quot;label 'x' is at address 0x00001079.&quot;, msg)</span>
 <span id="L591" class="LineNr"> 591 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L592" class="LineNr"> 592 </span>    68/push  <span class="Constant">&quot;F - <a href='survey.subx.html#L455'>test-subx-survey-computes-addresses</a>/0&quot;</span>/imm32
@@ -551,7 +551,7 @@ if ('onhashchange' in window) {
 <span id="L738" class="LineNr"> 738 </span>    8b/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to eax</span>
 <span id="L739" class="LineNr"> 739 </span>    3d/compare-eax-and  0/imm32
 <span id="L740" class="LineNr"> 740 </span>    0f 84/jump-if-equal  $compute-offsets:break-line-loop/disp32
-<span id="L741" class="Folded"> 741 </span><span class="Folded">+-- 33 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L741" class="Folded"> 741 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L774" class="LineNr"> 774 </span><span class="Constant">$compute-offsets:word-loop</span>:
 <span id="L775" class="LineNr"> 775 </span>    <span class="subxComment"># edx = word-slice</span>
 <span id="L776" class="LineNr"> 776 </span>    ba/copy-to-edx  <a href='survey.subx.html#L643'>compute-offsets</a>:word-slice/imm32
@@ -561,7 +561,7 @@ if ('onhashchange' in window) {
 <span id="L780" class="LineNr"> 780 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L781" class="LineNr"> 781 </span>    <span class="subxS1Comment"># . discard args</span>
 <span id="L782" class="LineNr"> 782 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L783" class="Folded"> 783 </span><span class="Folded">+-- 80 lines: #?     # dump word-slice and maybe curr-segment-name ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L783" class="Folded"> 783 </span><span class="Folded">+-- 80 lines: #?     # dump word-slice and maybe curr-segment-name -------------------------------------------------------------------------------------------</span>
 <span id="L863" class="LineNr"> 863 </span><span class="Constant">$compute-offsets:case-empty</span>:
 <span id="L864" class="LineNr"> 864 </span>    <span class="subxComment"># if slice-empty?(word/edx) break</span>
 <span id="L865" class="LineNr"> 865 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word/edx)</span>
@@ -636,7 +636,7 @@ if ('onhashchange' in window) {
 <span id="L934" class="LineNr"> 934 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L935" class="LineNr"> 935 </span>    <span class="subxS1Comment"># . discard args</span>
 <span id="L936" class="LineNr"> 936 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L937" class="Folded"> 937 </span><span class="Folded">+-- 47 lines: #?     # dump curr-segment-name if not null (clobbering eax) -------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L937" class="Folded"> 937 </span><span class="Folded">+-- 47 lines: #?     # dump curr-segment-name if not null (clobbering eax) -----------------------------------------------------------------------------------</span>
 <span id="L984" class="LineNr"> 984 </span><span class="Constant">$compute-offsets:update-curr-segment-name</span>:
 <span id="L985" class="LineNr"> 985 </span>    <span class="subxComment"># curr-segment-name = slice-to-string(segment-tmp)</span>
 <span id="L986" class="LineNr"> 986 </span>    <span class="subxS1Comment"># . eax = slice-to-string(Heap, segment-tmp)</span>
@@ -776,7 +776,7 @@ if ('onhashchange' in window) {
 <span id="L1120" class="LineNr">1120 </span>    01/add                          0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <a href='survey.subx.html#L643'>compute-offsets</a>:segment-offset/disp32 <span class="subxComment"># add eax to *segment-offset</span>
 <span id="L1121" class="LineNr">1121 </span>    <span class="subxComment"># file-offset += width</span>
 <span id="L1122" class="LineNr">1122 </span>    01/add                          0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <a href='survey.subx.html#L643'>compute-offsets</a>:file-offset/disp32 <span class="subxComment"># add eax to *file-offset</span>
-<span id="L1123" class="Folded">1123 </span><span class="Folded">+-- 47 lines: #?     # dump segment-offset ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1123" class="Folded">1123 </span><span class="Folded">+-- 47 lines: #?     # dump segment-offset -------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1170" class="LineNr">1170 </span>    e9/jump $compute-offsets:word-loop/disp32
 <span id="L1171" class="LineNr">1171 </span><span class="Constant">$compute-offsets:break-line-loop</span>:
 <span id="L1172" class="LineNr">1172 </span>    <span class="subxComment"># seg/eax = get-or-insert(segments, curr-segment-name, row-size=16)</span>
@@ -940,7 +940,7 @@ if ('onhashchange' in window) {
 <span id="L1330" class="LineNr">1330 </span>    e8/call  <a href='survey.subx.html#L643'>compute-offsets</a>/disp32
 <span id="L1331" class="LineNr">1331 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1332" class="LineNr">1332 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32        <span class="subxComment"># add to esp</span>
-<span id="L1333" class="Folded">1333 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1333" class="Folded">1333 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1359" class="LineNr">1359 </span>    <span class="subxComment"># check trace</span>
 <span id="L1360" class="LineNr">1360 </span>    <span class="subxS1Comment"># . check-trace-contains(&quot;segment 'code' is at file offset 0x00000000.&quot;, msg)</span>
 <span id="L1361" class="LineNr">1361 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1085,7 +1085,7 @@ if ('onhashchange' in window) {
 <span id="L1500" class="LineNr">1500 </span>    05/add-to-eax  0x10/imm32
 <span id="L1501" class="LineNr">1501 </span>    eb/jump  $compute-addresses:segment-loop/disp8
 <span id="L1502" class="LineNr">1502 </span><span class="Constant">$compute-addresses:segment-break</span>:
-<span id="L1503" class="Folded">1503 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1503" class="Folded">1503 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1529" class="LineNr">1529 </span>    <span class="subxComment"># esi = labels</span>
 <span id="L1530" class="LineNr">1530 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to esi</span>
 <span id="L1531" class="LineNr">1531 </span>    <span class="subxComment"># lrow/eax = labels-&gt;data</span>
@@ -1097,10 +1097,10 @@ if ('onhashchange' in window) {
 <span id="L1537" class="LineNr">1537 </span>    <span class="subxComment"># if (lrow &gt;= max) break</span>
 <span id="L1538" class="LineNr">1538 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
 <span id="L1539" class="LineNr">1539 </span>    0f 83/jump-if-greater-or-equal-unsigned  $compute-addresses:end/disp32
-<span id="L1540" class="Folded">1540 </span><span class="Folded">+-- 26 lines: #?     # dump lrow-&gt;key --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1540" class="Folded">1540 </span><span class="Folded">+-- 26 lines: #?     # dump lrow-&gt;key ------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1566" class="LineNr">1566 </span>    <span class="subxComment"># seg-name/edx = lrow-&gt;segment-name</span>
 <span id="L1567" class="LineNr">1567 </span>    8b/copy                         1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *eax to edx</span>
-<span id="L1568" class="Folded">1568 </span><span class="Folded">+-- 26 lines: #?     # dump seg-name ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1568" class="Folded">1568 </span><span class="Folded">+-- 26 lines: #?     # dump seg-name -------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1594" class="LineNr">1594 </span>    <span class="subxComment"># label-seg/edx : (address segment-info) = get(segments, seg-name, row-size=16, &quot;segment table&quot;)</span>
 <span id="L1595" class="LineNr">1595 </span>    <span class="subxS1Comment"># . save eax</span>
 <span id="L1596" class="LineNr">1596 </span>    50/push-eax
@@ -1244,7 +1244,7 @@ if ('onhashchange' in window) {
 <span id="L1734" class="LineNr">1734 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1735" class="LineNr">1735 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1736" class="LineNr">1736 </span>    <span class="subxComment"># checks</span>
-<span id="L1737" class="Folded">1737 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1737" class="Folded">1737 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1763" class="LineNr">1763 </span>    <span class="subxS1Comment"># . check-trace-contains(&quot;segment 'a' starts at address 0x00001094.&quot;, msg)</span>
 <span id="L1764" class="LineNr">1764 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1765" class="LineNr">1765 </span>    68/push  <span class="Constant">&quot;F - <a href='survey.subx.html#L1644'>test-compute-addresses</a>/0&quot;</span>/imm32
@@ -1405,7 +1405,7 @@ if ('onhashchange' in window) {
 <span id="L1920" class="LineNr">1920 </span>    <span class="subxS1Comment"># . prolog</span>
 <span id="L1921" class="LineNr">1921 </span>    55/push-ebp
 <span id="L1922" class="LineNr">1922 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
-<span id="L1923" class="Folded">1923 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-headers\n&quot;) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1923" class="Folded">1923 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-headers\n&quot;) -----------------------------------------------------------------------------------------------------</span>
 <span id="L1932" class="LineNr">1932 </span>    <span class="subxComment"># emit-headers(out, segments, labels)</span>
 <span id="L1933" class="LineNr">1933 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1934" class="LineNr">1934 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x14/disp8      <span class="Normal"> . </span>               <span class="subxComment"># push *(ebp+20)</span>
@@ -1415,7 +1415,7 @@ if ('onhashchange' in window) {
 <span id="L1938" class="LineNr">1938 </span>    e8/call  <a href='survey.subx.html#L3223'>emit-headers</a>/disp32
 <span id="L1939" class="LineNr">1939 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1940" class="LineNr">1940 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
-<span id="L1941" class="Folded">1941 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-segments\n&quot;) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L1941" class="Folded">1941 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-segments\n&quot;) ----------------------------------------------------------------------------------------------------</span>
 <span id="L1950" class="LineNr">1950 </span>    <span class="subxComment"># emit-segments(in, out, segments, labels)</span>
 <span id="L1951" class="LineNr">1951 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1952" class="LineNr">1952 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x14/disp8      <span class="Normal"> . </span>               <span class="subxComment"># push *(ebp+20)</span>
@@ -1529,7 +1529,7 @@ if ('onhashchange' in window) {
 <span id="L2060" class="LineNr">2060 </span>    e8/call  <a href='../071read-line.subx.html#L223'>read-line</a>/disp32
 <span id="L2061" class="LineNr">2061 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2062" class="LineNr">2062 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2063" class="Folded">2063 </span><span class="Folded">+-- 33 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2063" class="Folded">2063 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2096" class="LineNr">2096 </span><span class="Constant">$emit-segments:check-for-end-of-input</span>:
 <span id="L2097" class="LineNr">2097 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L2098" class="LineNr">2098 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
@@ -1553,7 +1553,7 @@ if ('onhashchange' in window) {
 <span id="L2116" class="LineNr">2116 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L2117" class="LineNr">2117 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2118" class="LineNr">2118 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2119" class="Folded">2119 </span><span class="Folded">+-- 33 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2119" class="Folded">2119 </span><span class="Folded">+-- 33 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2152" class="LineNr">2152 </span><span class="Constant">$emit-segments:check-for-end-of-line</span>:
 <span id="L2153" class="LineNr">2153 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L2154" class="LineNr">2154 </span>    <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span>
@@ -1639,7 +1639,7 @@ if ('onhashchange' in window) {
 <span id="L2234" class="LineNr">2234 </span>    e8/call  <a href='../073next-token.subx.html#L163'>next-token-from-slice</a>/disp32
 <span id="L2235" class="LineNr">2235 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2236" class="LineNr">2236 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x10/imm32        <span class="subxComment"># add to esp</span>
-<span id="L2237" class="Folded">2237 </span><span class="Folded">+-- 33 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2237" class="Folded">2237 </span><span class="Folded">+-- 33 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2270" class="LineNr">2270 </span>    <span class="subxComment"># info/esi = get-slice(labels, datum, row-size=16, &quot;label table&quot;)</span>
 <span id="L2271" class="LineNr">2271 </span>    <span class="subxS1Comment"># . eax = get-slice(labels, datum, row-size=16, &quot;label table&quot;)</span>
 <span id="L2272" class="LineNr">2272 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1654,7 +1654,7 @@ if ('onhashchange' in window) {
 <span id="L2281" class="LineNr">2281 </span>    <span class="subxS1Comment"># . esi = eax</span>
 <span id="L2282" class="LineNr">2282 </span>    89/copy                         3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to esi</span>
 <span id="L2283" class="LineNr">2283 </span><span class="Constant">$emit-segments:check-global-variable</span>:
-<span id="L2284" class="Folded">2284 </span><span class="Folded">+-- 26 lines: #?     # dump info-&gt;segment-name -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2284" class="Folded">2284 </span><span class="Folded">+-- 26 lines: #?     # dump info-&gt;segment-name ---------------------------------------------------------------------------------------------------------------</span>
 <span id="L2310" class="LineNr">2310 </span>    <span class="subxComment"># if string-equal?(info-&gt;segment-name, &quot;code&quot;) goto code label checks</span>
 <span id="L2311" class="LineNr">2311 </span>    <span class="subxS1Comment"># . eax = string-equal?(info-&gt;segment-name, &quot;code&quot;)</span>
 <span id="L2312" class="LineNr">2312 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1731,7 +1731,7 @@ if ('onhashchange' in window) {
 <span id="L2383" class="LineNr">2383 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
 <span id="L2384" class="LineNr">2384 </span>    3d/compare-eax-and  0/imm32
 <span id="L2385" class="LineNr">2385 </span>    74/jump-if-equal  $emit-segments:check-code-label-for-disp8/disp8
-<span id="L2386" class="Folded">2386 </span><span class="Folded">+-- 33 lines: #?     # dump info-&gt;address ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2386" class="Folded">2386 </span><span class="Folded">+-- 33 lines: #?     # dump info-&gt;address --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2419" class="LineNr">2419 </span><span class="Constant">$emit-segments:emit-code-label-imm32</span>:
 <span id="L2420" class="LineNr">2420 </span>    <span class="subxComment"># emit-hex(out, info-&gt;address, 4)</span>
 <span id="L2421" class="LineNr">2421 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2054,7 +2054,7 @@ if ('onhashchange' in window) {
 <span id="L2738" class="LineNr">2738 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L2739" class="LineNr">2739 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2740" class="LineNr">2740 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2741" class="Folded">2741 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2741" class="Folded">2741 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2774" class="LineNr">2774 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ab cd ef gh &quot;, msg)</span>
 <span id="L2775" class="LineNr">2775 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2776" class="LineNr">2776 </span>    68/push  <span class="Constant">&quot;F - <a href='survey.subx.html#L2572'>test-emit-segments-global-variable</a>/0&quot;</span>/imm32
@@ -2235,7 +2235,7 @@ if ('onhashchange' in window) {
 <span id="L2951" class="LineNr">2951 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L2952" class="LineNr">2952 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2953" class="LineNr">2953 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L2954" class="Folded">2954 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L2954" class="Folded">2954 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2987" class="LineNr">2987 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ab cd &quot;, msg)</span>
 <span id="L2988" class="LineNr">2988 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2989" class="LineNr">2989 </span>    68/push  <span class="Constant">&quot;F - <a href='survey.subx.html#L2815'>test-emit-segments-code-label</a>/0&quot;</span>/imm32
@@ -2407,7 +2407,7 @@ if ('onhashchange' in window) {
 <span id="L3155" class="LineNr">3155 </span>    e8/call  <a href='../064write-byte.subx.html#L79'>flush</a>/disp32
 <span id="L3156" class="LineNr">3156 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3157" class="LineNr">3157 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
-<span id="L3158" class="Folded">3158 </span><span class="Folded">+-- 33 lines: #?     # dump output -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3158" class="Folded">3158 </span><span class="Folded">+-- 33 lines: #?     # dump output ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3191" class="LineNr">3191 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ab cd &quot;, msg)</span>
 <span id="L3192" class="LineNr">3192 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3193" class="LineNr">3193 </span>    68/push  <span class="Constant">&quot;F - <a href='survey.subx.html#L3019'>test-emit-segments-code-label-absolute</a>/0&quot;</span>/imm32
@@ -2456,7 +2456,7 @@ if ('onhashchange' in window) {
 <span id="L3236" class="LineNr">3236 </span>    <span class="subxS1Comment"># . save registers</span>
 <span id="L3237" class="LineNr">3237 </span>    50/push-eax
 <span id="L3238" class="LineNr">3238 </span>    51/push-ecx
-<span id="L3239" class="Folded">3239 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-elf-header\n&quot;) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3239" class="Folded">3239 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-elf-header\n&quot;) --------------------------------------------------------------------------------------------------</span>
 <span id="L3248" class="LineNr">3248 </span>    <span class="subxComment"># emit-elf-header(out, segments, labels)</span>
 <span id="L3249" class="LineNr">3249 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3250" class="LineNr">3250 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+16)</span>
@@ -2478,8 +2478,8 @@ if ('onhashchange' in window) {
 <span id="L3266" class="LineNr">3266 </span>    <span class="subxComment"># if (curr-segment &gt;= max) break</span>
 <span id="L3267" class="LineNr">3267 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
 <span id="L3268" class="LineNr">3268 </span>    0f 83/jump-if-greater-or-equal-unsigned  $emit-headers:end/disp32
-<span id="L3269" class="Folded">3269 </span><span class="Folded">+-- 69 lines: #?     # dump curr-segment-&gt;name -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L3338" class="Folded">3338 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-segment-header\n&quot;) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3269" class="Folded">3269 </span><span class="Folded">+-- 69 lines: #?     # dump curr-segment-&gt;name ---------------------------------------------------------------------------------------------------------------</span>
+<span id="L3338" class="Folded">3338 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-segment-header\n&quot;) ----------------------------------------------------------------------------------------------</span>
 <span id="L3347" class="LineNr">3347 </span>    <span class="subxComment"># emit-elf-program-header-entry(out, curr-segment)</span>
 <span id="L3348" class="LineNr">3348 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3349" class="LineNr">3349 </span>    50/push-eax
@@ -2811,7 +2811,7 @@ if ('onhashchange' in window) {
 <span id="L3675" class="LineNr">3675 </span>    e8/call  <a href='survey.subx.html#L3610'>trace-sssns</a>/disp32
 <span id="L3676" class="LineNr">3676 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3677" class="LineNr">3677 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x14/imm32        <span class="subxComment"># add to esp</span>
-<span id="L3678" class="Folded">3678 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3678" class="Folded">3678 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3704" class="LineNr">3704 </span>    <span class="subxComment"># check-trace-contains(&quot;Abc 0x00000003 e&quot;)</span>
 <span id="L3705" class="LineNr">3705 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3706" class="LineNr">3706 </span>    68/push  <span class="Constant">&quot;F - test-trace-sssns&quot;</span>/imm32
@@ -2893,7 +2893,7 @@ if ('onhashchange' in window) {
 <span id="L3782" class="LineNr">3782 </span>    e8/call  <a href='survey.subx.html#L3717'>trace-snsns</a>/disp32
 <span id="L3783" class="LineNr">3783 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3784" class="LineNr">3784 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x14/imm32        <span class="subxComment"># add to esp</span>
-<span id="L3785" class="Folded">3785 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3785" class="Folded">3785 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3811" class="LineNr">3811 </span>    <span class="subxComment"># check-trace-contains(&quot;Abc 0x00000003 e&quot;)</span>
 <span id="L3812" class="LineNr">3812 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3813" class="LineNr">3813 </span>    68/push  <span class="Constant">&quot;F - test-trace-snsns&quot;</span>/imm32
@@ -2993,7 +2993,7 @@ if ('onhashchange' in window) {
 <span id="L3907" class="LineNr">3907 </span>    e8/call  <a href='survey.subx.html#L3824'>trace-slsls</a>/disp32
 <span id="L3908" class="LineNr">3908 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3909" class="LineNr">3909 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x14/imm32        <span class="subxComment"># add to esp</span>
-<span id="L3910" class="Folded">3910 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L3910" class="Folded">3910 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L3936" class="LineNr">3936 </span>    <span class="subxComment"># check-trace-contains(&quot;Abcde&quot;)</span>
 <span id="L3937" class="LineNr">3937 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3938" class="LineNr">3938 </span>    68/push  <span class="Constant">&quot;F - test-trace-slsls&quot;</span>/imm32
@@ -3084,7 +3084,7 @@ if ('onhashchange' in window) {
 <span id="L4023" class="LineNr">4023 </span>    e8/call  <a href='survey.subx.html#L3949'>trace-slsns</a>/disp32
 <span id="L4024" class="LineNr">4024 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4025" class="LineNr">4025 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x14/imm32        <span class="subxComment"># add to esp</span>
-<span id="L4026" class="Folded">4026 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4026" class="Folded">4026 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4052" class="LineNr">4052 </span>    <span class="subxComment"># check-trace-contains(&quot;Abc 0x00000003 e&quot;)</span>
 <span id="L4053" class="LineNr">4053 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4054" class="LineNr">4054 </span>    68/push  <span class="Constant">&quot;F - test-trace-slsls&quot;</span>/imm32
@@ -3175,7 +3175,7 @@ if ('onhashchange' in window) {
 <span id="L4139" class="LineNr">4139 </span>    e8/call  <a href='survey.subx.html#L4065'>trace-slsss</a>/disp32
 <span id="L4140" class="LineNr">4140 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4141" class="LineNr">4141 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x14/imm32        <span class="subxComment"># add to esp</span>
-<span id="L4142" class="Folded">4142 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4142" class="Folded">4142 </span><span class="Folded">+-- 26 lines: #?     # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4168" class="LineNr">4168 </span>    <span class="subxComment"># check-trace-contains(&quot;Abcde&quot;)</span>
 <span id="L4169" class="LineNr">4169 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4170" class="LineNr">4170 </span>    68/push  <span class="Constant">&quot;F - test-trace-slsss&quot;</span>/imm32
@@ -3218,7 +3218,7 @@ if ('onhashchange' in window) {
 <span id="L4207" class="LineNr">4207 </span>    68/push  0/imm32/end
 <span id="L4208" class="LineNr">4208 </span>    68/push  0/imm32/start
 <span id="L4209" class="LineNr">4209 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
-<span id="L4210" class="Folded">4210 </span><span class="Folded">+-- 26 lines: #?     # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4210" class="Folded">4210 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4236" class="LineNr">4236 </span>    <span class="subxS1Comment"># . rewind-stream(line)</span>
 <span id="L4237" class="LineNr">4237 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4238" class="LineNr">4238 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
@@ -3235,7 +3235,7 @@ if ('onhashchange' in window) {
 <span id="L4249" class="LineNr">4249 </span>    e8/call  <a href='../076next-word.subx.html#L10'>next-word</a>/disp32
 <span id="L4250" class="LineNr">4250 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4251" class="LineNr">4251 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
-<span id="L4252" class="Folded">4252 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L4252" class="Folded">4252 </span><span class="Folded">+-- 46 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L4298" class="LineNr">4298 </span><span class="Constant">$num-bytes:check0</span>:
 <span id="L4299" class="LineNr">4299 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L4300" class="LineNr">4300 </span>    <span class="subxS1Comment"># . save result</span>
diff --git a/linkify/linkify.cc b/linkify/linkify.cc
index b37c5296..9557f256 100644
--- a/linkify/linkify.cc
+++ b/linkify/linkify.cc
@@ -198,6 +198,11 @@ void replace_tags_in_file(const string& filename, const map<string, syminfo>& in
             while (in2 >> c) out << c;
             at_start_of_line = false;
           }
+          // send through open parens at start of line
+          else if (c == '(') {
+            out << c;
+            at_start_of_line = false;
+          }
           else {
 //?             cerr << "rest\n";
             if (c == ',' || c == ':') {