diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-04-10 21:18:55 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-04-10 21:18:55 -0700 |
commit | 09492d3867b5da6d0b2f21b139d097cd481a8fa1 (patch) | |
tree | 82d48abf1cd4af9f6d5eacd817bf4c17bbefd0b7 /html/subx/apps/hex.subx.html | |
parent | 1b28ab9044ed5f076e2dfa65999c1c3cbbadc34f (diff) | |
download | mu-09492d3867b5da6d0b2f21b139d097cd481a8fa1.tar.gz |
5077
Diffstat (limited to 'html/subx/apps/hex.subx.html')
-rw-r--r-- | html/subx/apps/hex.subx.html | 111 |
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, "partial byte found.")</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: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:nowrap:textwidth=0</span> </pre> </body> </html> |