about summary refs log tree commit diff stats
path: root/html/subx/apps/hex.subx.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/subx/apps/hex.subx.html')
-rw-r--r--html/subx/apps/hex.subx.html111
1 files changed, 63 insertions, 48 deletions
diff --git a/html/subx/apps/hex.subx.html b/html/subx/apps/hex.subx.html
index 125478ec..6a61283c 100644
--- a/html/subx/apps/hex.subx.html
+++ b/html/subx/apps/hex.subx.html
@@ -83,7 +83,7 @@ if ('onhashchange' in window) {
 <span id="L20" class="LineNr">  20 </span><span class="SpecialChar">Entry</span>:  <span class="subxComment"># run tests if necessary, convert stdin if not</span>
 <span id="L21" class="LineNr">  21 </span>
 <span id="L22" class="LineNr">  22 </span><span class="CommentedCode">#?     # for debugging: run a single test</span>
-<span id="L23" class="LineNr">  23 </span><span class="CommentedCode">#?     e8/call test-skip-until-newline/disp32</span>
+<span id="L23" class="LineNr">  23 </span><span class="CommentedCode">#?     e8/call test-convert-next-octet-aborts-on-single-hex-byte/disp32</span>
 <span id="L24" class="LineNr">  24 </span><span class="CommentedCode">#?     8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           3/r32/EBX   Num-test-failures/disp32          # copy *Num-test-failures to EBX</span>
 <span id="L25" class="LineNr">  25 </span><span class="CommentedCode">#?     eb/jump  $main:end/disp8</span>
 <span id="L26" class="LineNr">  26 </span>
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L39" class="LineNr">  39 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L40" class="LineNr">  40 </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="L41" class="LineNr">  41 </span>    <span class="subxS1Comment"># . check result</span>
-<span id="L42" class="LineNr">  42 </span>    3d/compare-EAX  1/imm32
+<span id="L42" class="LineNr">  42 </span>    3d/compare-EAX-and  1/imm32
 <span id="L43" class="LineNr">  43 </span>    75/jump-if-not-equal  $run-main/disp8
 <span id="L44" class="LineNr">  44 </span>    <span class="subxS1Comment"># . run-tests()</span>
 <span id="L45" class="LineNr">  45 </span>    e8/call  run-tests/disp32
@@ -157,7 +157,7 @@ if ('onhashchange' in window) {
 <span id="L94" class="LineNr">  94 </span>    <span class="subxS2Comment"># . . discard first 2 args</span>
 <span id="L95" class="LineNr">  95 </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="L96" class="LineNr">  96 </span>    <span class="subxComment"># if (EAX == Eof) break</span>
-<span id="L97" class="LineNr">  97 </span>    81          7/subop/compare     3/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>              0xffffffff/imm32/Eof  <span class="subxComment"># compare EAX</span>
+<span id="L97" class="LineNr">  97 </span>    3d/compare-EAX-and  0xffffffff/imm32/Eof
 <span id="L98" class="LineNr">  98 </span>    74/jump-if-equal  $convert:loop-end/disp8
 <span id="L99" class="LineNr">  99 </span>    <span class="subxComment"># write-byte(out, AL)</span>
 <span id="L100" class="LineNr"> 100 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -217,7 +217,7 @@ if ('onhashchange' in window) {
 <span id="L154" class="LineNr"> 154 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L155" class="LineNr"> 155 </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="L156" class="LineNr"> 156 </span>    <span class="subxComment"># if (EAX == Eof) return</span>
-<span id="L157" class="LineNr"> 157 </span>    81          7/subop/compare     3/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>              0xffffffff/imm32/Eof  <span class="subxComment"># compare EAX</span>
+<span id="L157" class="LineNr"> 157 </span>    3d/compare-EAX-and  0xffffffff/imm32/Eof
 <span id="L158" class="LineNr"> 158 </span>    74/jump-if-equal  $convert-next-octet:end/disp8
 <span id="L159" class="LineNr"> 159 </span>    <span class="subxComment"># EAX = from-hex-char(EAX)</span>
 <span id="L160" class="LineNr"> 160 </span>    e8/call <a href='../065hex.subx.html#L732'>from-hex-char</a>/disp32
@@ -233,7 +233,7 @@ if ('onhashchange' in window) {
 <span id="L170" class="LineNr"> 170 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L171" class="LineNr"> 171 </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="L172" class="LineNr"> 172 </span>    <span class="subxComment"># if (EAX == Eof) error(ed, err, &quot;partial byte found.&quot;)</span>
-<span id="L173" class="LineNr"> 173 </span>    81          7/subop/compare     3/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>              0xffffffff/imm32/Eof  <span class="subxComment"># compare EAX</span>
+<span id="L173" class="LineNr"> 173 </span>    3d/compare-EAX-and  0xffffffff/imm32/Eof
 <span id="L174" class="LineNr"> 174 </span>    75/jump-if-not-equal  $convert-next-octet:<a href='hex.subx.html#L73'>convert</a>/disp8
 <span id="L175" class="LineNr"> 175 </span>    <span class="subxS1Comment"># . error-byte(ed, err, msg, '.')  # reusing error-byte to avoid creating _yet_ another helper</span>
 <span id="L176" class="LineNr"> 176 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -290,7 +290,7 @@ if ('onhashchange' in window) {
 <span id="L227" class="LineNr"> 227 </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="L228" class="LineNr"> 228 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L229" class="LineNr"> 229 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L230" class="LineNr"> 230 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L230" class="LineNr"> 230 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L231" class="LineNr"> 231 </span>    05/add-to-EAX  4/imm32
 <span id="L232" class="LineNr"> 232 </span>    50/push-EAX
 <span id="L233" class="LineNr"> 233 </span>    <span class="subxS2Comment"># . . call</span>
@@ -321,7 +321,7 @@ if ('onhashchange' in window) {
 <span id="L258" class="LineNr"> 258 </span>    <span class="subxComment"># EAX = convert-next-octet(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L259" class="LineNr"> 259 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L260" class="LineNr"> 260 </span>    51/push-ECX/ed
-<span id="L261" class="LineNr"> 261 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L261" class="LineNr"> 261 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L262" class="LineNr"> 262 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L263" class="LineNr"> 263 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L264" class="LineNr"> 264 </span>    e8/call  <a href='hex.subx.html#L131'>convert-next-octet</a>/disp32
@@ -392,7 +392,7 @@ if ('onhashchange' in window) {
 <span id="L329" class="LineNr"> 329 </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="L330" class="LineNr"> 330 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L331" class="LineNr"> 331 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L332" class="LineNr"> 332 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L332" class="LineNr"> 332 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L333" class="LineNr"> 333 </span>    05/add-to-EAX  4/imm32
 <span id="L334" class="LineNr"> 334 </span>    50/push-EAX
 <span id="L335" class="LineNr"> 335 </span>    <span class="subxS2Comment"># . . call</span>
@@ -415,7 +415,7 @@ if ('onhashchange' in window) {
 <span id="L352" class="LineNr"> 352 </span>    <span class="subxComment"># EAX = convert-next-octet(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L353" class="LineNr"> 353 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L354" class="LineNr"> 354 </span>    51/push-ECX/ed
-<span id="L355" class="LineNr"> 355 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L355" class="LineNr"> 355 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L356" class="LineNr"> 356 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L357" class="LineNr"> 357 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L358" class="LineNr"> 358 </span>    e8/call  <a href='hex.subx.html#L131'>convert-next-octet</a>/disp32
@@ -486,7 +486,7 @@ if ('onhashchange' in window) {
 <span id="L423" class="LineNr"> 423 </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="L424" class="LineNr"> 424 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L425" class="LineNr"> 425 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L426" class="LineNr"> 426 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L426" class="LineNr"> 426 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L427" class="LineNr"> 427 </span>    05/add-to-EAX  4/imm32
 <span id="L428" class="LineNr"> 428 </span>    50/push-EAX
 <span id="L429" class="LineNr"> 429 </span>    <span class="subxS2Comment"># . . call</span>
@@ -517,7 +517,7 @@ if ('onhashchange' in window) {
 <span id="L454" class="LineNr"> 454 </span>    <span class="subxComment"># EAX = convert-next-octet(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L455" class="LineNr"> 455 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L456" class="LineNr"> 456 </span>    51/push-ECX/ed
-<span id="L457" class="LineNr"> 457 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L457" class="LineNr"> 457 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L458" class="LineNr"> 458 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</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='hex.subx.html#L131'>convert-next-octet</a>/disp32
@@ -592,13 +592,13 @@ if ('onhashchange' in window) {
 <span id="L529" class="LineNr"> 529 </span>    75/jump-if-not-equal  $scan-next-byte:end/disp8
 <span id="L530" class="LineNr"> 530 </span><span class="Constant">$scan-next-byte:check1</span>:
 <span id="L531" class="LineNr"> 531 </span>    <span class="subxComment"># if (EAX == ' ') continue</span>
-<span id="L532" class="LineNr"> 532 </span>    81          7/subop/compare     3/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>              0x20/imm32        <span class="subxComment"># compare EAX</span>
+<span id="L532" class="LineNr"> 532 </span>    3d/compare-EAX-and  0x20/imm32/space
 <span id="L533" class="LineNr"> 533 </span>    74/jump-if-equal  $scan-next-byte:loop/disp8
 <span id="L534" class="LineNr"> 534 </span>    <span class="subxComment"># if (EAX == '\t') continue</span>
-<span id="L535" class="LineNr"> 535 </span>    81          7/subop/compare     3/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>              0x9/imm32         <span class="subxComment"># compare EAX</span>
+<span id="L535" class="LineNr"> 535 </span>    3d/compare-EAX-and  9/imm32/tab
 <span id="L536" class="LineNr"> 536 </span>    74/jump-if-equal  $scan-next-byte:loop/disp8
 <span id="L537" class="LineNr"> 537 </span>    <span class="subxComment"># if (EAX == '\n') continue</span>
-<span id="L538" class="LineNr"> 538 </span>    81          7/subop/compare     3/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>              0xa/imm32         <span class="subxComment"># compare EAX</span>
+<span id="L538" class="LineNr"> 538 </span>    3d/compare-EAX-and  0xa/imm32/newline
 <span id="L539" class="LineNr"> 539 </span>    74/jump-if-equal  $scan-next-byte:loop/disp8
 <span id="L540" class="LineNr"> 540 </span><span class="Constant">$scan-next-byte:check2</span>:
 <span id="L541" class="LineNr"> 541 </span>    <span class="subxComment"># if (EAX == '#') skip-until-newline(in)</span>
@@ -659,7 +659,7 @@ if ('onhashchange' in window) {
 <span id="L596" class="LineNr"> 596 </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="L597" class="LineNr"> 597 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L598" class="LineNr"> 598 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L599" class="LineNr"> 599 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L599" class="LineNr"> 599 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L600" class="LineNr"> 600 </span>    05/add-to-EAX  4/imm32
 <span id="L601" class="LineNr"> 601 </span>    50/push-EAX
 <span id="L602" class="LineNr"> 602 </span>    <span class="subxS2Comment"># . . call</span>
@@ -690,7 +690,7 @@ if ('onhashchange' in window) {
 <span id="L627" class="LineNr"> 627 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L628" class="LineNr"> 628 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L629" class="LineNr"> 629 </span>    51/push-ECX/ed
-<span id="L630" class="LineNr"> 630 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L630" class="LineNr"> 630 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L631" class="LineNr"> 631 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L632" class="LineNr"> 632 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L633" class="LineNr"> 633 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -761,7 +761,7 @@ if ('onhashchange' in window) {
 <span id="L698" class="LineNr"> 698 </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="L699" class="LineNr"> 699 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L700" class="LineNr"> 700 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L701" class="LineNr"> 701 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L701" class="LineNr"> 701 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L702" class="LineNr"> 702 </span>    05/add-to-EAX  4/imm32
 <span id="L703" class="LineNr"> 703 </span>    50/push-EAX
 <span id="L704" class="LineNr"> 704 </span>    <span class="subxS2Comment"># . . call</span>
@@ -792,7 +792,7 @@ if ('onhashchange' in window) {
 <span id="L729" class="LineNr"> 729 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L730" class="LineNr"> 730 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L731" class="LineNr"> 731 </span>    51/push-ECX/ed
-<span id="L732" class="LineNr"> 732 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L732" class="LineNr"> 732 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L733" class="LineNr"> 733 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L734" class="LineNr"> 734 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L735" class="LineNr"> 735 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -863,7 +863,7 @@ if ('onhashchange' in window) {
 <span id="L800" class="LineNr"> 800 </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="L801" class="LineNr"> 801 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L802" class="LineNr"> 802 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L803" class="LineNr"> 803 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L803" class="LineNr"> 803 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L804" class="LineNr"> 804 </span>    05/add-to-EAX  4/imm32
 <span id="L805" class="LineNr"> 805 </span>    50/push-EAX
 <span id="L806" class="LineNr"> 806 </span>    <span class="subxS2Comment"># . . call</span>
@@ -910,7 +910,7 @@ if ('onhashchange' in window) {
 <span id="L847" class="LineNr"> 847 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L848" class="LineNr"> 848 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L849" class="LineNr"> 849 </span>    51/push-ECX/ed
-<span id="L850" class="LineNr"> 850 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L850" class="LineNr"> 850 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L851" class="LineNr"> 851 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L852" class="LineNr"> 852 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L853" class="LineNr"> 853 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -981,7 +981,7 @@ if ('onhashchange' in window) {
 <span id="L918" class="LineNr"> 918 </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="L919" class="LineNr"> 919 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L920" class="LineNr"> 920 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L921" class="LineNr"> 921 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L921" class="LineNr"> 921 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L922" class="LineNr"> 922 </span>    05/add-to-EAX  4/imm32
 <span id="L923" class="LineNr"> 923 </span>    50/push-EAX
 <span id="L924" class="LineNr"> 924 </span>    <span class="subxS2Comment"># . . call</span>
@@ -1028,7 +1028,7 @@ if ('onhashchange' in window) {
 <span id="L965" class="LineNr"> 965 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L966" class="LineNr"> 966 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L967" class="LineNr"> 967 </span>    51/push-ECX/ed
-<span id="L968" class="LineNr"> 968 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L968" class="LineNr"> 968 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L969" class="LineNr"> 969 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L970" class="LineNr"> 970 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L971" class="LineNr"> 971 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -1099,7 +1099,7 @@ if ('onhashchange' in window) {
 <span id="L1036" class="LineNr">1036 </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="L1037" class="LineNr">1037 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L1038" class="LineNr">1038 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L1039" class="LineNr">1039 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1039" class="LineNr">1039 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1040" class="LineNr">1040 </span>    05/add-to-EAX  4/imm32
 <span id="L1041" class="LineNr">1041 </span>    50/push-EAX
 <span id="L1042" class="LineNr">1042 </span>    <span class="subxS2Comment"># . . call</span>
@@ -1146,7 +1146,7 @@ if ('onhashchange' in window) {
 <span id="L1083" class="LineNr">1083 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L1084" class="LineNr">1084 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1085" class="LineNr">1085 </span>    51/push-ECX/ed
-<span id="L1086" class="LineNr">1086 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1086" class="LineNr">1086 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1087" class="LineNr">1087 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L1088" class="LineNr">1088 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1089" class="LineNr">1089 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -1217,7 +1217,7 @@ if ('onhashchange' in window) {
 <span id="L1154" class="LineNr">1154 </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="L1155" class="LineNr">1155 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L1156" class="LineNr">1156 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L1157" class="LineNr">1157 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1157" class="LineNr">1157 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1158" class="LineNr">1158 </span>    05/add-to-EAX  4/imm32
 <span id="L1159" class="LineNr">1159 </span>    50/push-EAX
 <span id="L1160" class="LineNr">1160 </span>    <span class="subxS2Comment"># . . call</span>
@@ -1248,7 +1248,7 @@ if ('onhashchange' in window) {
 <span id="L1185" class="LineNr">1185 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L1186" class="LineNr">1186 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1187" class="LineNr">1187 </span>    51/push-ECX/ed
-<span id="L1188" class="LineNr">1188 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1188" class="LineNr">1188 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1189" class="LineNr">1189 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L1190" class="LineNr">1190 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1191" class="LineNr">1191 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -1319,7 +1319,7 @@ if ('onhashchange' in window) {
 <span id="L1256" class="LineNr">1256 </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="L1257" class="LineNr">1257 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L1258" class="LineNr">1258 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L1259" class="LineNr">1259 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1259" class="LineNr">1259 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1260" class="LineNr">1260 </span>    05/add-to-EAX  4/imm32
 <span id="L1261" class="LineNr">1261 </span>    50/push-EAX
 <span id="L1262" class="LineNr">1262 </span>    <span class="subxS2Comment"># . . call</span>
@@ -1342,7 +1342,7 @@ if ('onhashchange' in window) {
 <span id="L1279" class="LineNr">1279 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L1280" class="LineNr">1280 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1281" class="LineNr">1281 </span>    51/push-ECX/ed
-<span id="L1282" class="LineNr">1282 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1282" class="LineNr">1282 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1283" class="LineNr">1283 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L1284" class="LineNr">1284 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1285" class="LineNr">1285 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -1413,7 +1413,7 @@ if ('onhashchange' in window) {
 <span id="L1350" class="LineNr">1350 </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="L1351" class="LineNr">1351 </span>    <span class="subxS1Comment"># . clear-stream(_test-error-buffered-file+4)</span>
 <span id="L1352" class="LineNr">1352 </span>    <span class="subxS2Comment"># . . push args</span>
-<span id="L1353" class="LineNr">1353 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1353" class="LineNr">1353 </span>    b8/copy-to-EAX  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1354" class="LineNr">1354 </span>    05/add-to-EAX  4/imm32
 <span id="L1355" class="LineNr">1355 </span>    50/push-EAX
 <span id="L1356" class="LineNr">1356 </span>    <span class="subxS2Comment"># . . call</span>
@@ -1444,7 +1444,7 @@ if ('onhashchange' in window) {
 <span id="L1381" class="LineNr">1381 </span>    <span class="subxComment"># EAX = scan-next-byte(_test-buffered-file, _test-error-buffered-file, ed)</span>
 <span id="L1382" class="LineNr">1382 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1383" class="LineNr">1383 </span>    51/push-ECX/ed
-<span id="L1384" class="LineNr">1384 </span>    68/push  <a href='hex.subx.html#L1524'>_test-error-buffered-file</a>/imm32
+<span id="L1384" class="LineNr">1384 </span>    68/push  <a href='hex.subx.html#L1539'>_test-error-buffered-file</a>/imm32
 <span id="L1385" class="LineNr">1385 </span>    68/push  <a href='../061read-byte.subx.html#L289'>_test-buffered-file</a>/imm32
 <span id="L1386" class="LineNr">1386 </span>    <span class="subxS2Comment"># . . call</span>
 <span id="L1387" class="LineNr">1387 </span>    e8/call  <a href='hex.subx.html#L489'>scan-next-byte</a>/disp32
@@ -1494,10 +1494,10 @@ if ('onhashchange' in window) {
 <span id="L1431" class="LineNr">1431 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1432" class="LineNr">1432 </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="L1433" class="LineNr">1433 </span>    <span class="subxS1Comment"># . if (EAX == Eof) break</span>
-<span id="L1434" class="LineNr">1434 </span>    81          7/subop/compare     3/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>              0xffffffff/imm32/Eof  <span class="subxComment"># compare EAX</span>
+<span id="L1434" class="LineNr">1434 </span>    3d/compare-EAX-and  0xffffffff/imm32/Eof
 <span id="L1435" class="LineNr">1435 </span>    74/jump-if-equal  $skip-until-newline:end/disp8
 <span id="L1436" class="LineNr">1436 </span>    <span class="subxS1Comment"># . if (EAX != 0xa/newline) loop</span>
-<span id="L1437" class="LineNr">1437 </span>    81          7/subop/compare     3/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>              0xa/imm32         <span class="subxComment"># compare EAX</span>
+<span id="L1437" class="LineNr">1437 </span>    3d/compare-EAX-and  0xa/imm32/newline
 <span id="L1438" class="LineNr">1438 </span>    75/jump-if-not-equal  $skip-until-newline:loop/disp8
 <span id="L1439" class="LineNr">1439 </span><span class="Constant">$skip-until-newline:end</span>:
 <span id="L1440" class="LineNr">1440 </span>    <span class="subxS1Comment"># . restore registers</span>
@@ -1579,24 +1579,39 @@ if ('onhashchange' in window) {
 <span id="L1516" class="LineNr">1516 </span>    <span class="subxComment"># current read index</span>
 <span id="L1517" class="LineNr">1517 </span>    0/imm32
 <span id="L1518" class="LineNr">1518 </span>    <span class="subxComment"># length</span>
-<span id="L1519" class="LineNr">1519 </span>    8/imm32
+<span id="L1519" class="LineNr">1519 </span>    0x80/imm32
 <span id="L1520" class="LineNr">1520 </span>    <span class="subxComment"># data</span>
 <span id="L1521" class="LineNr">1521 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
-<span id="L1522" class="LineNr">1522 </span>
-<span id="L1523" class="LineNr">1523 </span><span class="subxComment"># a test buffered file for _test-error-stream</span>
-<span id="L1524" class="LineNr">1524 </span><span class="subxMinorFunction">_test-error-buffered-file</span>:
-<span id="L1525" class="LineNr">1525 </span>    <span class="subxComment"># file descriptor or (address stream)</span>
-<span id="L1526" class="LineNr">1526 </span>    <a href='hex.subx.html#L1513'>_test-error-stream</a>/imm32
-<span id="L1527" class="LineNr">1527 </span>    <span class="subxComment"># current write index</span>
-<span id="L1528" class="LineNr">1528 </span>    0/imm32
-<span id="L1529" class="LineNr">1529 </span>    <span class="subxComment"># current read index</span>
-<span id="L1530" class="LineNr">1530 </span>    0/imm32
-<span id="L1531" class="LineNr">1531 </span>    <span class="subxComment"># length</span>
-<span id="L1532" class="LineNr">1532 </span>    6/imm32
-<span id="L1533" class="LineNr">1533 </span>    <span class="subxComment"># data</span>
-<span id="L1534" class="LineNr">1534 </span>    00 00 00 00 00 00  <span class="subxComment"># 6 bytes</span>
-<span id="L1535" class="LineNr">1535 </span>
-<span id="L1536" class="LineNr">1536 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
+<span id="L1522" class="LineNr">1522 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1523" class="LineNr">1523 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1524" class="LineNr">1524 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1525" class="LineNr">1525 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1526" class="LineNr">1526 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1527" class="LineNr">1527 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1528" class="LineNr">1528 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1529" class="LineNr">1529 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1530" class="LineNr">1530 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1531" class="LineNr">1531 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1532" class="LineNr">1532 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1533" class="LineNr">1533 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1534" class="LineNr">1534 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1535" class="LineNr">1535 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1536" class="LineNr">1536 </span>    00 00 00 00 00 00 00 00  <span class="subxComment"># 8 bytes</span>
+<span id="L1537" class="LineNr">1537 </span>
+<span id="L1538" class="LineNr">1538 </span><span class="subxComment"># a test buffered file for _test-error-stream</span>
+<span id="L1539" class="LineNr">1539 </span><span class="subxMinorFunction">_test-error-buffered-file</span>:
+<span id="L1540" class="LineNr">1540 </span>    <span class="subxComment"># file descriptor or (address stream)</span>
+<span id="L1541" class="LineNr">1541 </span>    <a href='hex.subx.html#L1513'>_test-error-stream</a>/imm32
+<span id="L1542" class="LineNr">1542 </span>    <span class="subxComment"># current write index</span>
+<span id="L1543" class="LineNr">1543 </span>    0/imm32
+<span id="L1544" class="LineNr">1544 </span>    <span class="subxComment"># current read index</span>
+<span id="L1545" class="LineNr">1545 </span>    0/imm32
+<span id="L1546" class="LineNr">1546 </span>    <span class="subxComment"># length</span>
+<span id="L1547" class="LineNr">1547 </span>    6/imm32
+<span id="L1548" class="LineNr">1548 </span>    <span class="subxComment"># data</span>
+<span id="L1549" class="LineNr">1549 </span>    00 00 00 00 00 00  <span class="subxComment"># 6 bytes</span>
+<span id="L1550" class="LineNr">1550 </span>
+<span id="L1551" class="LineNr">1551 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
 </pre>
 </body>
 </html>