about summary refs log tree commit diff stats
path: root/html/apps/survey.subx.html
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-12-09 01:26:58 -0800
committerKartik Agaram <vc@akkartik.com>2019-12-09 01:26:58 -0800
commit8aeb85f04ee68b960a6d326aca1a17dec2f6d019 (patch)
tree26f861361c28ca77fb8298b21a905dc6e06c91ef /html/apps/survey.subx.html
parent2249e605c19f0dbe0c34c1c4f635b802f56dc535 (diff)
downloadmu-8aeb85f04ee68b960a6d326aca1a17dec2f6d019.tar.gz
5806
Diffstat (limited to 'html/apps/survey.subx.html')
-rw-r--r--html/apps/survey.subx.html494
1 files changed, 247 insertions, 247 deletions
diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html
index 7bb37e2c..1f682cd4 100644
--- a/html/apps/survey.subx.html
+++ b/html/apps/survey.subx.html
@@ -134,11 +134,11 @@ if ('onhashchange' in window) {
 <span id="L71" class="LineNr">  71 </span>    68/push  <span class="Constant">&quot;test&quot;</span>/imm32
 <span id="L72" class="LineNr">  72 </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>
 <span id="L73" class="LineNr">  73 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L74" class="LineNr">  74 </span>    e8/call  <a href='../052kernel-string-equal.subx.html#L31'>kernel-string-equal?</a>/disp32
+<span id="L74" class="LineNr">  74 </span>    e8/call  <a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a>/disp32
 <span id="L75" class="LineNr">  75 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L76" class="LineNr">  76 </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="L77" class="LineNr">  77 </span>    <span class="subxS1Comment"># . if (eax == 0) goto interactive</span>
-<span id="L78" class="LineNr">  78 </span>    3d/compare-eax-and  0/imm32
+<span id="L77" class="LineNr">  77 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
+<span id="L78" class="LineNr">  78 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L79" class="LineNr">  79 </span>    74/jump-if-equal  $subx-survey-main:interactive/disp8
 <span id="L80" class="LineNr">  80 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L81" class="LineNr">  81 </span>    e8/call  run-tests/disp32
@@ -178,9 +178,9 @@ if ('onhashchange' in window) {
 <span id="L115" class="LineNr"> 115 </span>
 <span id="L116" class="LineNr"> 116 </span><span class="subxFunction">subx-survey</span>:  <span class="subxComment"># infile : (address buffered-file), out : (address buffered-file)</span>
 <span id="L117" class="LineNr"> 117 </span>    <span class="subxComment"># pseudocode</span>
-<span id="L118" class="LineNr"> 118 </span>    <span class="subxComment">#   var in : (address stream byte) = stream(4096)</span>
+<span id="L118" class="LineNr"> 118 </span>    <span class="subxComment">#   var in : (ref stream byte 4096)</span>
 <span id="L119" class="LineNr"> 119 </span>    <span class="subxComment">#   slurp(infile, in)</span>
-<span id="L120" class="LineNr"> 120 </span>    <span class="subxComment">#   var segments : (stream segment-info 10)</span>
+<span id="L120" class="LineNr"> 120 </span>    <span class="subxComment">#   var segments : (stream segment-info)</span>
 <span id="L121" class="LineNr"> 121 </span>    <span class="subxComment">#   var labels : (stream label-info Max-labels)</span>
 <span id="L122" class="LineNr"> 122 </span>    <span class="subxComment">#   compute-offsets(in, segments, labels)</span>
 <span id="L123" class="LineNr"> 123 </span>    <span class="subxComment">#   compute-addresses(segments, labels)</span>
@@ -194,13 +194,13 @@ if ('onhashchange' in window) {
 <span id="L131" class="LineNr"> 131 </span>    51/push-ecx
 <span id="L132" class="LineNr"> 132 </span>    52/push-edx
 <span id="L133" class="LineNr"> 133 </span>    56/push-esi
-<span id="L134" class="LineNr"> 134 </span>    <span class="subxComment"># var segments/ecx = stream(10 * 16)</span>
+<span id="L134" class="LineNr"> 134 </span>    <span class="subxComment"># var segments/ecx : (ref stream {string, segment-info} 160)   # 10 rows * 16 bytes/row</span>
 <span id="L135" class="LineNr"> 135 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L136" class="LineNr"> 136 </span>    68/push  0xa0/imm32/length
 <span id="L137" class="LineNr"> 137 </span>    68/push  0/imm32/read
 <span id="L138" class="LineNr"> 138 </span>    68/push  0/imm32/write
 <span id="L139" class="LineNr"> 139 </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="L140" class="LineNr"> 140 </span>    <span class="subxComment"># var labels/edx = stream(Max-labels * 16)</span>
+<span id="L140" class="LineNr"> 140 </span>    <span class="subxComment"># var labels/edx : (ref stream label-info Max-labels*16)</span>
 <span id="L141" class="LineNr"> 141 </span>    <span class="subxS1Comment"># . data</span>
 <span id="L142" class="LineNr"> 142 </span>    2b/subtract                     0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp   <span class="SpecialChar">Max-labels</span>/disp32                 <span class="subxComment"># subtract *Max-labels from esp</span>
 <span id="L143" class="LineNr"> 143 </span>    <span class="subxS1Comment"># . length</span>
@@ -210,7 +210,7 @@ if ('onhashchange' in window) {
 <span id="L147" class="LineNr"> 147 </span>    <span class="subxS1Comment"># . write</span>
 <span id="L148" class="LineNr"> 148 </span>    68/push  0/imm32/write
 <span id="L149" class="LineNr"> 149 </span>    89/copy                         3/mod/direct    2/rm32/edx   <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 edx</span>
-<span id="L150" class="LineNr"> 150 </span>    <span class="subxComment"># var in/esi = stream(Input-size * 1)</span>
+<span id="L150" class="LineNr"> 150 </span>    <span class="subxComment"># var in/esi : (ref stream byte Input-size)</span>
 <span id="L151" class="LineNr"> 151 </span>    <span class="subxS1Comment"># . data</span>
 <span id="L152" class="LineNr"> 152 </span>    2b/subtract                     0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp   <span class="SpecialChar">Input-size</span>/disp32                 <span class="subxComment"># subtract *Input-size from esp</span>
 <span id="L153" class="LineNr"> 153 </span>    <span class="subxS1Comment"># . length</span>
@@ -311,14 +311,14 @@ if ('onhashchange' in window) {
 <span id="L455" class="LineNr"> 455 </span>    <span class="subxComment"># setup</span>
 <span id="L456" class="LineNr"> 456 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L457" class="LineNr"> 457 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L458" class="LineNr"> 458 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L458" class="LineNr"> 458 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L459" class="LineNr"> 459 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L460" class="LineNr"> 460 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L461" class="LineNr"> 461 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L462" class="LineNr"> 462 </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="L463" class="LineNr"> 463 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-buffered-file-&gt;buffer)</span>
+<span id="L463" class="LineNr"> 463 </span>    <span class="subxS1Comment"># . clear-stream($_test-input-buffered-file-&gt;buffer)</span>
 <span id="L464" class="LineNr"> 464 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L465" class="LineNr"> 465 </span>    68/push  <a href='../061read-byte.subx.html#L317'>_test-input-buffered-file-&gt;buffer</a>/imm32
+<span id="L465" class="LineNr"> 465 </span>    68/push  $_test-input-buffered-file-&gt;buffer/imm32
 <span id="L466" class="LineNr"> 466 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L467" class="LineNr"> 467 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L468" class="LineNr"> 468 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -330,9 +330,9 @@ if ('onhashchange' in window) {
 <span id="L474" class="LineNr"> 474 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L475" class="LineNr"> 475 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L476" class="LineNr"> 476 </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="L477" class="LineNr"> 477 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file-&gt;buffer)</span>
+<span id="L477" class="LineNr"> 477 </span>    <span class="subxS1Comment"># . clear-stream($_test-output-buffered-file-&gt;buffer)</span>
 <span id="L478" class="LineNr"> 478 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L479" class="LineNr"> 479 </span>    68/push  <a href='../064write-byte.subx.html#L331'>_test-output-buffered-file-&gt;buffer</a>/imm32
+<span id="L479" class="LineNr"> 479 </span>    68/push  $_test-output-buffered-file-&gt;buffer/imm32
 <span id="L480" class="LineNr"> 480 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L481" class="LineNr"> 481 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L482" class="LineNr"> 482 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -341,7 +341,7 @@ if ('onhashchange' in window) {
 <span id="L485" class="LineNr"> 485 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== code 0x1\n&quot;)</span>
 <span id="L486" class="LineNr"> 486 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L487" class="LineNr"> 487 </span>    68/push  <span class="Constant">&quot;== code 0x1\n&quot;</span>/imm32
-<span id="L488" class="LineNr"> 488 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L488" class="LineNr"> 488 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L489" class="LineNr"> 489 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L490" class="LineNr"> 490 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L491" class="LineNr"> 491 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -349,7 +349,7 @@ if ('onhashchange' in window) {
 <span id="L493" class="LineNr"> 493 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;Entry:\n&quot;)</span>
 <span id="L494" class="LineNr"> 494 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L495" class="LineNr"> 495 </span>    68/push  <span class="Constant">&quot;Entry:\n&quot;</span>/imm32
-<span id="L496" class="LineNr"> 496 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L496" class="LineNr"> 496 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L497" class="LineNr"> 497 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L498" class="LineNr"> 498 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L499" class="LineNr"> 499 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -357,7 +357,7 @@ if ('onhashchange' in window) {
 <span id="L501" class="LineNr"> 501 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab x/imm32\n&quot;)</span>
 <span id="L502" class="LineNr"> 502 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L503" class="LineNr"> 503 </span>    68/push  <span class="Constant">&quot;ab x/imm32\n&quot;</span>/imm32
-<span id="L504" class="LineNr"> 504 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L504" class="LineNr"> 504 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L505" class="LineNr"> 505 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L506" class="LineNr"> 506 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L507" class="LineNr"> 507 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -365,7 +365,7 @@ if ('onhashchange' in window) {
 <span id="L509" class="LineNr"> 509 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== data 0x1000\n&quot;)</span>
 <span id="L510" class="LineNr"> 510 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L511" class="LineNr"> 511 </span>    68/push  <span class="Constant">&quot;== data 0x1000\n&quot;</span>/imm32
-<span id="L512" class="LineNr"> 512 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L512" class="LineNr"> 512 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L513" class="LineNr"> 513 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L514" class="LineNr"> 514 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L515" class="LineNr"> 515 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -373,7 +373,7 @@ if ('onhashchange' in window) {
 <span id="L517" class="LineNr"> 517 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;x:\n&quot;)</span>
 <span id="L518" class="LineNr"> 518 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L519" class="LineNr"> 519 </span>    68/push  <span class="Constant">&quot;x:\n&quot;</span>/imm32
-<span id="L520" class="LineNr"> 520 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L520" class="LineNr"> 520 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L521" class="LineNr"> 521 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L522" class="LineNr"> 522 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L523" class="LineNr"> 523 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -381,7 +381,7 @@ if ('onhashchange' in window) {
 <span id="L525" class="LineNr"> 525 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;01\n&quot;)</span>
 <span id="L526" class="LineNr"> 526 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L527" class="LineNr"> 527 </span>    68/push  <span class="Constant">&quot;01\n&quot;</span>/imm32
-<span id="L528" class="LineNr"> 528 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L528" class="LineNr"> 528 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L529" class="LineNr"> 529 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L530" class="LineNr"> 530 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L531" class="LineNr"> 531 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -389,7 +389,7 @@ if ('onhashchange' in window) {
 <span id="L533" class="LineNr"> 533 </span>    <span class="subxComment"># subx-survey(_test-input-buffered-file, _test-output-buffered-file)</span>
 <span id="L534" class="LineNr"> 534 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L535" class="LineNr"> 535 </span>    68/push  <a href='../064write-byte.subx.html#L328'>_test-output-buffered-file</a>/imm32
-<span id="L536" class="LineNr"> 536 </span>    68/push  <a href='../061read-byte.subx.html#L314'>_test-input-buffered-file</a>/imm32
+<span id="L536" class="LineNr"> 536 </span>    68/push  <a href='../061read-byte.subx.html#L313'>_test-input-buffered-file</a>/imm32
 <span id="L537" class="LineNr"> 537 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L538" class="LineNr"> 538 </span>    e8/call  <a href='survey.subx.html#L116'>subx-survey</a>/disp32
 <span id="L539" class="LineNr"> 539 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -449,7 +449,7 @@ if ('onhashchange' in window) {
 <span id="L618" class="LineNr"> 618 </span>
 <span id="L619" class="LineNr"> 619 </span>== code
 <span id="L620" class="LineNr"> 620 </span>
-<span id="L621" class="LineNr"> 621 </span><span class="subxFunction">compute-offsets</span>:  <span class="subxComment"># in : (address stream), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
+<span id="L621" class="LineNr"> 621 </span><span class="subxFunction">compute-offsets</span>:  <span class="subxComment"># in : (address stream byte), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
 <span id="L622" class="LineNr"> 622 </span>    <span class="subxComment"># skeleton:</span>
 <span id="L623" class="LineNr"> 623 </span>    <span class="subxComment">#   for lines in 'in'</span>
 <span id="L624" class="LineNr"> 624 </span>    <span class="subxComment">#     for words in line</span>
@@ -559,18 +559,18 @@ if ('onhashchange' in window) {
 <span id="L833" class="LineNr"> 833 </span>    e8/call  <a href='../072slice.subx.html#L9'>slice-empty?</a>/disp32
 <span id="L834" class="LineNr"> 834 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L835" class="LineNr"> 835 </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="L836" class="LineNr"> 836 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L837" class="LineNr"> 837 </span>    3d/compare-eax-and  0/imm32
+<span id="L836" class="LineNr"> 836 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L837" class="LineNr"> 837 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L838" class="LineNr"> 838 </span>    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
 <span id="L839" class="LineNr"> 839 </span><span class="Constant">$compute-offsets:case-comment</span>:
 <span id="L840" class="LineNr"> 840 </span>    <span class="subxComment"># if slice-starts-with?(word-slice, &quot;#&quot;) continue</span>
 <span id="L841" class="LineNr"> 841 </span>    68/push  <span class="Constant">&quot;#&quot;</span>/imm32
 <span id="L842" class="LineNr"> 842 </span>    52/push-edx
-<span id="L843" class="LineNr"> 843 </span>    e8/call  <a href='../072slice.subx.html#L457'>slice-starts-with?</a>/disp32
+<span id="L843" class="LineNr"> 843 </span>    e8/call  <a href='../072slice.subx.html#L458'>slice-starts-with?</a>/disp32
 <span id="L844" class="LineNr"> 844 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L845" class="LineNr"> 845 </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="L846" class="LineNr"> 846 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L847" class="LineNr"> 847 </span>    3d/compare-eax-and  0/imm32
+<span id="L846" class="LineNr"> 846 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L847" class="LineNr"> 847 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L848" class="LineNr"> 848 </span>    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
 <span id="L849" class="LineNr"> 849 </span><span class="Constant">$compute-offsets:case-segment-header</span>:
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxComment"># if (!slice-equal?(word-slice/edx, &quot;==&quot;)) goto next case</span>
@@ -580,8 +580,8 @@ if ('onhashchange' in window) {
 <span id="L854" class="LineNr"> 854 </span>    e8/call  <a href='../072slice.subx.html#L91'>slice-equal?</a>/disp32
 <span id="L855" class="LineNr"> 855 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L856" class="LineNr"> 856 </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="L857" class="LineNr"> 857 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next case</span>
-<span id="L858" class="LineNr"> 858 </span>    3d/compare-eax-and  0/imm32
+<span id="L857" class="LineNr"> 857 </span>    <span class="subxS1Comment"># . if (eax == false) goto next case</span>
+<span id="L858" class="LineNr"> 858 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L859" class="LineNr"> 859 </span>    0f 84/jump-if-equal  $compute-offsets:case-label/disp32
 <span id="L860" class="LineNr"> 860 </span>    <span class="subxComment"># if (curr-segment-name == 0) goto construct-next-segment</span>
 <span id="L861" class="LineNr"> 861 </span>    81          7/subop/compare     3/mod/direct    6/rm32/esi   <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 esi</span>
@@ -592,7 +592,7 @@ if ('onhashchange' in window) {
 <span id="L866" class="LineNr"> 866 </span>    56/push-esi
 <span id="L867" class="LineNr"> 867 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L868" class="LineNr"> 868 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L869" class="LineNr"> 869 </span>    e8/call  <a href='../081table.subx.html#L403'>get-or-insert</a>/disp32
+<span id="L869" class="LineNr"> 869 </span>    e8/call  <a href='../081table.subx.html#L404'>get-or-insert</a>/disp32
 <span id="L870" class="LineNr"> 870 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L871" class="LineNr"> 871 </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="L872" class="LineNr"> 872 </span>    <span class="subxComment"># seg-&gt;size = file-offset - seg-&gt;file-offset</span>
@@ -634,7 +634,7 @@ if ('onhashchange' in window) {
 <span id="L952" class="LineNr"> 952 </span>    68/push  <a href='survey.subx.html#L621'>compute-offsets</a>:segment-tmp/imm32
 <span id="L953" class="LineNr"> 953 </span>    68/push  <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>/imm32
 <span id="L954" class="LineNr"> 954 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L955" class="LineNr"> 955 </span>    e8/call  <a href='../072slice.subx.html#L1013'>slice-to-string</a>/disp32
+<span id="L955" class="LineNr"> 955 </span>    e8/call  <a href='../072slice.subx.html#L1015'>slice-to-string</a>/disp32
 <span id="L956" class="LineNr"> 956 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L957" class="LineNr"> 957 </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="L958" class="LineNr"> 958 </span>    <span class="subxS1Comment"># . curr-segment-name = eax</span>
@@ -655,8 +655,8 @@ if ('onhashchange' in window) {
 <span id="L973" class="LineNr"> 973 </span>    e8/call  <a href='../072slice.subx.html#L9'>slice-empty?</a>/disp32
 <span id="L974" class="LineNr"> 974 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L975" class="LineNr"> 975 </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="L976" class="LineNr"> 976 </span>    <span class="subxS1Comment"># . if (eax != 0) abort</span>
-<span id="L977" class="LineNr"> 977 </span>    3d/compare-eax-and  0/imm32
+<span id="L976" class="LineNr"> 976 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
+<span id="L977" class="LineNr"> 977 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L978" class="LineNr"> 978 </span>    0f 85/jump-if-not-equal  $compute-offsets:abort/disp32
 <span id="L979" class="LineNr"> 979 </span>    <span class="subxComment"># seg/ebx = get-or-insert(segments, curr-segment-name, row-size=16)</span>
 <span id="L980" class="LineNr"> 980 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -664,7 +664,7 @@ if ('onhashchange' in window) {
 <span id="L982" class="LineNr"> 982 </span>    56/push-esi
 <span id="L983" class="LineNr"> 983 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L984" class="LineNr"> 984 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L985" class="LineNr"> 985 </span>    e8/call  <a href='../081table.subx.html#L403'>get-or-insert</a>/disp32
+<span id="L985" class="LineNr"> 985 </span>    e8/call  <a href='../081table.subx.html#L404'>get-or-insert</a>/disp32
 <span id="L986" class="LineNr"> 986 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L987" class="LineNr"> 987 </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="L988" class="LineNr"> 988 </span>    <span class="subxS1Comment"># . ebx = eax</span>
@@ -701,11 +701,11 @@ if ('onhashchange' in window) {
 <span id="L1019" class="LineNr">1019 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1020" class="LineNr">1020 </span>    52/push-edx
 <span id="L1021" class="LineNr">1021 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1022" class="LineNr">1022 </span>    e8/call  <a href='../077subx-words.subx.html#L542'>is-label?</a>/disp32
+<span id="L1022" class="LineNr">1022 </span>    e8/call  <a href='../077subx-words.subx.html#L535'>is-label?</a>/disp32
 <span id="L1023" class="LineNr">1023 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1024" class="LineNr">1024 </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="L1025" class="LineNr">1025 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next case</span>
-<span id="L1026" class="LineNr">1026 </span>    3d/compare-eax-and  0/imm32
+<span id="L1025" class="LineNr">1025 </span>    <span class="subxS1Comment"># . if (eax == false) goto next case</span>
+<span id="L1026" class="LineNr">1026 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L1027" class="LineNr">1027 </span>    74/jump-if-equal  $compute-offsets:case-default/disp8
 <span id="L1028" class="LineNr">1028 </span>    <span class="subxComment"># strip trailing ':' from word-slice</span>
 <span id="L1029" class="LineNr">1029 </span>    ff          1/subop/decrement   1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># decrement *(edx+4)</span>
@@ -715,7 +715,7 @@ if ('onhashchange' in window) {
 <span id="L1033" class="LineNr">1033 </span>    52/push-edx
 <span id="L1034" class="LineNr">1034 </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>
 <span id="L1035" class="LineNr">1035 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1036" class="LineNr">1036 </span>    e8/call  <a href='../081table.subx.html#L654'>leaky-get-or-insert-slice</a>/disp32
+<span id="L1036" class="LineNr">1036 </span>    e8/call  <a href='../081table.subx.html#L655'>leaky-get-or-insert-slice</a>/disp32
 <span id="L1037" class="LineNr">1037 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1038" class="LineNr">1038 </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="L1039" class="LineNr">1039 </span><span class="Constant">$compute-offsets:save-label-offset</span>:
@@ -759,7 +759,7 @@ if ('onhashchange' in window) {
 <span id="L1077" class="LineNr">1077 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1078" class="LineNr">1078 </span>    52/push-edx
 <span id="L1079" class="LineNr">1079 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1080" class="LineNr">1080 </span>    e8/call <a href='../083subx-widths.subx.html#L40'>compute-width-of-slice</a>/disp32
+<span id="L1080" class="LineNr">1080 </span>    e8/call <a href='../083subx-widths.subx.html#L45'>compute-width-of-slice</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>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1083" class="LineNr">1083 </span>    <span class="subxComment"># segment-offset += width</span>
@@ -775,7 +775,7 @@ if ('onhashchange' in window) {
 <span id="L1133" class="LineNr">1133 </span>    56/push-esi
 <span id="L1134" class="LineNr">1134 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L1135" class="LineNr">1135 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1136" class="LineNr">1136 </span>    e8/call  <a href='../081table.subx.html#L403'>get-or-insert</a>/disp32
+<span id="L1136" class="LineNr">1136 </span>    e8/call  <a href='../081table.subx.html#L404'>get-or-insert</a>/disp32
 <span id="L1137" class="LineNr">1137 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1138" class="LineNr">1138 </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="L1139" class="LineNr">1139 </span>    <span class="subxComment"># seg-&gt;size = file-offset - seg-&gt;file-offset</span>
@@ -824,7 +824,7 @@ if ('onhashchange' in window) {
 <span id="L1182" class="LineNr">1182 </span>    68/push  <span class="Constant">&quot;'==' must be followed by segment name and segment-start\n&quot;</span>/imm32
 <span id="L1183" class="LineNr">1183 </span>    68/push  2/imm32/stderr
 <span id="L1184" class="LineNr">1184 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1185" class="LineNr">1185 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L1185" class="LineNr">1185 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L1186" class="LineNr">1186 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1187" class="LineNr">1187 </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="L1188" class="LineNr">1188 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
@@ -856,18 +856,18 @@ if ('onhashchange' in window) {
 <span id="L1214" class="LineNr">1214 </span>    <span class="subxComment"># setup</span>
 <span id="L1215" class="LineNr">1215 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L1216" class="LineNr">1216 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L1217" class="LineNr">1217 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1217" class="LineNr">1217 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1218" class="LineNr">1218 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1219" class="LineNr">1219 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L1220" class="LineNr">1220 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1221" class="LineNr">1221 </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="L1222" class="LineNr">1222 </span>    <span class="subxComment"># var segments/ecx = stream(2 * 16)</span>
+<span id="L1222" class="LineNr">1222 </span>    <span class="subxComment"># var segments/ecx : (ref stream byte 2*16)</span>
 <span id="L1223" class="LineNr">1223 </span>    81          5/subop/subtract    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>              0x20/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L1224" class="LineNr">1224 </span>    68/push  0x20/imm32/length
 <span id="L1225" class="LineNr">1225 </span>    68/push  0/imm32/read
 <span id="L1226" class="LineNr">1226 </span>    68/push  0/imm32/write
 <span id="L1227" class="LineNr">1227 </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="L1228" class="LineNr">1228 </span>    <span class="subxComment"># var labels/edx = stream(2 * 16)</span>
+<span id="L1228" class="LineNr">1228 </span>    <span class="subxComment"># var labels/edx : (ref stream byte 2*16)</span>
 <span id="L1229" class="LineNr">1229 </span>    81          5/subop/subtract    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>              0x20/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L1230" class="LineNr">1230 </span>    68/push  0x20/imm32/length
 <span id="L1231" class="LineNr">1231 </span>    68/push  0/imm32/read
@@ -877,7 +877,7 @@ if ('onhashchange' in window) {
 <span id="L1235" class="LineNr">1235 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== code 0x1\n&quot;)</span>
 <span id="L1236" class="LineNr">1236 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1237" class="LineNr">1237 </span>    68/push  <span class="Constant">&quot;== code 0x1\n&quot;</span>/imm32
-<span id="L1238" class="LineNr">1238 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1238" class="LineNr">1238 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1239" class="LineNr">1239 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1240" class="LineNr">1240 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1241" class="LineNr">1241 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -885,7 +885,7 @@ if ('onhashchange' in window) {
 <span id="L1243" class="LineNr">1243 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab x/imm32  # skip comment\n&quot;)</span>
 <span id="L1244" class="LineNr">1244 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1245" class="LineNr">1245 </span>    68/push  <span class="Constant">&quot;ab x/imm32  # skip comment\n&quot;</span>/imm32
-<span id="L1246" class="LineNr">1246 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1246" class="LineNr">1246 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1247" class="LineNr">1247 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1248" class="LineNr">1248 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1249" class="LineNr">1249 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -893,7 +893,7 @@ if ('onhashchange' in window) {
 <span id="L1251" class="LineNr">1251 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== data 0x1000\n&quot;)</span>
 <span id="L1252" class="LineNr">1252 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1253" class="LineNr">1253 </span>    68/push  <span class="Constant">&quot;== data 0x1000\n&quot;</span>/imm32
-<span id="L1254" class="LineNr">1254 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1254" class="LineNr">1254 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1255" class="LineNr">1255 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1256" class="LineNr">1256 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1257" class="LineNr">1257 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -901,7 +901,7 @@ if ('onhashchange' in window) {
 <span id="L1259" class="LineNr">1259 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;00\n&quot;)</span>
 <span id="L1260" class="LineNr">1260 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1261" class="LineNr">1261 </span>    68/push  <span class="Constant">&quot;00\n&quot;</span>/imm32
-<span id="L1262" class="LineNr">1262 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1262" class="LineNr">1262 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1263" class="LineNr">1263 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1264" class="LineNr">1264 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1265" class="LineNr">1265 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -909,7 +909,7 @@ if ('onhashchange' in window) {
 <span id="L1267" class="LineNr">1267 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;x:\n&quot;)</span>
 <span id="L1268" class="LineNr">1268 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1269" class="LineNr">1269 </span>    68/push  <span class="Constant">&quot;x:\n&quot;</span>/imm32
-<span id="L1270" class="LineNr">1270 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1270" class="LineNr">1270 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1271" class="LineNr">1271 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1272" class="LineNr">1272 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1273" class="LineNr">1273 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -917,7 +917,7 @@ if ('onhashchange' in window) {
 <span id="L1275" class="LineNr">1275 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;34\n&quot;)</span>
 <span id="L1276" class="LineNr">1276 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1277" class="LineNr">1277 </span>    68/push  <span class="Constant">&quot;34\n&quot;</span>/imm32
-<span id="L1278" class="LineNr">1278 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1278" class="LineNr">1278 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1279" class="LineNr">1279 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1280" class="LineNr">1280 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L1281" class="LineNr">1281 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -926,7 +926,7 @@ if ('onhashchange' in window) {
 <span id="L1284" class="LineNr">1284 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1285" class="LineNr">1285 </span>    52/push-edx
 <span id="L1286" class="LineNr">1286 </span>    51/push-ecx
-<span id="L1287" class="LineNr">1287 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L1287" class="LineNr">1287 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L1288" class="LineNr">1288 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1289" class="LineNr">1289 </span>    e8/call  <a href='survey.subx.html#L621'>compute-offsets</a>/disp32
 <span id="L1290" class="LineNr">1290 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -998,7 +998,7 @@ if ('onhashchange' in window) {
 <span id="L1381" class="LineNr">1381 </span><span class="subxFunction">compute-addresses</span>:  <span class="subxComment"># segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
 <span id="L1382" class="LineNr">1382 </span>    <span class="subxComment"># pseudocode:</span>
 <span id="L1383" class="LineNr">1383 </span>    <span class="subxComment">#   srow : (address segment-info) = segments-&gt;data</span>
-<span id="L1384" class="LineNr">1384 </span>    <span class="subxComment">#   max = segments-&gt;data + segments-&gt;write</span>
+<span id="L1384" class="LineNr">1384 </span>    <span class="subxComment">#   max = &amp;segments-&gt;data[segments-&gt;write]</span>
 <span id="L1385" class="LineNr">1385 </span>    <span class="subxComment">#   num-segments = segments-&gt;write / 16</span>
 <span id="L1386" class="LineNr">1386 </span>    <span class="subxComment">#   starting-offset = 0x34 + (num-segments * 0x20)</span>
 <span id="L1387" class="LineNr">1387 </span>    <span class="subxComment">#   while true</span>
@@ -1009,7 +1009,7 @@ if ('onhashchange' in window) {
 <span id="L1392" class="LineNr">1392 </span>    <span class="subxComment">#     trace-sssns(&quot;segment &quot; s-&gt;key &quot; starts at address &quot; s-&gt;address)</span>
 <span id="L1393" class="LineNr">1393 </span>    <span class="subxComment">#     srow += 16  # row-size</span>
 <span id="L1394" class="LineNr">1394 </span>    <span class="subxComment">#   lrow : (address label-info) = labels-&gt;data</span>
-<span id="L1395" class="LineNr">1395 </span>    <span class="subxComment">#   max = labels-&gt;data + labels-&gt;write</span>
+<span id="L1395" class="LineNr">1395 </span>    <span class="subxComment">#   max = &amp;labels-&gt;data[labels-&gt;write]</span>
 <span id="L1396" class="LineNr">1396 </span>    <span class="subxComment">#   while true</span>
 <span id="L1397" class="LineNr">1397 </span>    <span class="subxComment">#     if (lrow &gt;= max) break</span>
 <span id="L1398" class="LineNr">1398 </span>    <span class="subxComment">#     seg-name : (address string) = lrow-&gt;segment-name</span>
@@ -1039,7 +1039,7 @@ if ('onhashchange' in window) {
 <span id="L1422" class="LineNr">1422 </span>    81          0/subop/add         3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x34/imm32        <span class="subxComment"># add to edi</span>
 <span id="L1423" class="LineNr">1423 </span>    <span class="subxComment"># srow/eax = segments-&gt;data</span>
 <span id="L1424" class="LineNr">1424 </span>    8d/copy-address                 1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+12 to eax</span>
-<span id="L1425" class="LineNr">1425 </span>    <span class="subxComment"># max/ecx = segments-&gt;data + segments-&gt;write</span>
+<span id="L1425" class="LineNr">1425 </span>    <span class="subxComment"># max/ecx = &amp;segments-&gt;data[segments-&gt;write]</span>
 <span id="L1426" class="LineNr">1426 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <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"># copy *esi to ecx</span>
 <span id="L1427" class="LineNr">1427 </span>    01/add                          3/mod/direct    1/rm32/ecx   <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"># add esi to ecx</span>
 <span id="L1428" class="LineNr">1428 </span><span class="Constant">$compute-addresses:segment-loop</span>:
@@ -1081,7 +1081,7 @@ if ('onhashchange' in window) {
 <span id="L1489" class="LineNr">1489 </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="L1490" class="LineNr">1490 </span>    <span class="subxComment"># lrow/eax = labels-&gt;data</span>
 <span id="L1491" class="LineNr">1491 </span>    8d/copy-address                 1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+12 to eax</span>
-<span id="L1492" class="LineNr">1492 </span>    <span class="subxComment"># max/ecx = labels-&gt;data + labels-&gt;write</span>
+<span id="L1492" class="LineNr">1492 </span>    <span class="subxComment"># max/ecx = &amp;labels-&gt;data[labels-&gt;write]</span>
 <span id="L1493" class="LineNr">1493 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <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"># copy *esi to ecx</span>
 <span id="L1494" class="LineNr">1494 </span>    01/add                          3/mod/direct    1/rm32/ecx   <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"># add esi to ecx</span>
 <span id="L1495" class="LineNr">1495 </span><span class="Constant">$compute-addresses:label-loop</span>:
@@ -1102,7 +1102,7 @@ if ('onhashchange' in window) {
 <span id="L1560" class="LineNr">1560 </span>    52/push-edx
 <span id="L1561" class="LineNr">1561 </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>
 <span id="L1562" class="LineNr">1562 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L1563" class="LineNr">1563 </span>    e8/call  <a href='../081table.subx.html#L26'>get</a>/disp32
+<span id="L1563" class="LineNr">1563 </span>    e8/call  <a href='../081table.subx.html#L27'>get</a>/disp32
 <span id="L1564" class="LineNr">1564 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1565" class="LineNr">1565 </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="L1566" class="LineNr">1566 </span>    <span class="subxS1Comment"># . edx = eax</span>
@@ -1163,13 +1163,13 @@ if ('onhashchange' in window) {
 <span id="L1621" class="LineNr">1621 </span>    55/push-ebp
 <span id="L1622" class="LineNr">1622 </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="L1623" class="LineNr">1623 </span>    <span class="subxComment"># setup</span>
-<span id="L1624" class="LineNr">1624 </span>    <span class="subxS1Comment"># . var segments/ecx = stream(10 * 16)</span>
+<span id="L1624" class="LineNr">1624 </span>    <span class="subxS1Comment"># . var segments/ecx : (ref stream byte 10*16)</span>
 <span id="L1625" class="LineNr">1625 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L1626" class="LineNr">1626 </span>    68/push  0xa0/imm32/length
 <span id="L1627" class="LineNr">1627 </span>    68/push  0/imm32/read
 <span id="L1628" class="LineNr">1628 </span>    68/push  0/imm32/write
 <span id="L1629" class="LineNr">1629 </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="L1630" class="LineNr">1630 </span>    <span class="subxS1Comment"># . var labels/edx = stream(512 * 16)</span>
+<span id="L1630" class="LineNr">1630 </span>    <span class="subxS1Comment"># . var labels/edx : (ref stream byte 512*16)</span>
 <span id="L1631" class="LineNr">1631 </span>    81          5/subop/subtract    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>              0x2000/imm32      <span class="subxComment"># subtract from esp</span>
 <span id="L1632" class="LineNr">1632 </span>    68/push  0x2000/imm32/length
 <span id="L1633" class="LineNr">1633 </span>    68/push  0/imm32/read
@@ -1307,13 +1307,13 @@ if ('onhashchange' in window) {
 <span id="L1790" class="LineNr">1790 </span>    55/push-ebp
 <span id="L1791" class="LineNr">1791 </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="L1792" class="LineNr">1792 </span>    <span class="subxComment"># setup</span>
-<span id="L1793" class="LineNr">1793 </span>    <span class="subxS1Comment"># . var segments/ecx = stream(10 * 16)</span>
+<span id="L1793" class="LineNr">1793 </span>    <span class="subxS1Comment"># . var segments/ecx : (ref stream byte 10*16)</span>
 <span id="L1794" class="LineNr">1794 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L1795" class="LineNr">1795 </span>    68/push  0xa0/imm32/length
 <span id="L1796" class="LineNr">1796 </span>    68/push  0/imm32/read
 <span id="L1797" class="LineNr">1797 </span>    68/push  0/imm32/write
 <span id="L1798" class="LineNr">1798 </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="L1799" class="LineNr">1799 </span>    <span class="subxS1Comment"># . var labels/edx = stream(512 * 16)</span>
+<span id="L1799" class="LineNr">1799 </span>    <span class="subxS1Comment"># . var labels/edx : (ref stream byte 512*16)</span>
 <span id="L1800" class="LineNr">1800 </span>    81          5/subop/subtract    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>              0x2000/imm32      <span class="subxComment"># subtract from esp</span>
 <span id="L1801" class="LineNr">1801 </span>    68/push  0x2000/imm32/length
 <span id="L1802" class="LineNr">1802 </span>    68/push  0/imm32/read
@@ -1388,7 +1388,7 @@ if ('onhashchange' in window) {
 <span id="L1871" class="LineNr">1871 </span>    5d/pop-to-ebp
 <span id="L1872" class="LineNr">1872 </span>    c3/return
 <span id="L1873" class="LineNr">1873 </span>
-<span id="L1874" class="LineNr">1874 </span><span class="subxFunction">emit-output</span>:  <span class="subxComment"># in : (address stream), out : (address buffered-file), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
+<span id="L1874" class="LineNr">1874 </span><span class="subxFunction">emit-output</span>:  <span class="subxComment"># in : (address stream byte), out : (address buffered-file), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
 <span id="L1875" class="LineNr">1875 </span>    <span class="subxComment"># pseudocode:</span>
 <span id="L1876" class="LineNr">1876 </span>    <span class="subxComment">#   emit-headers(out, segments, labels)</span>
 <span id="L1877" class="LineNr">1877 </span>    <span class="subxComment">#   emit-segments(in, out, segments, labels)</span>
@@ -1423,7 +1423,7 @@ if ('onhashchange' in window) {
 <span id="L1922" class="LineNr">1922 </span>    5d/pop-to-ebp
 <span id="L1923" class="LineNr">1923 </span>    c3/return
 <span id="L1924" class="LineNr">1924 </span>
-<span id="L1925" class="LineNr">1925 </span><span class="subxFunction">emit-segments</span>:  <span class="subxComment"># in : (address stream), out : (address buffered-file), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
+<span id="L1925" class="LineNr">1925 </span><span class="subxFunction">emit-segments</span>:  <span class="subxComment"># in : (address stream byte), out : (address buffered-file), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
 <span id="L1926" class="LineNr">1926 </span>    <span class="subxComment"># pseudocode:</span>
 <span id="L1927" class="LineNr">1927 </span>    <span class="subxComment">#   var offset-of-next-instruction = 0</span>
 <span id="L1928" class="LineNr">1928 </span>    <span class="subxComment">#   var line : (stream byte 512)</span>
@@ -1494,11 +1494,11 @@ if ('onhashchange' in window) {
 <span id="L1993" class="LineNr">1993 </span>    68/push  0/imm32/read
 <span id="L1994" class="LineNr">1994 </span>    68/push  0/imm32/write
 <span id="L1995" class="LineNr">1995 </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="L1996" class="LineNr">1996 </span>    <span class="subxComment"># var word-slice/edx = {0, 0}</span>
+<span id="L1996" class="LineNr">1996 </span>    <span class="subxComment"># var word-slice/edx : (ref slice)</span>
 <span id="L1997" class="LineNr">1997 </span>    68/push  0/imm32/end
 <span id="L1998" class="LineNr">1998 </span>    68/push  0/imm32/start
 <span id="L1999" class="LineNr">1999 </span>    89/copy                         3/mod/direct    2/rm32/edx   <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 edx</span>
-<span id="L2000" class="LineNr">2000 </span>    <span class="subxComment"># var datum/edi = {0, 0}</span>
+<span id="L2000" class="LineNr">2000 </span>    <span class="subxComment"># var datum/edi : (ref slice)</span>
 <span id="L2001" class="LineNr">2001 </span>    68/push  0/imm32/end
 <span id="L2002" class="LineNr">2002 </span>    68/push  0/imm32/start
 <span id="L2003" class="LineNr">2003 </span>    89/copy                         3/mod/direct    7/rm32/edi   <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 edi</span>
@@ -1573,11 +1573,11 @@ if ('onhashchange' in window) {
 <span id="L2136" class="LineNr">2136 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2137" class="LineNr">2137 </span>    52/push-edx
 <span id="L2138" class="LineNr">2138 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2139" class="LineNr">2139 </span>    e8/call  <a href='../077subx-words.subx.html#L542'>is-label?</a>/disp32
+<span id="L2139" class="LineNr">2139 </span>    e8/call  <a href='../077subx-words.subx.html#L535'>is-label?</a>/disp32
 <span id="L2140" class="LineNr">2140 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2141" class="LineNr">2141 </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="L2142" class="LineNr">2142 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L2143" class="LineNr">2143 </span>    3d/compare-eax-and  0/imm32
+<span id="L2142" class="LineNr">2142 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L2143" class="LineNr">2143 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2144" class="LineNr">2144 </span>    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
 <span id="L2145" class="LineNr">2145 </span><span class="Constant">$emit-segments:check-for-segment-header</span>:
 <span id="L2146" class="LineNr">2146 </span>    <span class="subxComment"># if (slice-equal?(word-slice, &quot;==&quot;)) break</span>
@@ -1589,8 +1589,8 @@ if ('onhashchange' in window) {
 <span id="L2152" class="LineNr">2152 </span>    e8/call  <a href='../072slice.subx.html#L91'>slice-equal?</a>/disp32
 <span id="L2153" class="LineNr">2153 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2154" class="LineNr">2154 </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="L2155" class="LineNr">2155 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L2156" class="LineNr">2156 </span>    3d/compare-eax-and  0/imm32
+<span id="L2155" class="LineNr">2155 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L2156" class="LineNr">2156 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2157" class="LineNr">2157 </span>    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
 <span id="L2158" class="LineNr">2158 </span><span class="Constant">$emit-segments:2-character</span>:
 <span id="L2159" class="LineNr">2159 </span>    <span class="subxComment"># if (length(word-slice) != 2) goto next check</span>
@@ -1605,7 +1605,7 @@ if ('onhashchange' in window) {
 <span id="L2168" class="LineNr">2168 </span>    52/push-edx
 <span id="L2169" class="LineNr">2169 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L2170" class="LineNr">2170 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2171" class="LineNr">2171 </span>    e8/call  <a href='../072slice.subx.html#L878'>write-slice-buffered</a>/disp32
+<span id="L2171" class="LineNr">2171 </span>    e8/call  <a href='../072slice.subx.html#L880'>write-slice-buffered</a>/disp32
 <span id="L2172" class="LineNr">2172 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2173" class="LineNr">2173 </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="L2174" class="LineNr">2174 </span>    <span class="subxComment"># write-buffered(out, &quot; &quot;)</span>
@@ -1639,7 +1639,7 @@ if ('onhashchange' in window) {
 <span id="L2234" class="LineNr">2234 </span>    57/push-edi
 <span id="L2235" class="LineNr">2235 </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>
 <span id="L2236" class="LineNr">2236 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2237" class="LineNr">2237 </span>    e8/call  <a href='../081table.subx.html#L200'>get-slice</a>/disp32
+<span id="L2237" class="LineNr">2237 </span>    e8/call  <a href='../081table.subx.html#L201'>get-slice</a>/disp32
 <span id="L2238" class="LineNr">2238 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2239" class="LineNr">2239 </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="L2240" class="LineNr">2240 </span>    <span class="subxS1Comment"># . esi = eax</span>
@@ -1655,8 +1655,8 @@ if ('onhashchange' in window) {
 <span id="L2275" class="LineNr">2275 </span>    e8/call  <a href='../054string-equal.subx.html#L16'>string-equal?</a>/disp32
 <span id="L2276" class="LineNr">2276 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2277" class="LineNr">2277 </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="L2278" class="LineNr">2278 </span>    <span class="subxS1Comment"># . if (eax != 0) goto code label checks</span>
-<span id="L2279" class="LineNr">2279 </span>    3d/compare-eax-and  0/imm32
+<span id="L2278" class="LineNr">2278 </span>    <span class="subxS1Comment"># . if (eax != false) goto code label checks</span>
+<span id="L2279" class="LineNr">2279 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2280" class="LineNr">2280 </span>    0f 85/jump-if-not-equal  $emit-segments:check-code-label-for-imm8/disp32
 <span id="L2281" class="LineNr">2281 </span><span class="Constant">$emit-segments:check-global-variable-for-disp8</span>:
 <span id="L2282" class="LineNr">2282 </span>    <span class="subxComment"># if has-metadata?(word-slice, &quot;disp8&quot;) abort</span>
@@ -1668,8 +1668,8 @@ if ('onhashchange' in window) {
 <span id="L2288" class="LineNr">2288 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2289" class="LineNr">2289 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2290" class="LineNr">2290 </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="L2291" class="LineNr">2291 </span>    <span class="subxS1Comment"># . if (eax != 0) abort</span>
-<span id="L2292" class="LineNr">2292 </span>    3d/compare-eax-and  0/imm32
+<span id="L2291" class="LineNr">2291 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
+<span id="L2292" class="LineNr">2292 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2293" class="LineNr">2293 </span>    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
 <span id="L2294" class="LineNr">2294 </span><span class="Constant">$emit-segments:check-global-variable-for-imm8</span>:
 <span id="L2295" class="LineNr">2295 </span>    <span class="subxComment"># if has-metadata?(word-slice, &quot;imm8&quot;) abort</span>
@@ -1681,8 +1681,8 @@ if ('onhashchange' in window) {
 <span id="L2301" class="LineNr">2301 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2302" class="LineNr">2302 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2303" class="LineNr">2303 </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="L2304" class="LineNr">2304 </span>    <span class="subxS1Comment"># . if (eax != 0) abort</span>
-<span id="L2305" class="LineNr">2305 </span>    3d/compare-eax-and  0/imm32
+<span id="L2304" class="LineNr">2304 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
+<span id="L2305" class="LineNr">2305 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2306" class="LineNr">2306 </span>    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
 <span id="L2307" class="LineNr">2307 </span><span class="Constant">$emit-segments:emit-global-variable</span>:
 <span id="L2308" class="LineNr">2308 </span>    <span class="subxComment"># emit-hex(out, info-&gt;address, 4)</span>
@@ -1706,8 +1706,8 @@ if ('onhashchange' in window) {
 <span id="L2326" class="LineNr">2326 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2327" class="LineNr">2327 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2328" class="LineNr">2328 </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="L2329" class="LineNr">2329 </span>    <span class="subxS1Comment"># . if (eax != 0) abort</span>
-<span id="L2330" class="LineNr">2330 </span>    3d/compare-eax-and  0/imm32
+<span id="L2329" class="LineNr">2329 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
+<span id="L2330" class="LineNr">2330 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2331" class="LineNr">2331 </span>    0f 85/jump-if-not-equal  $emit-segments:imm8-abort/disp32
 <span id="L2332" class="LineNr">2332 </span><span class="Constant">$emit-segments:check-code-label-for-imm32</span>:
 <span id="L2333" class="LineNr">2333 </span>    <span class="subxComment"># if (!has-metadata?(word-slice, &quot;imm32&quot;)) goto next check</span>
@@ -1719,7 +1719,7 @@ if ('onhashchange' in window) {
 <span id="L2339" class="LineNr">2339 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2340" class="LineNr">2340 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2341" class="LineNr">2341 </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="L2342" class="LineNr">2342 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
+<span id="L2342" class="LineNr">2342 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2343" class="LineNr">2343 </span>    3d/compare-eax-and  0/imm32
 <span id="L2344" class="LineNr">2344 </span>    74/jump-if-equal  $emit-segments:check-code-label-for-disp8/disp8
 <span id="L2345" class="Folded">2345 </span><span class="Folded">+-- 33 lines: #?     # dump info-&gt;address --------------------------------------------------------------------------------------------------------------------</span>
@@ -1745,8 +1745,8 @@ if ('onhashchange' in window) {
 <span id="L2397" class="LineNr">2397 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2398" class="LineNr">2398 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2399" class="LineNr">2399 </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="L2400" class="LineNr">2400 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
-<span id="L2401" class="LineNr">2401 </span>    3d/compare-eax-and  0/imm32
+<span id="L2400" class="LineNr">2400 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
+<span id="L2401" class="LineNr">2401 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2402" class="LineNr">2402 </span>    74/jump-if-equal  $emit-segments:check-code-label-for-disp32/disp8
 <span id="L2403" class="LineNr">2403 </span><span class="Constant">$emit-segments:emit-code-label-disp8</span>:
 <span id="L2404" class="LineNr">2404 </span>    <span class="subxComment"># emit-hex(out, info-&gt;offset - offset-of-next-instruction, 1)</span>
@@ -1772,8 +1772,8 @@ if ('onhashchange' in window) {
 <span id="L2424" class="LineNr">2424 </span>    e8/call  <a href='../077subx-words.subx.html#L8'>has-metadata?</a>/disp32
 <span id="L2425" class="LineNr">2425 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2426" class="LineNr">2426 </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="L2427" class="LineNr">2427 </span>    <span class="subxS1Comment"># . if (eax == 0) abort</span>
-<span id="L2428" class="LineNr">2428 </span>    3d/compare-eax-and  0/imm32
+<span id="L2427" class="LineNr">2427 </span>    <span class="subxS1Comment"># . if (eax == false) abort</span>
+<span id="L2428" class="LineNr">2428 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L2429" class="LineNr">2429 </span>    0f 84/jump-if-equal  $emit-segments:abort/disp32
 <span id="L2430" class="LineNr">2430 </span><span class="Constant">$emit-segments:emit-code-label-disp32</span>:
 <span id="L2431" class="LineNr">2431 </span>    <span class="subxComment"># emit-hex(out, info-&gt;offset - offset-of-next-instruction, 4)</span>
@@ -1821,7 +1821,7 @@ if ('onhashchange' in window) {
 <span id="L2473" class="LineNr">2473 </span>    68/push  <span class="Constant">&quot;emit-segments: must refer to global variables with /disp32 or /imm32&quot;</span>/imm32
 <span id="L2474" class="LineNr">2474 </span>    68/push  2/imm32/stderr
 <span id="L2475" class="LineNr">2475 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2476" class="LineNr">2476 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L2476" class="LineNr">2476 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L2477" class="LineNr">2477 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2478" class="LineNr">2478 </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="L2479" class="LineNr">2479 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
@@ -1836,7 +1836,7 @@ if ('onhashchange' in window) {
 <span id="L2488" class="LineNr">2488 </span>    68/push  <span class="Constant">&quot;emit-segments: cannot refer to code labels with /imm8&quot;</span>/imm32
 <span id="L2489" class="LineNr">2489 </span>    68/push  2/imm32/stderr
 <span id="L2490" class="LineNr">2490 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2491" class="LineNr">2491 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L2491" class="LineNr">2491 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L2492" class="LineNr">2492 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2493" class="LineNr">2493 </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="L2494" class="LineNr">2494 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
@@ -1852,7 +1852,7 @@ if ('onhashchange' in window) {
 <span id="L2504" class="LineNr">2504 </span>    68/push  <span class="Constant">&quot;emit-segments: missing metadata in &quot;</span>/imm32
 <span id="L2505" class="LineNr">2505 </span>    68/push  2/imm32/stderr
 <span id="L2506" class="LineNr">2506 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2507" class="LineNr">2507 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L2507" class="LineNr">2507 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L2508" class="LineNr">2508 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2509" class="LineNr">2509 </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="L2510" class="LineNr">2510 </span>    <span class="subxS1Comment"># . write-slice-buffered(Stderr, word-slice)</span>
@@ -1860,7 +1860,7 @@ if ('onhashchange' in window) {
 <span id="L2512" class="LineNr">2512 </span>    52/push-edx
 <span id="L2513" class="LineNr">2513 </span>    68/push  <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>/imm32
 <span id="L2514" class="LineNr">2514 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2515" class="LineNr">2515 </span>    e8/call  <a href='../072slice.subx.html#L878'>write-slice-buffered</a>/disp32
+<span id="L2515" class="LineNr">2515 </span>    e8/call  <a href='../072slice.subx.html#L880'>write-slice-buffered</a>/disp32
 <span id="L2516" class="LineNr">2516 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2517" class="LineNr">2517 </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="L2518" class="LineNr">2518 </span>    <span class="subxS1Comment"># . flush(Stderr)</span>
@@ -1906,7 +1906,7 @@ if ('onhashchange' in window) {
 <span id="L2558" class="LineNr">2558 </span>    <span class="subxComment"># setup</span>
 <span id="L2559" class="LineNr">2559 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L2560" class="LineNr">2560 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L2561" class="LineNr">2561 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2561" class="LineNr">2561 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2562" class="LineNr">2562 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2563" class="LineNr">2563 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2564" class="LineNr">2564 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1918,20 +1918,20 @@ if ('onhashchange' in window) {
 <span id="L2570" class="LineNr">2570 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2571" class="LineNr">2571 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2572" class="LineNr">2572 </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="L2573" class="LineNr">2573 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file-&gt;buffer)</span>
+<span id="L2573" class="LineNr">2573 </span>    <span class="subxS1Comment"># . clear-stream($_test-output-buffered-file-&gt;buffer)</span>
 <span id="L2574" class="LineNr">2574 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L2575" class="LineNr">2575 </span>    68/push  <a href='../064write-byte.subx.html#L331'>_test-output-buffered-file-&gt;buffer</a>/imm32
+<span id="L2575" class="LineNr">2575 </span>    68/push  $_test-output-buffered-file-&gt;buffer/imm32
 <span id="L2576" class="LineNr">2576 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2577" class="LineNr">2577 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2578" class="LineNr">2578 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2579" class="LineNr">2579 </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="L2580" class="LineNr">2580 </span>    <span class="subxS1Comment"># . var segments/ecx = stream(10 * 16)</span>
+<span id="L2580" class="LineNr">2580 </span>    <span class="subxS1Comment"># . var segments/ecx : (ref stream byte 10*16)</span>
 <span id="L2581" class="LineNr">2581 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L2582" class="LineNr">2582 </span>    68/push  0xa0/imm32/length
 <span id="L2583" class="LineNr">2583 </span>    68/push  0/imm32/read
 <span id="L2584" class="LineNr">2584 </span>    68/push  0/imm32/write
 <span id="L2585" class="LineNr">2585 </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="L2586" class="LineNr">2586 </span>    <span class="subxS1Comment"># . var labels/edx = stream(512 * 16)</span>
+<span id="L2586" class="LineNr">2586 </span>    <span class="subxS1Comment"># . var labels/edx : (ref stream byte 512*16)</span>
 <span id="L2587" class="LineNr">2587 </span>    81          5/subop/subtract    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>              0x2000/imm32      <span class="subxComment"># subtract from esp</span>
 <span id="L2588" class="LineNr">2588 </span>    68/push  0x2000/imm32/length
 <span id="L2589" class="LineNr">2589 </span>    68/push  0/imm32/read
@@ -1941,7 +1941,7 @@ if ('onhashchange' in window) {
 <span id="L2593" class="LineNr">2593 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== code 0x1000\n&quot;)</span>
 <span id="L2594" class="LineNr">2594 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2595" class="LineNr">2595 </span>    68/push  <span class="Constant">&quot;== code 0x1000\n&quot;</span>/imm32
-<span id="L2596" class="LineNr">2596 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2596" class="LineNr">2596 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2597" class="LineNr">2597 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2598" class="LineNr">2598 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2599" class="LineNr">2599 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1949,7 +1949,7 @@ if ('onhashchange' in window) {
 <span id="L2601" class="LineNr">2601 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd ef gh\n&quot;)</span>
 <span id="L2602" class="LineNr">2602 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2603" class="LineNr">2603 </span>    68/push  <span class="Constant">&quot;ab cd ef gh\n&quot;</span>/imm32
-<span id="L2604" class="LineNr">2604 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2604" class="LineNr">2604 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2605" class="LineNr">2605 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2606" class="LineNr">2606 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2607" class="LineNr">2607 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1957,7 +1957,7 @@ if ('onhashchange' in window) {
 <span id="L2609" class="LineNr">2609 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ij x/disp32\n&quot;)</span>
 <span id="L2610" class="LineNr">2610 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2611" class="LineNr">2611 </span>    68/push  <span class="Constant">&quot;ij x/disp32\n&quot;</span>/imm32
-<span id="L2612" class="LineNr">2612 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2612" class="LineNr">2612 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2613" class="LineNr">2613 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2614" class="LineNr">2614 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2615" class="LineNr">2615 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1965,7 +1965,7 @@ if ('onhashchange' in window) {
 <span id="L2617" class="LineNr">2617 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== data 0x2000\n&quot;)</span>
 <span id="L2618" class="LineNr">2618 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2619" class="LineNr">2619 </span>    68/push  <span class="Constant">&quot;== data 0x2000\n&quot;</span>/imm32
-<span id="L2620" class="LineNr">2620 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2620" class="LineNr">2620 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2621" class="LineNr">2621 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2622" class="LineNr">2622 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2623" class="LineNr">2623 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1973,7 +1973,7 @@ if ('onhashchange' in window) {
 <span id="L2625" class="LineNr">2625 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;00\n&quot;)</span>
 <span id="L2626" class="LineNr">2626 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2627" class="LineNr">2627 </span>    68/push  <span class="Constant">&quot;00\n&quot;</span>/imm32
-<span id="L2628" class="LineNr">2628 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2628" class="LineNr">2628 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2629" class="LineNr">2629 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2630" class="LineNr">2630 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2631" class="LineNr">2631 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1981,7 +1981,7 @@ if ('onhashchange' in window) {
 <span id="L2633" class="LineNr">2633 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;x:\n&quot;)</span>
 <span id="L2634" class="LineNr">2634 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2635" class="LineNr">2635 </span>    68/push  <span class="Constant">&quot;x:\n&quot;</span>/imm32
-<span id="L2636" class="LineNr">2636 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2636" class="LineNr">2636 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2637" class="LineNr">2637 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2638" class="LineNr">2638 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2639" class="LineNr">2639 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -1989,7 +1989,7 @@ if ('onhashchange' in window) {
 <span id="L2641" class="LineNr">2641 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;34\n&quot;)</span>
 <span id="L2642" class="LineNr">2642 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2643" class="LineNr">2643 </span>    68/push  <span class="Constant">&quot;34\n&quot;</span>/imm32
-<span id="L2644" class="LineNr">2644 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2644" class="LineNr">2644 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2645" class="LineNr">2645 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2646" class="LineNr">2646 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2647" class="LineNr">2647 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2030,7 +2030,7 @@ if ('onhashchange' in window) {
 <span id="L2682" class="LineNr">2682 </span>    52/push-edx
 <span id="L2683" class="LineNr">2683 </span>    51/push-ecx
 <span id="L2684" class="LineNr">2684 </span>    68/push  <a href='../064write-byte.subx.html#L328'>_test-output-buffered-file</a>/imm32
-<span id="L2685" class="LineNr">2685 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2685" class="LineNr">2685 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2686" class="LineNr">2686 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2687" class="LineNr">2687 </span>    e8/call  <a href='survey.subx.html#L1925'>emit-segments</a>/disp32
 <span id="L2688" class="LineNr">2688 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2050,7 +2050,7 @@ if ('onhashchange' in window) {
 <span id="L2734" class="LineNr">2734 </span>    68/push  <span class="Constant">&quot;ab cd ef gh &quot;</span>/imm32
 <span id="L2735" class="LineNr">2735 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2736" class="LineNr">2736 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2737" class="LineNr">2737 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2737" class="LineNr">2737 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2738" class="LineNr">2738 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2739" class="LineNr">2739 </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="L2740" class="LineNr">2740 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ij 7a 20 00 00 &quot;, msg)</span>
@@ -2059,7 +2059,7 @@ if ('onhashchange' in window) {
 <span id="L2743" class="LineNr">2743 </span>    68/push  <span class="Constant">&quot;ij 7a 20 00 00 &quot;</span>/imm32
 <span id="L2744" class="LineNr">2744 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2745" class="LineNr">2745 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2746" class="LineNr">2746 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2746" class="LineNr">2746 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2747" class="LineNr">2747 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2748" class="LineNr">2748 </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="L2749" class="LineNr">2749 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;00 &quot;, msg)</span>
@@ -2068,7 +2068,7 @@ if ('onhashchange' in window) {
 <span id="L2752" class="LineNr">2752 </span>    68/push  <span class="Constant">&quot;00 &quot;</span>/imm32
 <span id="L2753" class="LineNr">2753 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2754" class="LineNr">2754 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2755" class="LineNr">2755 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2755" class="LineNr">2755 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2756" class="LineNr">2756 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2757" class="LineNr">2757 </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="L2758" class="LineNr">2758 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;34 &quot;, msg)</span>
@@ -2077,7 +2077,7 @@ if ('onhashchange' in window) {
 <span id="L2761" class="LineNr">2761 </span>    68/push  <span class="Constant">&quot;34 &quot;</span>/imm32
 <span id="L2762" class="LineNr">2762 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2763" class="LineNr">2763 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2764" class="LineNr">2764 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2764" class="LineNr">2764 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2765" class="LineNr">2765 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2766" class="LineNr">2766 </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="L2767" class="LineNr">2767 </span>    <span class="subxS1Comment"># . epilogue</span>
@@ -2111,7 +2111,7 @@ if ('onhashchange' in window) {
 <span id="L2795" class="LineNr">2795 </span>    <span class="subxComment"># setup</span>
 <span id="L2796" class="LineNr">2796 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L2797" class="LineNr">2797 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L2798" class="LineNr">2798 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2798" class="LineNr">2798 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2799" class="LineNr">2799 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2800" class="LineNr">2800 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2801" class="LineNr">2801 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2123,20 +2123,20 @@ if ('onhashchange' in window) {
 <span id="L2807" class="LineNr">2807 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2808" class="LineNr">2808 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2809" class="LineNr">2809 </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="L2810" class="LineNr">2810 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file-&gt;buffer)</span>
+<span id="L2810" class="LineNr">2810 </span>    <span class="subxS1Comment"># . clear-stream($_test-output-buffered-file-&gt;buffer)</span>
 <span id="L2811" class="LineNr">2811 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L2812" class="LineNr">2812 </span>    68/push  <a href='../064write-byte.subx.html#L331'>_test-output-buffered-file-&gt;buffer</a>/imm32
+<span id="L2812" class="LineNr">2812 </span>    68/push  $_test-output-buffered-file-&gt;buffer/imm32
 <span id="L2813" class="LineNr">2813 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2814" class="LineNr">2814 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L2815" class="LineNr">2815 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2816" class="LineNr">2816 </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="L2817" class="LineNr">2817 </span>    <span class="subxS1Comment"># . var segments/ecx = stream(10 * 16)</span>
+<span id="L2817" class="LineNr">2817 </span>    <span class="subxS1Comment"># . var segments/ecx : (ref stream byte 10*16)</span>
 <span id="L2818" class="LineNr">2818 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L2819" class="LineNr">2819 </span>    68/push  0xa0/imm32/length
 <span id="L2820" class="LineNr">2820 </span>    68/push  0/imm32/read
 <span id="L2821" class="LineNr">2821 </span>    68/push  0/imm32/write
 <span id="L2822" class="LineNr">2822 </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="L2823" class="LineNr">2823 </span>    <span class="subxS1Comment"># . var labels/edx = stream(512 * 16)</span>
+<span id="L2823" class="LineNr">2823 </span>    <span class="subxS1Comment"># . var labels/edx : (ref stream byte 512*16)</span>
 <span id="L2824" class="LineNr">2824 </span>    81          5/subop/subtract    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>              0x2000/imm32      <span class="subxComment"># subtract from esp</span>
 <span id="L2825" class="LineNr">2825 </span>    68/push  0x2000/imm32/length
 <span id="L2826" class="LineNr">2826 </span>    68/push  0/imm32/read
@@ -2146,7 +2146,7 @@ if ('onhashchange' in window) {
 <span id="L2830" class="LineNr">2830 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== code 0x1000\n&quot;)</span>
 <span id="L2831" class="LineNr">2831 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2832" class="LineNr">2832 </span>    68/push  <span class="Constant">&quot;== code 0x1000\n&quot;</span>/imm32
-<span id="L2833" class="LineNr">2833 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2833" class="LineNr">2833 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2834" class="LineNr">2834 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2835" class="LineNr">2835 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2836" class="LineNr">2836 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2154,7 +2154,7 @@ if ('onhashchange' in window) {
 <span id="L2838" class="LineNr">2838 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd\n&quot;)</span>
 <span id="L2839" class="LineNr">2839 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2840" class="LineNr">2840 </span>    68/push  <span class="Constant">&quot;ab cd\n&quot;</span>/imm32
-<span id="L2841" class="LineNr">2841 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2841" class="LineNr">2841 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2842" class="LineNr">2842 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2843" class="LineNr">2843 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2844" class="LineNr">2844 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2162,7 +2162,7 @@ if ('onhashchange' in window) {
 <span id="L2846" class="LineNr">2846 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;l1:\n&quot;)</span>
 <span id="L2847" class="LineNr">2847 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2848" class="LineNr">2848 </span>    68/push  <span class="Constant">&quot;l1:\n&quot;</span>/imm32
-<span id="L2849" class="LineNr">2849 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2849" class="LineNr">2849 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2850" class="LineNr">2850 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2851" class="LineNr">2851 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2852" class="LineNr">2852 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2170,7 +2170,7 @@ if ('onhashchange' in window) {
 <span id="L2854" class="LineNr">2854 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;  ef gh\n&quot;)</span>
 <span id="L2855" class="LineNr">2855 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2856" class="LineNr">2856 </span>    68/push  <span class="Constant">&quot;  ef gh\n&quot;</span>/imm32
-<span id="L2857" class="LineNr">2857 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2857" class="LineNr">2857 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2858" class="LineNr">2858 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2859" class="LineNr">2859 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2860" class="LineNr">2860 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2178,7 +2178,7 @@ if ('onhashchange' in window) {
 <span id="L2862" class="LineNr">2862 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;  ij l1/disp32\n&quot;)</span>
 <span id="L2863" class="LineNr">2863 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2864" class="LineNr">2864 </span>    68/push  <span class="Constant">&quot;  ij l1/disp32\n&quot;</span>/imm32
-<span id="L2865" class="LineNr">2865 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2865" class="LineNr">2865 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2866" class="LineNr">2866 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2867" class="LineNr">2867 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L2868" class="LineNr">2868 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2209,7 +2209,7 @@ if ('onhashchange' in window) {
 <span id="L2893" class="LineNr">2893 </span>    52/push-edx
 <span id="L2894" class="LineNr">2894 </span>    51/push-ecx
 <span id="L2895" class="LineNr">2895 </span>    68/push  <a href='../064write-byte.subx.html#L328'>_test-output-buffered-file</a>/imm32
-<span id="L2896" class="LineNr">2896 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L2896" class="LineNr">2896 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L2897" class="LineNr">2897 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L2898" class="LineNr">2898 </span>    e8/call  <a href='survey.subx.html#L1925'>emit-segments</a>/disp32
 <span id="L2899" class="LineNr">2899 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2229,7 +2229,7 @@ if ('onhashchange' in window) {
 <span id="L2945" class="LineNr">2945 </span>    68/push  <span class="Constant">&quot;ab cd &quot;</span>/imm32
 <span id="L2946" class="LineNr">2946 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2947" class="LineNr">2947 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2948" class="LineNr">2948 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2948" class="LineNr">2948 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2949" class="LineNr">2949 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2950" class="LineNr">2950 </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="L2951" class="LineNr">2951 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ef gh &quot;, msg)</span>
@@ -2238,7 +2238,7 @@ if ('onhashchange' in window) {
 <span id="L2954" class="LineNr">2954 </span>    68/push  <span class="Constant">&quot;ef gh &quot;</span>/imm32
 <span id="L2955" class="LineNr">2955 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2956" class="LineNr">2956 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2957" class="LineNr">2957 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2957" class="LineNr">2957 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L2958" class="LineNr">2958 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L2959" class="LineNr">2959 </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="L2960" class="LineNr">2960 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ij f9 ff ff ff &quot;, msg)</span>
@@ -2247,7 +2247,7 @@ if ('onhashchange' in window) {
 <span id="L2963" class="LineNr">2963 </span>    68/push  <span class="Constant">&quot;ij f9 ff ff ff &quot;</span>/imm32
 <span id="L2964" class="LineNr">2964 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L2965" class="LineNr">2965 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L2966" class="LineNr">2966 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L2966" class="LineNr">2966 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</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>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L2969" class="LineNr">2969 </span>    <span class="subxS1Comment"># . epilogue</span>
@@ -2281,7 +2281,7 @@ if ('onhashchange' in window) {
 <span id="L2997" class="LineNr">2997 </span>    <span class="subxComment"># setup</span>
 <span id="L2998" class="LineNr">2998 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L2999" class="LineNr">2999 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L3000" class="LineNr">3000 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3000" class="LineNr">3000 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3001" class="LineNr">3001 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3002" class="LineNr">3002 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L3003" class="LineNr">3003 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2293,20 +2293,20 @@ if ('onhashchange' in window) {
 <span id="L3009" class="LineNr">3009 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L3010" class="LineNr">3010 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3011" class="LineNr">3011 </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="L3012" class="LineNr">3012 </span>    <span class="subxS1Comment"># . clear-stream(_test-output-buffered-file-&gt;buffer)</span>
+<span id="L3012" class="LineNr">3012 </span>    <span class="subxS1Comment"># . clear-stream($_test-output-buffered-file-&gt;buffer)</span>
 <span id="L3013" class="LineNr">3013 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L3014" class="LineNr">3014 </span>    68/push  <a href='../064write-byte.subx.html#L331'>_test-output-buffered-file-&gt;buffer</a>/imm32
+<span id="L3014" class="LineNr">3014 </span>    68/push  $_test-output-buffered-file-&gt;buffer/imm32
 <span id="L3015" class="LineNr">3015 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3016" class="LineNr">3016 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L3017" class="LineNr">3017 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3018" class="LineNr">3018 </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="L3019" class="LineNr">3019 </span>    <span class="subxS1Comment"># . var segments/ecx = stream(10 * 16)</span>
+<span id="L3019" class="LineNr">3019 </span>    <span class="subxS1Comment"># . var segments/ecx : (ref stream byte 10*16)</span>
 <span id="L3020" class="LineNr">3020 </span>    81          5/subop/subtract    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>              0xa0/imm32        <span class="subxComment"># subtract from esp</span>
 <span id="L3021" class="LineNr">3021 </span>    68/push  0xa0/imm32/length
 <span id="L3022" class="LineNr">3022 </span>    68/push  0/imm32/read
 <span id="L3023" class="LineNr">3023 </span>    68/push  0/imm32/write
 <span id="L3024" class="LineNr">3024 </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="L3025" class="LineNr">3025 </span>    <span class="subxS1Comment"># . var labels/edx = stream(512 * 16)</span>
+<span id="L3025" class="LineNr">3025 </span>    <span class="subxS1Comment"># . var labels/edx : (ref stream byte 512*16)</span>
 <span id="L3026" class="LineNr">3026 </span>    81          5/subop/subtract    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>              0x2000/imm32      <span class="subxComment"># subtract from esp</span>
 <span id="L3027" class="LineNr">3027 </span>    68/push  0x2000/imm32/length
 <span id="L3028" class="LineNr">3028 </span>    68/push  0/imm32/read
@@ -2316,7 +2316,7 @@ if ('onhashchange' in window) {
 <span id="L3032" class="LineNr">3032 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== code 0x1000\n&quot;)</span>
 <span id="L3033" class="LineNr">3033 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3034" class="LineNr">3034 </span>    68/push  <span class="Constant">&quot;== code 0x1000\n&quot;</span>/imm32
-<span id="L3035" class="LineNr">3035 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3035" class="LineNr">3035 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3036" class="LineNr">3036 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3037" class="LineNr">3037 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3038" class="LineNr">3038 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2324,7 +2324,7 @@ if ('onhashchange' in window) {
 <span id="L3040" class="LineNr">3040 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd\n&quot;)</span>
 <span id="L3041" class="LineNr">3041 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3042" class="LineNr">3042 </span>    68/push  <span class="Constant">&quot;ab cd\n&quot;</span>/imm32
-<span id="L3043" class="LineNr">3043 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3043" class="LineNr">3043 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3044" class="LineNr">3044 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3045" class="LineNr">3045 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3046" class="LineNr">3046 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2332,7 +2332,7 @@ if ('onhashchange' in window) {
 <span id="L3048" class="LineNr">3048 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;l1:\n&quot;)</span>
 <span id="L3049" class="LineNr">3049 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3050" class="LineNr">3050 </span>    68/push  <span class="Constant">&quot;l1:\n&quot;</span>/imm32
-<span id="L3051" class="LineNr">3051 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3051" class="LineNr">3051 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3052" class="LineNr">3052 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3053" class="LineNr">3053 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3054" class="LineNr">3054 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2340,7 +2340,7 @@ if ('onhashchange' in window) {
 <span id="L3056" class="LineNr">3056 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;  ef gh\n&quot;)</span>
 <span id="L3057" class="LineNr">3057 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3058" class="LineNr">3058 </span>    68/push  <span class="Constant">&quot;  ef gh\n&quot;</span>/imm32
-<span id="L3059" class="LineNr">3059 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3059" class="LineNr">3059 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3060" class="LineNr">3060 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3061" class="LineNr">3061 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3062" class="LineNr">3062 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2348,7 +2348,7 @@ if ('onhashchange' in window) {
 <span id="L3064" class="LineNr">3064 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;  ij l1/imm32\n&quot;)</span>
 <span id="L3065" class="LineNr">3065 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3066" class="LineNr">3066 </span>    68/push  <span class="Constant">&quot;  ij l1/imm32\n&quot;</span>/imm32
-<span id="L3067" class="LineNr">3067 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3067" class="LineNr">3067 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3068" class="LineNr">3068 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3069" class="LineNr">3069 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3070" class="LineNr">3070 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2379,7 +2379,7 @@ if ('onhashchange' in window) {
 <span id="L3095" class="LineNr">3095 </span>    52/push-edx
 <span id="L3096" class="LineNr">3096 </span>    51/push-ecx
 <span id="L3097" class="LineNr">3097 </span>    68/push  <a href='../064write-byte.subx.html#L328'>_test-output-buffered-file</a>/imm32
-<span id="L3098" class="LineNr">3098 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L3098" class="LineNr">3098 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L3099" class="LineNr">3099 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3100" class="LineNr">3100 </span>    e8/call  <a href='survey.subx.html#L1925'>emit-segments</a>/disp32
 <span id="L3101" class="LineNr">3101 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2399,7 +2399,7 @@ if ('onhashchange' in window) {
 <span id="L3147" class="LineNr">3147 </span>    68/push  <span class="Constant">&quot;ab cd &quot;</span>/imm32
 <span id="L3148" class="LineNr">3148 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L3149" class="LineNr">3149 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3150" class="LineNr">3150 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L3150" class="LineNr">3150 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L3151" class="LineNr">3151 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3152" class="LineNr">3152 </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="L3153" class="LineNr">3153 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ef gh &quot;, msg)</span>
@@ -2408,7 +2408,7 @@ if ('onhashchange' in window) {
 <span id="L3156" class="LineNr">3156 </span>    68/push  <span class="Constant">&quot;ef gh &quot;</span>/imm32
 <span id="L3157" class="LineNr">3157 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L3158" class="LineNr">3158 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3159" class="LineNr">3159 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L3159" class="LineNr">3159 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L3160" class="LineNr">3160 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3161" class="LineNr">3161 </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="L3162" class="LineNr">3162 </span>    <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, &quot;ij f9 ff ff ff &quot;, msg)</span>
@@ -2417,7 +2417,7 @@ if ('onhashchange' in window) {
 <span id="L3165" class="LineNr">3165 </span>    68/push  <span class="Constant">&quot;ij 56 10 00 00 &quot;</span>/imm32
 <span id="L3166" class="LineNr">3166 </span>    68/push  <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>/imm32
 <span id="L3167" class="LineNr">3167 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3168" class="LineNr">3168 </span>    e8/call  <a href='../058stream-equal.subx.html#L563'>check-next-stream-line-equal</a>/disp32
+<span id="L3168" class="LineNr">3168 </span>    e8/call  <a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a>/disp32
 <span id="L3169" class="LineNr">3169 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3170" class="LineNr">3170 </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="L3171" class="LineNr">3171 </span>    <span class="subxS1Comment"># . epilogue</span>
@@ -2429,7 +2429,7 @@ if ('onhashchange' in window) {
 <span id="L3177" class="LineNr">3177 </span>    <span class="subxComment"># pseudocode:</span>
 <span id="L3178" class="LineNr">3178 </span>    <span class="subxComment">#   emit-elf-header(out, segments, labels)</span>
 <span id="L3179" class="LineNr">3179 </span>    <span class="subxComment">#   curr-segment = segments-&gt;data</span>
-<span id="L3180" class="LineNr">3180 </span>    <span class="subxComment">#   max = segments-&gt;data + segments-&gt;write</span>
+<span id="L3180" class="LineNr">3180 </span>    <span class="subxComment">#   max = &amp;segments-&gt;data[segments-&gt;write]</span>
 <span id="L3181" class="LineNr">3181 </span>    <span class="subxComment">#   while true</span>
 <span id="L3182" class="LineNr">3182 </span>    <span class="subxComment">#     if (curr-segment &gt;= max) break</span>
 <span id="L3183" class="LineNr">3183 </span>    <span class="subxComment">#     emit-elf-program-header-entry(out, curr-segment)</span>
@@ -2457,7 +2457,7 @@ if ('onhashchange' in window) {
 <span id="L3213" class="LineNr">3213 </span>    8b/copy                         0/mod/indirect  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"># copy *eax to ecx</span>
 <span id="L3214" class="LineNr">3214 </span>    <span class="subxComment"># curr-segment/eax = segments-&gt;data</span>
 <span id="L3215" class="LineNr">3215 </span>    8d/copy-address                 1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy eax+12 to eax</span>
-<span id="L3216" class="LineNr">3216 </span>    <span class="subxComment"># max/ecx = segments-&gt;data + segments-&gt;write</span>
+<span id="L3216" class="LineNr">3216 </span>    <span class="subxComment"># max/ecx = &amp;segments-&gt;data[segments-&gt;write]</span>
 <span id="L3217" class="LineNr">3217 </span>    01/add                          3/mod/direct    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"># add eax to ecx</span>
 <span id="L3218" class="LineNr">3218 </span><span class="Constant">$emit-headers:loop</span>:
 <span id="L3219" class="LineNr">3219 </span>    <span class="subxComment"># if (curr-segment &gt;= max) break</span>
@@ -2487,8 +2487,8 @@ if ('onhashchange' in window) {
 <span id="L3313" class="LineNr">3313 </span>
 <span id="L3314" class="LineNr">3314 </span><span class="subxFunction">emit-elf-header</span>:  <span class="subxComment"># out : (address buffered-file), segments : (address stream {string, segment-info}), labels : (address stream {string, label-info})</span>
 <span id="L3315" class="LineNr">3315 </span>    <span class="subxComment"># pseudocode</span>
-<span id="L3316" class="LineNr">3316 </span>    <span class="subxComment">#   *Elf_e_entry = get(labels, &quot;Entry&quot;)-&gt;address</span>
-<span id="L3317" class="LineNr">3317 </span>    <span class="subxComment">#   *Elf_e_phnum = segments-&gt;write / 16         # size of a row</span>
+<span id="L3316" class="LineNr">3316 </span>    <span class="subxComment">#   *$Elf_e_entry = get(labels, &quot;Entry&quot;)-&gt;address</span>
+<span id="L3317" class="LineNr">3317 </span>    <span class="subxComment">#   *$Elf_e_phnum = segments-&gt;write / 16         # size of a row</span>
 <span id="L3318" class="LineNr">3318 </span>    <span class="subxComment">#   emit-hex-array(out, Elf_header)</span>
 <span id="L3319" class="LineNr">3319 </span>    <span class="subxComment">#   write-buffered(out, &quot;\n&quot;)</span>
 <span id="L3320" class="LineNr">3320 </span>    <span class="subxComment">#</span>
@@ -2499,7 +2499,7 @@ if ('onhashchange' in window) {
 <span id="L3325" class="LineNr">3325 </span>    50/push-eax
 <span id="L3326" class="LineNr">3326 </span>    51/push-ecx
 <span id="L3327" class="LineNr">3327 </span>    52/push-edx  <span class="subxComment"># just because we need to call idiv</span>
-<span id="L3328" class="LineNr">3328 </span>    <span class="subxComment"># *Elf_e_entry = get(labels, &quot;Entry&quot;)-&gt;address</span>
+<span id="L3328" class="LineNr">3328 </span>    <span class="subxComment"># *$Elf_e_entry = get(labels, &quot;Entry&quot;)-&gt;address</span>
 <span id="L3329" class="LineNr">3329 </span>    <span class="subxS1Comment"># . eax = labels</span>
 <span id="L3330" class="LineNr">3330 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+16) to eax</span>
 <span id="L3331" class="LineNr">3331 </span>    <span class="subxS1Comment"># . label-info/eax = get(labels, &quot;Entry&quot;, row-size=16, &quot;label table&quot;)</span>
@@ -2509,14 +2509,14 @@ if ('onhashchange' in window) {
 <span id="L3335" class="LineNr">3335 </span>    68/push  <span class="Constant">&quot;Entry&quot;</span>/imm32
 <span id="L3336" class="LineNr">3336 </span>    50/push-eax
 <span id="L3337" class="LineNr">3337 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3338" class="LineNr">3338 </span>    e8/call  <a href='../081table.subx.html#L26'>get</a>/disp32
+<span id="L3338" class="LineNr">3338 </span>    e8/call  <a href='../081table.subx.html#L27'>get</a>/disp32
 <span id="L3339" class="LineNr">3339 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3340" class="LineNr">3340 </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="L3341" class="LineNr">3341 </span>    <span class="subxS1Comment"># . eax = label-info-&gt;address</span>
 <span id="L3342" class="LineNr">3342 </span>    8b/copy                         1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(eax+8) to eax</span>
-<span id="L3343" class="LineNr">3343 </span>    <span class="subxS1Comment"># . *Elf_e_entry = eax</span>
-<span id="L3344" class="LineNr">3344 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4686'>Elf_e_entry</a></span>/disp32                <span class="subxComment"># copy eax to *Elf_e_entry</span>
-<span id="L3345" class="LineNr">3345 </span>    <span class="subxComment"># *Elf_e_phnum = segments-&gt;write / 0x10</span>
+<span id="L3343" class="LineNr">3343 </span>    <span class="subxS1Comment"># . *$Elf_e_entry = eax</span>
+<span id="L3344" class="LineNr">3344 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_e_entry</span>/disp32               <span class="subxComment"># copy eax to *$Elf_e_entry</span>
+<span id="L3345" class="LineNr">3345 </span>    <span class="subxComment"># *$Elf_e_phnum = segments-&gt;write / 0x10</span>
 <span id="L3346" class="LineNr">3346 </span>    <span class="subxS1Comment"># . eax = segments</span>
 <span id="L3347" class="LineNr">3347 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
 <span id="L3348" class="LineNr">3348 </span>    <span class="subxS1Comment"># . len/eax = segments-&gt;write</span>
@@ -2525,8 +2525,8 @@ if ('onhashchange' in window) {
 <span id="L3351" class="LineNr">3351 </span>    b9/copy-to-ecx  0x10/imm32
 <span id="L3352" class="LineNr">3352 </span>    31/xor                          3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear edx</span>
 <span id="L3353" class="LineNr">3353 </span>    f7          7/subop/idiv        3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># divide edx:eax by ecx, storing quotient in eax and remainder in edx</span>
-<span id="L3354" class="LineNr">3354 </span>    <span class="subxS1Comment"># . *Elf_e_phnum = eax</span>
-<span id="L3355" class="LineNr">3355 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4698'>Elf_e_phnum</a></span>/disp32                <span class="subxComment"># copy eax to *Elf_e_phnum</span>
+<span id="L3354" class="LineNr">3354 </span>    <span class="subxS1Comment"># . *$Elf_e_phnum = eax</span>
+<span id="L3355" class="LineNr">3355 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_e_phnum</span>/disp32               <span class="subxComment"># copy eax to *$Elf_e_phnum</span>
 <span id="L3356" class="LineNr">3356 </span>    <span class="subxComment"># emit-hex-array(out, Elf_header)</span>
 <span id="L3357" class="LineNr">3357 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3358" class="LineNr">3358 </span>    68/push  <span class="SpecialChar"><a href='survey.subx.html#L4672'>Elf_header</a></span>/imm32
@@ -2555,15 +2555,15 @@ if ('onhashchange' in window) {
 <span id="L3381" class="LineNr">3381 </span>
 <span id="L3382" class="LineNr">3382 </span><span class="subxFunction">emit-elf-program-header-entry</span>:  <span class="subxComment"># out : (address buffered-file), curr-segment : (address {string, segment-info})</span>
 <span id="L3383" class="LineNr">3383 </span>    <span class="subxComment"># pseudocode:</span>
-<span id="L3384" class="LineNr">3384 </span>    <span class="subxComment">#   *Elf_p_offset = curr-segment-&gt;file-offset</span>
-<span id="L3385" class="LineNr">3385 </span>    <span class="subxComment">#   *Elf_p_vaddr = curr-segment-&gt;address</span>
-<span id="L3386" class="LineNr">3386 </span>    <span class="subxComment">#   *Elf_p_paddr = curr-segment-&gt;address</span>
-<span id="L3387" class="LineNr">3387 </span>    <span class="subxComment">#   *Elf_p_filesz = curr-segment-&gt;size</span>
-<span id="L3388" class="LineNr">3388 </span>    <span class="subxComment">#   *Elf_p_memsz = curr-segment-&gt;size</span>
+<span id="L3384" class="LineNr">3384 </span>    <span class="subxComment">#   *$Elf_p_offset = curr-segment-&gt;file-offset</span>
+<span id="L3385" class="LineNr">3385 </span>    <span class="subxComment">#   *$Elf_p_vaddr = curr-segment-&gt;address</span>
+<span id="L3386" class="LineNr">3386 </span>    <span class="subxComment">#   *$Elf_p_paddr = curr-segment-&gt;address</span>
+<span id="L3387" class="LineNr">3387 </span>    <span class="subxComment">#   *$Elf_p_filesz = curr-segment-&gt;size</span>
+<span id="L3388" class="LineNr">3388 </span>    <span class="subxComment">#   *$Elf_p_memsz = curr-segment-&gt;size</span>
 <span id="L3389" class="LineNr">3389 </span>    <span class="subxComment">#   if curr-segment-&gt;name == &quot;code&quot;</span>
-<span id="L3390" class="LineNr">3390 </span>    <span class="subxComment">#     *Elf_p_flags = 5  # r-x</span>
+<span id="L3390" class="LineNr">3390 </span>    <span class="subxComment">#     *$Elf_p_flags = 5  # r-x</span>
 <span id="L3391" class="LineNr">3391 </span>    <span class="subxComment">#   else</span>
-<span id="L3392" class="LineNr">3392 </span>    <span class="subxComment">#     *Elf_p_flags = 6  # rw-</span>
+<span id="L3392" class="LineNr">3392 </span>    <span class="subxComment">#     *$Elf_p_flags = 6  # rw-</span>
 <span id="L3393" class="LineNr">3393 </span>    <span class="subxComment">#   emit-hex-array(out, Elf_program_header_entry)</span>
 <span id="L3394" class="LineNr">3394 </span>    <span class="subxComment">#   write-buffered(out, &quot;\n&quot;)</span>
 <span id="L3395" class="LineNr">3395 </span>    <span class="subxComment">#</span>
@@ -2575,25 +2575,25 @@ if ('onhashchange' in window) {
 <span id="L3401" class="LineNr">3401 </span>    56/push-esi
 <span id="L3402" class="LineNr">3402 </span>    <span class="subxComment"># esi = curr-segment</span>
 <span id="L3403" class="LineNr">3403 </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="L3404" class="LineNr">3404 </span>    <span class="subxComment"># *Elf_p_offset = curr-segment-&gt;file-offset</span>
+<span id="L3404" class="LineNr">3404 </span>    <span class="subxComment"># *$Elf_p_offset = curr-segment-&gt;file-offset</span>
 <span id="L3405" class="LineNr">3405 </span>    <span class="subxS1Comment"># . eax = curr-segment-&gt;file-offset</span>
 <span id="L3406" class="LineNr">3406 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+8) to eax</span>
-<span id="L3407" class="LineNr">3407 </span>    <span class="subxS1Comment"># . *Elf_p_offset = eax</span>
-<span id="L3408" class="LineNr">3408 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4716'>Elf_p_offset</a></span>/disp32               <span class="subxComment"># copy eax to *Elf_p_offset</span>
-<span id="L3409" class="LineNr">3409 </span>    <span class="subxComment"># *Elf_p_vaddr = curr-segment-&gt;address</span>
+<span id="L3407" class="LineNr">3407 </span>    <span class="subxS1Comment"># . *$Elf_p_offset = eax</span>
+<span id="L3408" class="LineNr">3408 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_p_offset</span>/disp32              <span class="subxComment"># copy eax to *$Elf_p_offset</span>
+<span id="L3409" class="LineNr">3409 </span>    <span class="subxComment"># *$Elf_p_vaddr = curr-segment-&gt;address</span>
 <span id="L3410" class="LineNr">3410 </span>    <span class="subxS1Comment"># . eax = curr-segment-&gt;address</span>
 <span id="L3411" class="LineNr">3411 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
-<span id="L3412" class="LineNr">3412 </span>    <span class="subxS1Comment"># . *Elf_p_vaddr = eax</span>
-<span id="L3413" class="LineNr">3413 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4718'>Elf_p_vaddr</a></span>/disp32                <span class="subxComment"># copy eax to *Elf_p_vaddr</span>
-<span id="L3414" class="LineNr">3414 </span>    <span class="subxComment"># *Elf_p_paddr = curr-segment-&gt;address</span>
-<span id="L3415" class="LineNr">3415 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4720'>Elf_p_paddr</a></span>/disp32                <span class="subxComment"># copy eax to *Elf_p_paddr</span>
-<span id="L3416" class="LineNr">3416 </span>    <span class="subxComment"># *Elf_p_filesz = curr-segment-&gt;size</span>
+<span id="L3412" class="LineNr">3412 </span>    <span class="subxS1Comment"># . *$Elf_p_vaddr = eax</span>
+<span id="L3413" class="LineNr">3413 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_p_vaddr</span>/disp32               <span class="subxComment"># copy eax to *$Elf_p_vaddr</span>
+<span id="L3414" class="LineNr">3414 </span>    <span class="subxComment"># *$Elf_p_paddr = curr-segment-&gt;address</span>
+<span id="L3415" class="LineNr">3415 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_p_paddr</span>/disp32               <span class="subxComment"># copy eax to *$Elf_p_paddr</span>
+<span id="L3416" class="LineNr">3416 </span>    <span class="subxComment"># *$Elf_p_filesz = curr-segment-&gt;size</span>
 <span id="L3417" class="LineNr">3417 </span>    <span class="subxS1Comment"># . eax = curr-segment-&gt;size</span>
 <span id="L3418" class="LineNr">3418 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+12) to eax</span>
-<span id="L3419" class="LineNr">3419 </span>    <span class="subxS1Comment"># . *Elf_p_filesz = eax</span>
-<span id="L3420" class="LineNr">3420 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4722'>Elf_p_filesz</a></span>/disp32               <span class="subxComment"># copy eax to *Elf_p_filesz</span>
-<span id="L3421" class="LineNr">3421 </span>    <span class="subxComment"># *Elf_p_memsz = curr-segment-&gt;size</span>
-<span id="L3422" class="LineNr">3422 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='survey.subx.html#L4724'>Elf_p_memsz</a></span>/disp32                <span class="subxComment"># copy eax to *Elf_p_memsz</span>
+<span id="L3419" class="LineNr">3419 </span>    <span class="subxS1Comment"># . *$Elf_p_filesz = eax</span>
+<span id="L3420" class="LineNr">3420 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_p_filesz</span>/disp32              <span class="subxComment"># copy eax to *$Elf_p_filesz</span>
+<span id="L3421" class="LineNr">3421 </span>    <span class="subxComment"># *$Elf_p_memsz = curr-segment-&gt;size</span>
+<span id="L3422" class="LineNr">3422 </span>    89/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   $<span class="SpecialChar">Elf_p_memsz</span>/disp32               <span class="subxComment"># copy eax to *$Elf_p_memsz</span>
 <span id="L3423" class="LineNr">3423 </span>    <span class="subxComment"># if (!string-equal?(curr-segment-&gt;name, &quot;code&quot;) goto next check</span>
 <span id="L3424" class="LineNr">3424 </span>    <span class="subxS1Comment"># . eax = curr-segment-&gt;name</span>
 <span id="L3425" class="LineNr">3425 </span>    8b/copy                         0/mod/indirect  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 *esi to eax</span>
@@ -2605,15 +2605,15 @@ if ('onhashchange' in window) {
 <span id="L3431" class="LineNr">3431 </span>    e8/call  <a href='../054string-equal.subx.html#L16'>string-equal?</a>/disp32
 <span id="L3432" class="LineNr">3432 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3433" class="LineNr">3433 </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="L3434" class="LineNr">3434 </span>    <span class="subxS1Comment"># . if (eax == 0) goto next check</span>
-<span id="L3435" class="LineNr">3435 </span>    3d/compare-eax-and  0/imm32
+<span id="L3434" class="LineNr">3434 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
+<span id="L3435" class="LineNr">3435 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L3436" class="LineNr">3436 </span>    74/jump-if-equal  $emit-elf-program-header-entry:data/disp8
-<span id="L3437" class="LineNr">3437 </span>    <span class="subxComment"># *Elf_p_flags = r-x</span>
-<span id="L3438" class="LineNr">3438 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='survey.subx.html#L4726'>Elf_p_flags</a></span>/disp32  5/imm32       <span class="subxComment"># copy to *Elf_p_flags</span>
+<span id="L3437" class="LineNr">3437 </span>    <span class="subxComment"># *$Elf_p_flags = r-x</span>
+<span id="L3438" class="LineNr">3438 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          $<span class="SpecialChar">Elf_p_flags</span>/disp32  5/imm32      <span class="subxComment"># copy to *$Elf_p_flags</span>
 <span id="L3439" class="LineNr">3439 </span>    eb/jump  $emit-elf-program-header-entry:really-emit/disp8
 <span id="L3440" class="LineNr">3440 </span><span class="Constant">$emit-elf-program-header-entry:data</span>:
-<span id="L3441" class="LineNr">3441 </span>    <span class="subxComment"># otherwise *Elf_p_flags = rw-</span>
-<span id="L3442" class="LineNr">3442 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='survey.subx.html#L4726'>Elf_p_flags</a></span>/disp32  6/imm32       <span class="subxComment"># copy to *Elf_p_flags</span>
+<span id="L3441" class="LineNr">3441 </span>    <span class="subxComment"># otherwise *$Elf_p_flags = rw-</span>
+<span id="L3442" class="LineNr">3442 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          $<span class="SpecialChar">Elf_p_flags</span>/disp32  6/imm32      <span class="subxComment"># copy to *$Elf_p_flags</span>
 <span id="L3443" class="LineNr">3443 </span><span class="Constant">$emit-elf-program-header-entry:really-emit</span>:
 <span id="L3444" class="LineNr">3444 </span>    <span class="subxComment"># emit-hex-array(out, Elf_program_header_entry)</span>
 <span id="L3445" class="LineNr">3445 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2653,12 +2653,12 @@ if ('onhashchange' in window) {
 <span id="L3479" class="LineNr">3479 </span>    56/push-esi
 <span id="L3480" class="LineNr">3480 </span>    <span class="subxComment"># esi = in</span>
 <span id="L3481" class="LineNr">3481 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to esi</span>
-<span id="L3482" class="LineNr">3482 </span>    <span class="subxComment"># curr/eax = in-&gt;data + in-&gt;write</span>
+<span id="L3482" class="LineNr">3482 </span>    <span class="subxComment"># curr/eax = &amp;in-&gt;data[in-&gt;write]</span>
 <span id="L3483" class="LineNr">3483 </span>    <span class="subxS1Comment"># . eax = in-&gt;write</span>
 <span id="L3484" class="LineNr">3484 </span>    8b/copy                         0/mod/indirect  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 *esi to eax</span>
 <span id="L3485" class="LineNr">3485 </span>    <span class="subxS1Comment"># . eax = esi+eax+12</span>
 <span id="L3486" class="LineNr">3486 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  0/index/eax  <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+eax+12 to eax</span>
-<span id="L3487" class="LineNr">3487 </span>    <span class="subxComment"># max/edx = in-&gt;data + in-&gt;length</span>
+<span id="L3487" class="LineNr">3487 </span>    <span class="subxComment"># max/edx = &amp;in-&gt;data[in-&gt;length]</span>
 <span id="L3488" class="LineNr">3488 </span>    <span class="subxS1Comment"># . edx = in-&gt;length</span>
 <span id="L3489" class="LineNr">3489 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+8) to edx</span>
 <span id="L3490" class="LineNr">3490 </span>    <span class="subxS1Comment"># . edx = esi+edx+12</span>
@@ -2712,7 +2712,7 @@ if ('onhashchange' in window) {
 <span id="L3538" class="LineNr">3538 </span>    68/push  <span class="Constant">&quot;overflow in stream-add4\n&quot;</span>/imm32
 <span id="L3539" class="LineNr">3539 </span>    68/push  2/imm32/stderr
 <span id="L3540" class="LineNr">3540 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3541" class="LineNr">3541 </span>    e8/call  <a href='../050_write.subx.html#L14'>_write</a>/disp32
+<span id="L3541" class="LineNr">3541 </span>    e8/call  <a href='../050_write.subx.html#L34'>_write</a>/disp32
 <span id="L3542" class="LineNr">3542 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3543" class="LineNr">3543 </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="L3544" class="LineNr">3544 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
@@ -2735,7 +2735,7 @@ if ('onhashchange' in window) {
 <span id="L3561" class="LineNr">3561 </span>    <span class="subxComment"># write(*Trace-stream, s1)</span>
 <span id="L3562" class="LineNr">3562 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3563" class="LineNr">3563 </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>
-<span id="L3564" class="LineNr">3564 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3564" class="LineNr">3564 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3565" class="LineNr">3565 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3566" class="LineNr">3566 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3567" class="LineNr">3567 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2743,7 +2743,7 @@ if ('onhashchange' in window) {
 <span id="L3569" class="LineNr">3569 </span>    <span class="subxComment"># write(*Trace-stream, s2)</span>
 <span id="L3570" class="LineNr">3570 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3571" class="LineNr">3571 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
-<span id="L3572" class="LineNr">3572 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3572" class="LineNr">3572 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3573" class="LineNr">3573 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3574" class="LineNr">3574 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3575" class="LineNr">3575 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2751,7 +2751,7 @@ if ('onhashchange' in window) {
 <span id="L3577" class="LineNr">3577 </span>    <span class="subxComment"># write(*Trace-stream, s3)</span>
 <span id="L3578" class="LineNr">3578 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3579" class="LineNr">3579 </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>
-<span id="L3580" class="LineNr">3580 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3580" class="LineNr">3580 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3581" class="LineNr">3581 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3582" class="LineNr">3582 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3583" class="LineNr">3583 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2759,9 +2759,9 @@ if ('onhashchange' in window) {
 <span id="L3585" class="LineNr">3585 </span>    <span class="subxComment"># print-int32(*Trace-stream, n4)</span>
 <span id="L3586" class="LineNr">3586 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3587" class="LineNr">3587 </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>
-<span id="L3588" class="LineNr">3588 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3588" class="LineNr">3588 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3589" class="LineNr">3589 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3590" class="LineNr">3590 </span>    e8/call  <a href='../066print-int.subx.html#L177'>print-int32</a>/disp32
+<span id="L3590" class="LineNr">3590 </span>    e8/call  <a href='../066print-int.subx.html#L178'>print-int32</a>/disp32
 <span id="L3591" class="LineNr">3591 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3592" class="LineNr">3592 </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="L3593" class="LineNr">3593 </span>    <span class="subxComment"># trace(s5)  # implicitly adds a newline and finalizes the trace line</span>
@@ -2783,7 +2783,7 @@ if ('onhashchange' in window) {
 <span id="L3609" class="LineNr">3609 </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="L3610" class="LineNr">3610 </span>    <span class="subxComment"># setup</span>
 <span id="L3611" class="LineNr">3611 </span>    <span class="subxS1Comment"># . *Trace-stream-&gt;write = 0</span>
-<span id="L3612" class="LineNr">3612 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
+<span id="L3612" class="LineNr">3612 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
 <span id="L3613" class="LineNr">3613 </span>    c7          0/subop/copy        0/mod/direct    0/rm32/eax   <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"># clear *eax</span>
 <span id="L3614" class="LineNr">3614 </span>    <span class="subxComment"># trace-sssns(&quot;A&quot; &quot;b&quot; &quot;c &quot; 3 &quot; e&quot;)</span>
 <span id="L3615" class="LineNr">3615 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2817,7 +2817,7 @@ if ('onhashchange' in window) {
 <span id="L3668" class="LineNr">3668 </span>    <span class="subxComment"># write(*Trace-stream, s1)</span>
 <span id="L3669" class="LineNr">3669 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3670" class="LineNr">3670 </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>
-<span id="L3671" class="LineNr">3671 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3671" class="LineNr">3671 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3672" class="LineNr">3672 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3673" class="LineNr">3673 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3674" class="LineNr">3674 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2825,15 +2825,15 @@ if ('onhashchange' in window) {
 <span id="L3676" class="LineNr">3676 </span>    <span class="subxComment"># print-int32(*Trace-stream, n2)</span>
 <span id="L3677" class="LineNr">3677 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3678" class="LineNr">3678 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
-<span id="L3679" class="LineNr">3679 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3679" class="LineNr">3679 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3680" class="LineNr">3680 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3681" class="LineNr">3681 </span>    e8/call  <a href='../066print-int.subx.html#L177'>print-int32</a>/disp32
+<span id="L3681" class="LineNr">3681 </span>    e8/call  <a href='../066print-int.subx.html#L178'>print-int32</a>/disp32
 <span id="L3682" class="LineNr">3682 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3683" class="LineNr">3683 </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="L3684" class="LineNr">3684 </span>    <span class="subxComment"># write(*Trace-stream, s3)</span>
 <span id="L3685" class="LineNr">3685 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3686" class="LineNr">3686 </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>
-<span id="L3687" class="LineNr">3687 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3687" class="LineNr">3687 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3688" class="LineNr">3688 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3689" class="LineNr">3689 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3690" class="LineNr">3690 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2841,9 +2841,9 @@ if ('onhashchange' in window) {
 <span id="L3692" class="LineNr">3692 </span>    <span class="subxComment"># print-int32(*Trace-stream, n4)</span>
 <span id="L3693" class="LineNr">3693 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3694" class="LineNr">3694 </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>
-<span id="L3695" class="LineNr">3695 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3695" class="LineNr">3695 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3696" class="LineNr">3696 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3697" class="LineNr">3697 </span>    e8/call  <a href='../066print-int.subx.html#L177'>print-int32</a>/disp32
+<span id="L3697" class="LineNr">3697 </span>    e8/call  <a href='../066print-int.subx.html#L178'>print-int32</a>/disp32
 <span id="L3698" class="LineNr">3698 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3699" class="LineNr">3699 </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="L3700" class="LineNr">3700 </span>    <span class="subxComment"># trace(s5)  # implicitly adds a newline and finalizes the trace line</span>
@@ -2865,7 +2865,7 @@ if ('onhashchange' in window) {
 <span id="L3716" class="LineNr">3716 </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="L3717" class="LineNr">3717 </span>    <span class="subxComment"># setup</span>
 <span id="L3718" class="LineNr">3718 </span>    <span class="subxS1Comment"># . *Trace-stream-&gt;write = 0</span>
-<span id="L3719" class="LineNr">3719 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
+<span id="L3719" class="LineNr">3719 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
 <span id="L3720" class="LineNr">3720 </span>    c7          0/subop/copy        0/mod/direct    0/rm32/eax   <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"># clear *eax</span>
 <span id="L3721" class="LineNr">3721 </span>    <span class="subxComment"># trace-snsns(&quot;A &quot; 2 &quot; c &quot; 3 &quot; e&quot;)</span>
 <span id="L3722" class="LineNr">3722 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2899,7 +2899,7 @@ if ('onhashchange' in window) {
 <span id="L3775" class="LineNr">3775 </span>    <span class="subxComment"># write(*Trace-stream, s1)</span>
 <span id="L3776" class="LineNr">3776 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3777" class="LineNr">3777 </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>
-<span id="L3778" class="LineNr">3778 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3778" class="LineNr">3778 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3779" class="LineNr">3779 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3780" class="LineNr">3780 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3781" class="LineNr">3781 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2907,15 +2907,15 @@ if ('onhashchange' in window) {
 <span id="L3783" class="LineNr">3783 </span>    <span class="subxComment"># write-slice(*Trace-stream, l2)</span>
 <span id="L3784" class="LineNr">3784 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3785" class="LineNr">3785 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
-<span id="L3786" class="LineNr">3786 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3786" class="LineNr">3786 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3787" class="LineNr">3787 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3788" class="LineNr">3788 </span>    e8/call  <a href='../072slice.subx.html#L762'>write-slice</a>/disp32
+<span id="L3788" class="LineNr">3788 </span>    e8/call  <a href='../072slice.subx.html#L764'>write-slice</a>/disp32
 <span id="L3789" class="LineNr">3789 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3790" class="LineNr">3790 </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="L3791" class="LineNr">3791 </span>    <span class="subxComment"># write(*Trace-stream, s3)</span>
 <span id="L3792" class="LineNr">3792 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3793" class="LineNr">3793 </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>
-<span id="L3794" class="LineNr">3794 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3794" class="LineNr">3794 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3795" class="LineNr">3795 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3796" class="LineNr">3796 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3797" class="LineNr">3797 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -2923,9 +2923,9 @@ if ('onhashchange' in window) {
 <span id="L3799" class="LineNr">3799 </span>    <span class="subxComment"># write-slice(*Trace-stream, l4)</span>
 <span id="L3800" class="LineNr">3800 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3801" class="LineNr">3801 </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>
-<span id="L3802" class="LineNr">3802 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3802" class="LineNr">3802 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3803" class="LineNr">3803 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3804" class="LineNr">3804 </span>    e8/call  <a href='../072slice.subx.html#L762'>write-slice</a>/disp32
+<span id="L3804" class="LineNr">3804 </span>    e8/call  <a href='../072slice.subx.html#L764'>write-slice</a>/disp32
 <span id="L3805" class="LineNr">3805 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3806" class="LineNr">3806 </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="L3807" class="LineNr">3807 </span>    <span class="subxComment"># trace(s5)  # implicitly adds a newline and finalizes the trace line</span>
@@ -2947,14 +2947,14 @@ if ('onhashchange' in window) {
 <span id="L3823" class="LineNr">3823 </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="L3824" class="LineNr">3824 </span>    <span class="subxComment"># setup</span>
 <span id="L3825" class="LineNr">3825 </span>    <span class="subxS1Comment"># . *Trace-stream-&gt;write = 0</span>
-<span id="L3826" class="LineNr">3826 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
+<span id="L3826" class="LineNr">3826 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
 <span id="L3827" class="LineNr">3827 </span>    c7          0/subop/copy        0/mod/direct    0/rm32/eax   <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"># clear *eax</span>
 <span id="L3828" class="LineNr">3828 </span>    <span class="subxComment"># (eax..ecx) = &quot;b&quot;</span>
 <span id="L3829" class="LineNr">3829 </span>    b8/copy-to-eax  <span class="Constant">&quot;b&quot;</span>/imm32
 <span id="L3830" class="LineNr">3830 </span>    8b/copy                         0/mod/indirect  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"># copy *eax to ecx</span>
 <span id="L3831" class="LineNr">3831 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    0/base/eax  1/index/ecx  <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax+ecx+4 to ecx</span>
 <span id="L3832" class="LineNr">3832 </span>    05/add-to-eax  4/imm32
-<span id="L3833" class="LineNr">3833 </span>    <span class="subxComment"># var b/ebx : (address slice) = {eax, ecx}</span>
+<span id="L3833" class="LineNr">3833 </span>    <span class="subxComment"># var b/ebx : (ref slice) = {eax, ecx}</span>
 <span id="L3834" class="LineNr">3834 </span>    51/push-ecx
 <span id="L3835" class="LineNr">3835 </span>    50/push-eax
 <span id="L3836" class="LineNr">3836 </span>    89/copy                         3/mod/direct    3/rm32/ebx   <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 ebx</span>
@@ -2963,7 +2963,7 @@ if ('onhashchange' in window) {
 <span id="L3839" class="LineNr">3839 </span>    8b/copy                         0/mod/indirect  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"># copy *eax to ecx</span>
 <span id="L3840" class="LineNr">3840 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    0/base/eax  1/index/ecx  <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax+ecx+4 to ecx</span>
 <span id="L3841" class="LineNr">3841 </span>    05/add-to-eax  4/imm32
-<span id="L3842" class="LineNr">3842 </span>    <span class="subxComment"># var d/edx : (address slice) = {eax, ecx}</span>
+<span id="L3842" class="LineNr">3842 </span>    <span class="subxComment"># var d/edx : (ref slice) = {eax, ecx}</span>
 <span id="L3843" class="LineNr">3843 </span>    51/push-ecx
 <span id="L3844" class="LineNr">3844 </span>    50/push-eax
 <span id="L3845" class="LineNr">3845 </span>    89/copy                         3/mod/direct    2/rm32/edx   <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 edx</span>
@@ -2999,7 +2999,7 @@ if ('onhashchange' in window) {
 <span id="L3900" class="LineNr">3900 </span>    <span class="subxComment"># write(*Trace-stream, s1)</span>
 <span id="L3901" class="LineNr">3901 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3902" class="LineNr">3902 </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>
-<span id="L3903" class="LineNr">3903 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3903" class="LineNr">3903 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3904" class="LineNr">3904 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3905" class="LineNr">3905 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3906" class="LineNr">3906 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3007,15 +3007,15 @@ if ('onhashchange' in window) {
 <span id="L3908" class="LineNr">3908 </span>    <span class="subxComment"># write-slice(*Trace-stream, l2)</span>
 <span id="L3909" class="LineNr">3909 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3910" class="LineNr">3910 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
-<span id="L3911" class="LineNr">3911 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3911" class="LineNr">3911 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3912" class="LineNr">3912 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3913" class="LineNr">3913 </span>    e8/call  <a href='../072slice.subx.html#L762'>write-slice</a>/disp32
+<span id="L3913" class="LineNr">3913 </span>    e8/call  <a href='../072slice.subx.html#L764'>write-slice</a>/disp32
 <span id="L3914" class="LineNr">3914 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L3915" class="LineNr">3915 </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="L3916" class="LineNr">3916 </span>    <span class="subxComment"># write(*Trace-stream, s3)</span>
 <span id="L3917" class="LineNr">3917 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3918" class="LineNr">3918 </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>
-<span id="L3919" class="LineNr">3919 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3919" class="LineNr">3919 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3920" class="LineNr">3920 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L3921" class="LineNr">3921 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L3922" class="LineNr">3922 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3023,9 +3023,9 @@ if ('onhashchange' in window) {
 <span id="L3924" class="LineNr">3924 </span>    <span class="subxComment"># print-int32(*Trace-stream, n4)</span>
 <span id="L3925" class="LineNr">3925 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L3926" class="LineNr">3926 </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>
-<span id="L3927" class="LineNr">3927 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L3927" class="LineNr">3927 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L3928" class="LineNr">3928 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L3929" class="LineNr">3929 </span>    e8/call  <a href='../066print-int.subx.html#L177'>print-int32</a>/disp32
+<span id="L3929" class="LineNr">3929 </span>    e8/call  <a href='../066print-int.subx.html#L178'>print-int32</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>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3932" class="LineNr">3932 </span>    <span class="subxComment"># trace(s5)  # implicitly adds a newline and finalizes the trace line</span>
@@ -3047,14 +3047,14 @@ if ('onhashchange' in window) {
 <span id="L3948" class="LineNr">3948 </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="L3949" class="LineNr">3949 </span>    <span class="subxComment"># setup</span>
 <span id="L3950" class="LineNr">3950 </span>    <span class="subxS1Comment"># . *Trace-stream-&gt;write = 0</span>
-<span id="L3951" class="LineNr">3951 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
+<span id="L3951" class="LineNr">3951 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
 <span id="L3952" class="LineNr">3952 </span>    c7          0/subop/copy        0/mod/direct    0/rm32/eax   <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"># clear *eax</span>
 <span id="L3953" class="LineNr">3953 </span>    <span class="subxComment"># (eax..ecx) = &quot;b&quot;</span>
 <span id="L3954" class="LineNr">3954 </span>    b8/copy-to-eax  <span class="Constant">&quot;b&quot;</span>/imm32
 <span id="L3955" class="LineNr">3955 </span>    8b/copy                         0/mod/indirect  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"># copy *eax to ecx</span>
 <span id="L3956" class="LineNr">3956 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    0/base/eax  1/index/ecx  <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax+ecx+4 to ecx</span>
 <span id="L3957" class="LineNr">3957 </span>    05/add-to-eax  4/imm32
-<span id="L3958" class="LineNr">3958 </span>    <span class="subxComment"># var b/ebx : (address slice) = {eax, ecx}</span>
+<span id="L3958" class="LineNr">3958 </span>    <span class="subxComment"># var b/ebx : (ref slice) = {eax, ecx}</span>
 <span id="L3959" class="LineNr">3959 </span>    51/push-ecx
 <span id="L3960" class="LineNr">3960 </span>    50/push-eax
 <span id="L3961" class="LineNr">3961 </span>    89/copy                         3/mod/direct    3/rm32/ebx   <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 ebx</span>
@@ -3090,7 +3090,7 @@ if ('onhashchange' in window) {
 <span id="L4016" class="LineNr">4016 </span>    <span class="subxComment"># write(*Trace-stream, s1)</span>
 <span id="L4017" class="LineNr">4017 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4018" class="LineNr">4018 </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>
-<span id="L4019" class="LineNr">4019 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L4019" class="LineNr">4019 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L4020" class="LineNr">4020 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4021" class="LineNr">4021 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4022" class="LineNr">4022 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3098,15 +3098,15 @@ if ('onhashchange' in window) {
 <span id="L4024" class="LineNr">4024 </span>    <span class="subxComment"># write-slice(*Trace-stream, l2)</span>
 <span id="L4025" class="LineNr">4025 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4026" class="LineNr">4026 </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>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
-<span id="L4027" class="LineNr">4027 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L4027" class="LineNr">4027 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L4028" class="LineNr">4028 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4029" class="LineNr">4029 </span>    e8/call  <a href='../072slice.subx.html#L762'>write-slice</a>/disp32
+<span id="L4029" class="LineNr">4029 </span>    e8/call  <a href='../072slice.subx.html#L764'>write-slice</a>/disp32
 <span id="L4030" class="LineNr">4030 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4031" class="LineNr">4031 </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="L4032" class="LineNr">4032 </span>    <span class="subxComment"># write(*Trace-stream, s3)</span>
 <span id="L4033" class="LineNr">4033 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4034" class="LineNr">4034 </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>
-<span id="L4035" class="LineNr">4035 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L4035" class="LineNr">4035 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L4036" class="LineNr">4036 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4037" class="LineNr">4037 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4038" class="LineNr">4038 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3114,7 +3114,7 @@ if ('onhashchange' in window) {
 <span id="L4040" class="LineNr">4040 </span>    <span class="subxComment"># write(*Trace-stream, s4)</span>
 <span id="L4041" class="LineNr">4041 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4042" class="LineNr">4042 </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>
-<span id="L4043" class="LineNr">4043 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
+<span id="L4043" class="LineNr">4043 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># push *Trace-stream</span>
 <span id="L4044" class="LineNr">4044 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4045" class="LineNr">4045 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4046" class="LineNr">4046 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3138,14 +3138,14 @@ if ('onhashchange' in window) {
 <span id="L4064" class="LineNr">4064 </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="L4065" class="LineNr">4065 </span>    <span class="subxComment"># setup</span>
 <span id="L4066" class="LineNr">4066 </span>    <span class="subxS1Comment"># . *Trace-stream-&gt;write = 0</span>
-<span id="L4067" class="LineNr">4067 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L18'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
+<span id="L4067" class="LineNr">4067 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   <span class="SpecialChar"><a href='../056trace.subx.html#L17'>Trace-stream</a></span>/disp32               <span class="subxComment"># copy *Trace-stream to eax</span>
 <span id="L4068" class="LineNr">4068 </span>    c7          0/subop/copy        0/mod/direct    0/rm32/eax   <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"># clear *eax</span>
 <span id="L4069" class="LineNr">4069 </span>    <span class="subxComment"># (eax..ecx) = &quot;b&quot;</span>
 <span id="L4070" class="LineNr">4070 </span>    b8/copy-to-eax  <span class="Constant">&quot;b&quot;</span>/imm32
 <span id="L4071" class="LineNr">4071 </span>    8b/copy                         0/mod/indirect  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"># copy *eax to ecx</span>
 <span id="L4072" class="LineNr">4072 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    0/base/eax  1/index/ecx  <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax+ecx+4 to ecx</span>
 <span id="L4073" class="LineNr">4073 </span>    05/add-to-eax  4/imm32
-<span id="L4074" class="LineNr">4074 </span>    <span class="subxComment"># var b/ebx : (address slice) = {eax, ecx}</span>
+<span id="L4074" class="LineNr">4074 </span>    <span class="subxComment"># var b/ebx : (ref slice) = {eax, ecx}</span>
 <span id="L4075" class="LineNr">4075 </span>    51/push-ecx
 <span id="L4076" class="LineNr">4076 </span>    50/push-eax
 <span id="L4077" class="LineNr">4077 </span>    89/copy                         3/mod/direct    3/rm32/ebx   <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 ebx</span>
@@ -3174,7 +3174,7 @@ if ('onhashchange' in window) {
 <span id="L4125" class="LineNr">4125 </span>    5d/pop-to-ebp
 <span id="L4126" class="LineNr">4126 </span>    c3/return
 <span id="L4127" class="LineNr">4127 </span>
-<span id="L4128" class="LineNr">4128 </span><span class="subxFunction">num-bytes</span>:  <span class="subxComment"># line : (address stream) -&gt; eax : int</span>
+<span id="L4128" class="LineNr">4128 </span><span class="subxFunction">num-bytes</span>:  <span class="subxComment"># line : (address stream byte) -&gt; eax : int</span>
 <span id="L4129" class="LineNr">4129 </span>    <span class="subxComment"># pseudocode:</span>
 <span id="L4130" class="LineNr">4130 </span>    <span class="subxComment">#   result = 0</span>
 <span id="L4131" class="LineNr">4131 </span>    <span class="subxComment">#   while true</span>
@@ -3199,7 +3199,7 @@ if ('onhashchange' in window) {
 <span id="L4150" class="LineNr">4150 </span>    53/push-ebx
 <span id="L4151" class="LineNr">4151 </span>    <span class="subxComment"># var result/eax = 0</span>
 <span id="L4152" class="LineNr">4152 </span>    31/xor                          3/mod/direct    0/rm32/eax   <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"># clear eax</span>
-<span id="L4153" class="LineNr">4153 </span>    <span class="subxComment"># var word-slice/ecx = {0, 0}</span>
+<span id="L4153" class="LineNr">4153 </span>    <span class="subxComment"># var word-slice/ecx : (ref slice)</span>
 <span id="L4154" class="LineNr">4154 </span>    68/push  0/imm32/end
 <span id="L4155" class="LineNr">4155 </span>    68/push  0/imm32/start
 <span id="L4156" class="LineNr">4156 </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>
@@ -3232,8 +3232,8 @@ if ('onhashchange' in window) {
 <span id="L4247" class="LineNr">4247 </span>    e8/call  <a href='../072slice.subx.html#L9'>slice-empty?</a>/disp32
 <span id="L4248" class="LineNr">4248 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4249" class="LineNr">4249 </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="L4250" class="LineNr">4250 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L4251" class="LineNr">4251 </span>    3d/compare-eax-and  0/imm32
+<span id="L4250" class="LineNr">4250 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L4251" class="LineNr">4251 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L4252" class="LineNr">4252 </span>    <span class="subxS1Comment"># . restore result now that ZF is set</span>
 <span id="L4253" class="LineNr">4253 </span>    58/pop-to-eax
 <span id="L4254" class="LineNr">4254 </span>    75/jump-if-not-equal  $num-bytes:end/disp8
@@ -3269,8 +3269,8 @@ if ('onhashchange' in window) {
 <span id="L4284" class="LineNr">4284 </span>    e8/call  <a href='../072slice.subx.html#L91'>slice-equal?</a>/disp32
 <span id="L4285" class="LineNr">4285 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4286" class="LineNr">4286 </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="L4287" class="LineNr">4287 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
-<span id="L4288" class="LineNr">4288 </span>    3d/compare-eax-and  0/imm32
+<span id="L4287" class="LineNr">4287 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
+<span id="L4288" class="LineNr">4288 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L4289" class="LineNr">4289 </span>    <span class="subxS1Comment"># . restore result now that ZF is set</span>
 <span id="L4290" class="LineNr">4290 </span>    58/pop-to-eax
 <span id="L4291" class="LineNr">4291 </span>    75/jump-if-not-equal  $num-bytes:end/disp8
@@ -3282,7 +3282,7 @@ if ('onhashchange' in window) {
 <span id="L4297" class="LineNr">4297 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4298" class="LineNr">4298 </span>    51/push-ecx
 <span id="L4299" class="LineNr">4299 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4300" class="LineNr">4300 </span>    e8/call <a href='../083subx-widths.subx.html#L40'>compute-width-of-slice</a>/disp32
+<span id="L4300" class="LineNr">4300 </span>    e8/call <a href='../083subx-widths.subx.html#L45'>compute-width-of-slice</a>/disp32
 <span id="L4301" class="LineNr">4301 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4302" class="LineNr">4302 </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="L4303" class="LineNr">4303 </span>    <span class="subxS1Comment"># . eax += result</span>
@@ -3315,7 +3315,7 @@ if ('onhashchange' in window) {
 <span id="L4330" class="LineNr">4330 </span>    <span class="subxComment"># setup</span>
 <span id="L4331" class="LineNr">4331 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4332" class="LineNr">4332 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4333" class="LineNr">4333 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4333" class="LineNr">4333 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4334" class="LineNr">4334 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4335" class="LineNr">4335 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4336" class="LineNr">4336 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3330,7 +3330,7 @@ if ('onhashchange' in window) {
 <span id="L4345" class="LineNr">4345 </span>    <span class="subxComment"># no contents in input</span>
 <span id="L4346" class="LineNr">4346 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4347" class="LineNr">4347 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4348" class="LineNr">4348 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4348" class="LineNr">4348 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4349" class="LineNr">4349 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4350" class="LineNr">4350 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4351" class="LineNr">4351 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3357,7 +3357,7 @@ if ('onhashchange' in window) {
 <span id="L4372" class="LineNr">4372 </span>    <span class="subxComment"># setup</span>
 <span id="L4373" class="LineNr">4373 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4374" class="LineNr">4374 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4375" class="LineNr">4375 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4375" class="LineNr">4375 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4376" class="LineNr">4376 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4377" class="LineNr">4377 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4378" class="LineNr">4378 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3373,14 +3373,14 @@ if ('onhashchange' in window) {
 <span id="L4388" class="LineNr">4388 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;# abcd&quot;)</span>
 <span id="L4389" class="LineNr">4389 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4390" class="LineNr">4390 </span>    68/push  <span class="Constant">&quot;# abcd&quot;</span>/imm32
-<span id="L4391" class="LineNr">4391 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4391" class="LineNr">4391 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4392" class="LineNr">4392 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4393" class="LineNr">4393 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4394" class="LineNr">4394 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4395" class="LineNr">4395 </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="L4396" class="LineNr">4396 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4397" class="LineNr">4397 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4398" class="LineNr">4398 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4398" class="LineNr">4398 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4399" class="LineNr">4399 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4400" class="LineNr">4400 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4401" class="LineNr">4401 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3407,7 +3407,7 @@ if ('onhashchange' in window) {
 <span id="L4422" class="LineNr">4422 </span>    <span class="subxComment"># setup</span>
 <span id="L4423" class="LineNr">4423 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4424" class="LineNr">4424 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4425" class="LineNr">4425 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4425" class="LineNr">4425 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4426" class="LineNr">4426 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4427" class="LineNr">4427 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4428" class="LineNr">4428 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3423,14 +3423,14 @@ if ('onhashchange' in window) {
 <span id="L4438" class="LineNr">4438 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab: # cd&quot;)</span>
 <span id="L4439" class="LineNr">4439 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4440" class="LineNr">4440 </span>    68/push  <span class="Constant">&quot;ab: # cd&quot;</span>/imm32
-<span id="L4441" class="LineNr">4441 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4441" class="LineNr">4441 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4442" class="LineNr">4442 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4443" class="LineNr">4443 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4444" class="LineNr">4444 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4445" class="LineNr">4445 </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="L4446" class="LineNr">4446 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4447" class="LineNr">4447 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4448" class="LineNr">4448 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4448" class="LineNr">4448 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4449" class="LineNr">4449 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4450" class="LineNr">4450 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4451" class="LineNr">4451 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3457,7 +3457,7 @@ if ('onhashchange' in window) {
 <span id="L4472" class="LineNr">4472 </span>    <span class="subxComment"># setup</span>
 <span id="L4473" class="LineNr">4473 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4474" class="LineNr">4474 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4475" class="LineNr">4475 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4475" class="LineNr">4475 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4476" class="LineNr">4476 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4477" class="LineNr">4477 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4478" class="LineNr">4478 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3473,14 +3473,14 @@ if ('onhashchange' in window) {
 <span id="L4488" class="LineNr">4488 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;== ab cd&quot;)</span>
 <span id="L4489" class="LineNr">4489 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4490" class="LineNr">4490 </span>    68/push  <span class="Constant">&quot;== ab cd&quot;</span>/imm32
-<span id="L4491" class="LineNr">4491 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4491" class="LineNr">4491 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4492" class="LineNr">4492 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4493" class="LineNr">4493 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4494" class="LineNr">4494 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4495" class="LineNr">4495 </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="L4496" class="LineNr">4496 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4497" class="LineNr">4497 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4498" class="LineNr">4498 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4498" class="LineNr">4498 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4499" class="LineNr">4499 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4500" class="LineNr">4500 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4501" class="LineNr">4501 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3507,7 +3507,7 @@ if ('onhashchange' in window) {
 <span id="L4522" class="LineNr">4522 </span>    <span class="subxComment"># setup</span>
 <span id="L4523" class="LineNr">4523 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4524" class="LineNr">4524 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4525" class="LineNr">4525 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4525" class="LineNr">4525 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4526" class="LineNr">4526 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4527" class="LineNr">4527 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4528" class="LineNr">4528 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3523,14 +3523,14 @@ if ('onhashchange' in window) {
 <span id="L4538" class="LineNr">4538 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd ef&quot;)</span>
 <span id="L4539" class="LineNr">4539 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4540" class="LineNr">4540 </span>    68/push  <span class="Constant">&quot;ab cd ef&quot;</span>/imm32
-<span id="L4541" class="LineNr">4541 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4541" class="LineNr">4541 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4542" class="LineNr">4542 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4543" class="LineNr">4543 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4544" class="LineNr">4544 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4545" class="LineNr">4545 </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="L4546" class="LineNr">4546 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4547" class="LineNr">4547 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4548" class="LineNr">4548 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4548" class="LineNr">4548 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4549" class="LineNr">4549 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4550" class="LineNr">4550 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4551" class="LineNr">4551 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3557,7 +3557,7 @@ if ('onhashchange' in window) {
 <span id="L4572" class="LineNr">4572 </span>    <span class="subxComment"># setup</span>
 <span id="L4573" class="LineNr">4573 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4574" class="LineNr">4574 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4575" class="LineNr">4575 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4575" class="LineNr">4575 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4576" class="LineNr">4576 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4577" class="LineNr">4577 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4578" class="LineNr">4578 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3573,14 +3573,14 @@ if ('onhashchange' in window) {
 <span id="L4588" class="LineNr">4588 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd # ef&quot;)</span>
 <span id="L4589" class="LineNr">4589 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4590" class="LineNr">4590 </span>    68/push  <span class="Constant">&quot;ab cd # ef&quot;</span>/imm32
-<span id="L4591" class="LineNr">4591 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4591" class="LineNr">4591 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4592" class="LineNr">4592 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4593" class="LineNr">4593 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4594" class="LineNr">4594 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4595" class="LineNr">4595 </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="L4596" class="LineNr">4596 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4597" class="LineNr">4597 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4598" class="LineNr">4598 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4598" class="LineNr">4598 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4599" class="LineNr">4599 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4600" class="LineNr">4600 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4601" class="LineNr">4601 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3607,7 +3607,7 @@ if ('onhashchange' in window) {
 <span id="L4622" class="LineNr">4622 </span>    <span class="subxComment"># setup</span>
 <span id="L4623" class="LineNr">4623 </span>    <span class="subxS1Comment"># . clear-stream(_test-input-stream)</span>
 <span id="L4624" class="LineNr">4624 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4625" class="LineNr">4625 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4625" class="LineNr">4625 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4626" class="LineNr">4626 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4627" class="LineNr">4627 </span>    e8/call  <a href='../055stream.subx.html#L17'>clear-stream</a>/disp32
 <span id="L4628" class="LineNr">4628 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3623,14 +3623,14 @@ if ('onhashchange' in window) {
 <span id="L4638" class="LineNr">4638 </span>    <span class="subxS1Comment"># . write(_test-input-stream, &quot;ab cd/imm32 ef&quot;)</span>
 <span id="L4639" class="LineNr">4639 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4640" class="LineNr">4640 </span>    68/push  <span class="Constant">&quot;ab cd/imm32 ef&quot;</span>/imm32
-<span id="L4641" class="LineNr">4641 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4641" class="LineNr">4641 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4642" class="LineNr">4642 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4643" class="LineNr">4643 </span>    e8/call  <a href='../057write.subx.html#L24'>write</a>/disp32
 <span id="L4644" class="LineNr">4644 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4645" class="LineNr">4645 </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="L4646" class="LineNr">4646 </span>    <span class="subxComment"># eax = num-bytes(_test-input-stream)</span>
 <span id="L4647" class="LineNr">4647 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L4648" class="LineNr">4648 </span>    68/push  <a href='../061read-byte.subx.html#L288'>_test-input-stream</a>/imm32
+<span id="L4648" class="LineNr">4648 </span>    68/push  <a href='../061read-byte.subx.html#L287'>_test-input-stream</a>/imm32
 <span id="L4649" class="LineNr">4649 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L4650" class="LineNr">4650 </span>    e8/call  <a href='survey.subx.html#L4128'>num-bytes</a>/disp32
 <span id="L4651" class="LineNr">4651 </span>    <span class="subxS2Comment"># . . discard args</span>
@@ -3652,7 +3652,7 @@ if ('onhashchange' in window) {
 <span id="L4667" class="LineNr">4667 </span>== data
 <span id="L4668" class="LineNr">4668 </span>
 <span id="L4669" class="LineNr">4669 </span><span class="subxComment"># This block of bytes gets copied to the start of the output ELF file, with</span>
-<span id="L4670" class="LineNr">4670 </span><span class="subxComment"># some fields filled in.</span>
+<span id="L4670" class="LineNr">4670 </span><span class="subxComment"># some fields (the ones with labels capitalized) filled in.</span>
 <span id="L4671" class="LineNr">4671 </span><span class="subxComment"># <a href="http://www.sco.com/developers/gabi/latest/ch4.eheader.html">http://www.sco.com/developers/gabi/latest/ch4.eheader.html</a></span>
 <span id="L4672" class="LineNr">4672 </span><span class="SpecialChar">Elf_header</span>:
 <span id="L4673" class="LineNr">4673 </span>  <span class="subxH1Comment"># - length</span>
@@ -3668,7 +3668,7 @@ if ('onhashchange' in window) {
 <span id="L4683" class="LineNr">4683 </span>  03 00
 <span id="L4684" class="LineNr">4684 </span><span class="Constant">$e_version</span>:
 <span id="L4685" class="LineNr">4685 </span>  1/imm32
-<span id="L4686" class="LineNr">4686 </span><span class="SpecialChar">Elf_e_entry</span>:
+<span id="L4686" class="LineNr">4686 </span><span class="Constant">$Elf_e_entry</span>:
 <span id="L4687" class="LineNr">4687 </span>  0x09000000/imm32  <span class="subxComment"># approximate default; must be updated</span>
 <span id="L4688" class="LineNr">4688 </span><span class="Constant">$e_phoff</span>:
 <span id="L4689" class="LineNr">4689 </span>  0x34/imm32  <span class="subxComment"># offset for the 'program header table' containing segment headers</span>
@@ -3680,7 +3680,7 @@ if ('onhashchange' in window) {
 <span id="L4695" class="LineNr">4695 </span>  0x34 00
 <span id="L4696" class="LineNr">4696 </span><span class="Constant">$e_phentsize</span>:
 <span id="L4697" class="LineNr">4697 </span>  0x20 00
-<span id="L4698" class="LineNr">4698 </span><span class="SpecialChar">Elf_e_phnum</span>:
+<span id="L4698" class="LineNr">4698 </span><span class="Constant">$Elf_e_phnum</span>:
 <span id="L4699" class="LineNr">4699 </span>  00 00  <span class="subxComment"># number of segments; must be updated</span>
 <span id="L4700" class="LineNr">4700 </span><span class="Constant">$e_shentsize</span>:
 <span id="L4701" class="LineNr">4701 </span>  00 00  <span class="subxComment"># no sections</span>
@@ -3698,17 +3698,17 @@ if ('onhashchange' in window) {
 <span id="L4713" class="LineNr">4713 </span>  <span class="subxH1Comment"># - data</span>
 <span id="L4714" class="LineNr">4714 </span><span class="Constant">$p_type</span>:
 <span id="L4715" class="LineNr">4715 </span>  1/imm32/PT_LOAD
-<span id="L4716" class="LineNr">4716 </span><span class="SpecialChar">Elf_p_offset</span>:
+<span id="L4716" class="LineNr">4716 </span><span class="Constant">$Elf_p_offset</span>:
 <span id="L4717" class="LineNr">4717 </span>  0/imm32  <span class="subxComment"># byte offset in the file at which a segment begins; must be updated</span>
-<span id="L4718" class="LineNr">4718 </span><span class="SpecialChar">Elf_p_vaddr</span>:
+<span id="L4718" class="LineNr">4718 </span><span class="Constant">$Elf_p_vaddr</span>:
 <span id="L4719" class="LineNr">4719 </span>  0/imm32  <span class="subxComment"># starting address to store the segment at before running the program</span>
-<span id="L4720" class="LineNr">4720 </span><span class="SpecialChar">Elf_p_paddr</span>:
-<span id="L4721" class="LineNr">4721 </span>  0/imm32  <span class="subxComment"># should have same value as Elf_p_vaddr</span>
-<span id="L4722" class="LineNr">4722 </span><span class="SpecialChar">Elf_p_filesz</span>:
+<span id="L4720" class="LineNr">4720 </span><span class="Constant">$Elf_p_paddr</span>:
+<span id="L4721" class="LineNr">4721 </span>  0/imm32  <span class="subxComment"># should have same value as $Elf_p_vaddr</span>
+<span id="L4722" class="LineNr">4722 </span><span class="Constant">$Elf_p_filesz</span>:
 <span id="L4723" class="LineNr">4723 </span>  0/imm32
-<span id="L4724" class="LineNr">4724 </span><span class="SpecialChar">Elf_p_memsz</span>:
-<span id="L4725" class="LineNr">4725 </span>  0/imm32  <span class="subxComment"># should have same value as Elf_p_filesz</span>
-<span id="L4726" class="LineNr">4726 </span><span class="SpecialChar">Elf_p_flags</span>:
+<span id="L4724" class="LineNr">4724 </span><span class="Constant">$Elf_p_memsz</span>:
+<span id="L4725" class="LineNr">4725 </span>  0/imm32  <span class="subxComment"># should have same value as $Elf_p_filesz</span>
+<span id="L4726" class="LineNr">4726 </span><span class="Constant">$Elf_p_flags</span>:
 <span id="L4727" class="LineNr">4727 </span>  6/imm32/rw-  <span class="subxComment"># read/write/execute permissions for the segment; must be updated for the code segment</span>
 <span id="L4728" class="LineNr">4728 </span><span class="Constant">$p_align</span>:
 <span id="L4729" class="LineNr">4729 </span>  <span class="subxComment"># we hold this constant; changing it will require adjusting the way we</span>