diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-10-05 11:00:05 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-10-05 11:00:05 -0700 |
commit | d3a9db3aff54ea485f409eaaef3d8f56ad77f0dc (patch) | |
tree | 60858669ff7c5a5b041e4dacb8ffffa0a4b3e68a /html/apps/survey.subx.html | |
parent | f13576b5d273ef9175e938b15f55bb1ead22fb1d (diff) | |
download | mu-d3a9db3aff54ea485f409eaaef3d8f56ad77f0dc.tar.gz |
6958
Diffstat (limited to 'html/apps/survey.subx.html')
-rw-r--r-- | html/apps/survey.subx.html | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html index 2d731d1d..f0ed15c8 100644 --- a/html/apps/survey.subx.html +++ b/html/apps/survey.subx.html @@ -16,9 +16,9 @@ a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } .subxS2Comment { color: #8a8a8a; } -.subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } .LineNr { } +.subxTest { color: #5f8700; } .subxS1Comment { color: #0000af; } .CommentedCode { color: #8a8a8a; } .SpecialChar { color: #d70000; } @@ -380,14 +380,14 @@ if ('onhashchange' in window) { <span id="L317" class="LineNr"> 317 </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="L318" class="LineNr"> 318 </span> <span class="subxComment"># subx-survey(_test-input-buffered-file, _test-output-buffered-file)</span> <span id="L319" class="LineNr"> 319 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L320" class="LineNr"> 320 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 -<span id="L321" class="LineNr"> 321 </span> 68/push <a href='../112read-byte.subx.html#L357'>_test-input-buffered-file</a>/imm32 +<span id="L320" class="LineNr"> 320 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 +<span id="L321" class="LineNr"> 321 </span> 68/push <a href='../112read-byte.subx.html#L405'>_test-input-buffered-file</a>/imm32 <span id="L322" class="LineNr"> 322 </span> <span class="subxS2Comment"># . . call</span> <span id="L323" class="LineNr"> 323 </span> e8/call <a href='survey.subx.html#L115'>subx-survey</a>/disp32 <span id="L324" class="LineNr"> 324 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L325" class="LineNr"> 325 </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="L326" class="LineNr"> 326 </span> <span class="subxComment"># check trace</span> -<span id="L327" class="Folded"> 327 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L327" class="Folded"> 327 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L353" class="LineNr"> 353 </span> <span class="subxS1Comment"># . check-trace-contains("label 'x' is at address 0x00001079.", msg)</span> <span id="L354" class="LineNr"> 354 </span> <span class="subxS2Comment"># . . push args</span> <span id="L355" class="LineNr"> 355 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L222'>test-subx-survey-computes-addresses</a>/0"</span>/imm32 @@ -546,7 +546,7 @@ if ('onhashchange' in window) { <span id="L508" class="LineNr"> 508 </span> 8b/copy 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *ecx to eax</span> <span id="L509" class="LineNr"> 509 </span> 3d/compare-eax-and 0/imm32 <span id="L510" class="LineNr"> 510 </span> 0f 84/jump-if-= $compute-offsets:break-line-loop/disp32 -<span id="L511" class="Folded"> 511 </span><span class="Folded">+-- 33 lines: #? # dump line -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L511" class="Folded"> 511 </span><span class="Folded">+-- 33 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L544" class="LineNr"> 544 </span><span class="Constant">$compute-offsets:word-loop</span>: <span id="L545" class="LineNr"> 545 </span> <span class="subxComment"># next-word(line, word-slice)</span> <span id="L546" class="LineNr"> 546 </span> 52/push-edx @@ -697,7 +697,7 @@ if ('onhashchange' in window) { <span id="L691" class="LineNr"> 691 </span> <span class="subxS2Comment"># . . push args</span> <span id="L692" class="LineNr"> 692 </span> 68/push <a href='survey.subx.html#L407'>compute-offsets</a>:segment-tmp/imm32 <span id="L693" class="LineNr"> 693 </span> <span class="subxS2Comment"># . . call</span> -<span id="L694" class="LineNr"> 694 </span> e8/call <a href='../118parse-hex.subx.html#L387'>parse-hex-int-from-slice</a>/disp32 +<span id="L694" class="LineNr"> 694 </span> e8/call <a href='../118parse-hex-int.subx.html#L387'>parse-hex-int-from-slice</a>/disp32 <span id="L695" class="LineNr"> 695 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L696" class="LineNr"> 696 </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="L697" class="LineNr"> 697 </span> <span class="subxS1Comment"># . sinfo->address = eax</span> @@ -812,7 +812,7 @@ if ('onhashchange' in window) { <span id="L806" class="LineNr"> 806 </span> 01/add 0/mod/indirect 5/rm32/.disp32 <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <a href='survey.subx.html#L407'>compute-offsets</a>:segment-offset/disp32 <span class="subxComment"># add eax to *segment-offset</span> <span id="L807" class="LineNr"> 807 </span> <span class="subxComment"># file-offset += width</span> <span id="L808" class="LineNr"> 808 </span> 01/add 0/mod/indirect 5/rm32/.disp32 <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <a href='survey.subx.html#L407'>compute-offsets</a>:file-offset/disp32 <span class="subxComment"># add eax to *file-offset</span> -<span id="L809" class="Folded"> 809 </span><span class="Folded">+-- 41 lines: #? # dump segment-offset -------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L809" class="Folded"> 809 </span><span class="Folded">+-- 41 lines: #? # dump segment-offset ----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L850" class="LineNr"> 850 </span> e9/jump $compute-offsets:word-loop/disp32 <span id="L851" class="LineNr"> 851 </span><span class="Constant">$compute-offsets:break-line-loop</span>: <span id="L852" class="LineNr"> 852 </span> <span class="subxComment"># sinfo/edi = get-or-insert-handle(segments, curr-segment-name, row-size=16)</span> @@ -988,7 +988,7 @@ if ('onhashchange' in window) { <span id="L1022" class="LineNr">1022 </span> e8/call <a href='survey.subx.html#L407'>compute-offsets</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> 0xc/imm32 <span class="subxComment"># add to esp</span> -<span id="L1025" class="Folded">1025 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1025" class="Folded">1025 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1051" class="LineNr">1051 </span> <span class="subxComment"># check trace</span> <span id="L1052" class="LineNr">1052 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'code' is at file offset 0x00000000.", msg)</span> <span id="L1053" class="LineNr">1053 </span> <span class="subxS2Comment"># . . push args</span> @@ -1152,7 +1152,7 @@ if ('onhashchange' in window) { <span id="L1211" class="LineNr">1211 </span> 81 0/subop/add 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> 0x14/imm32 <span class="subxComment"># add to esi</span> <span id="L1212" class="LineNr">1212 </span> eb/jump $compute-addresses:segment-loop/disp8 <span id="L1213" class="LineNr">1213 </span><span class="Constant">$compute-addresses:segment-break</span>: -<span id="L1214" class="Folded">1214 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1214" class="Folded">1214 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1240" class="LineNr">1240 </span> <span class="subxComment"># esi = labels</span> <span id="L1241" class="LineNr">1241 </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="L1242" class="LineNr">1242 </span> <span class="subxComment"># var max/ecx: (addr byte) = &labels->data[labels->write]</span> @@ -1164,7 +1164,7 @@ if ('onhashchange' in window) { <span id="L1248" class="LineNr">1248 </span> <span class="subxComment"># if (lrow >= max) break</span> <span id="L1249" class="LineNr">1249 </span> 39/compare 3/mod/direct 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"># compare esi with ecx</span> <span id="L1250" class="LineNr">1250 </span> 0f 83/jump-if-addr>= $compute-addresses:end/disp32 -<span id="L1251" class="Folded">1251 </span><span class="Folded">+-- 26 lines: #? # dump lrow->key ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1251" class="Folded">1251 </span><span class="Folded">+-- 26 lines: #? # dump lrow->key ---------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1277" class="LineNr">1277 </span> <span class="subxComment"># var seg-name/edx: (addr array byte) = lookup(lrow->segment-name)</span> <span id="L1278" class="LineNr">1278 </span> <span class="subxS1Comment"># . eax = lookup(lrow->segment-name)</span> <span id="L1279" class="LineNr">1279 </span> <span class="subxS2Comment"># . . push args</span> @@ -1176,7 +1176,7 @@ if ('onhashchange' in window) { <span id="L1285" class="LineNr">1285 </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="L1286" class="LineNr">1286 </span> <span class="subxS1Comment"># . edx = eax</span> <span id="L1287" class="LineNr">1287 </span> 89/copy 3/mod/direct 2/rm32/edx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy eax to edx</span> -<span id="L1288" class="Folded">1288 </span><span class="Folded">+-- 26 lines: #? # dump seg-name -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1288" class="Folded">1288 </span><span class="Folded">+-- 26 lines: #? # dump seg-name ----------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1314" class="LineNr">1314 </span> <span class="subxComment"># var label-seg/edx: (addr segment-info) = get(segments, seg-name, row-size=20, "segment table")</span> <span id="L1315" class="LineNr">1315 </span> <span class="subxS1Comment"># . eax = get(segments, seg-name, row-size=20)</span> <span id="L1316" class="LineNr">1316 </span> <span class="subxS2Comment"># . . push args</span> @@ -1393,7 +1393,7 @@ if ('onhashchange' in window) { <span id="L1527" class="LineNr">1527 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1528" class="LineNr">1528 </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="L1529" class="LineNr">1529 </span> <span class="subxComment"># checks</span> -<span id="L1530" class="Folded">1530 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1530" class="Folded">1530 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1556" class="LineNr">1556 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'a' starts at address 0x00001094.", msg)</span> <span id="L1557" class="LineNr">1557 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1558" class="LineNr">1558 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L1369'>test-compute-addresses</a>/0"</span>/imm32 @@ -1556,7 +1556,7 @@ if ('onhashchange' in window) { <span id="L1715" class="LineNr">1715 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1716" class="LineNr">1716 </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="L1717" class="LineNr">1717 </span> <span class="subxComment"># checks</span> -<span id="L1718" class="Folded">1718 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1718" class="Folded">1718 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1744" class="LineNr">1744 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'a' starts at address 0x00001074.", msg)</span> <span id="L1745" class="LineNr">1745 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1746" class="LineNr">1746 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L1610'>test-compute-addresses-large-segments</a>/0"</span>/imm32 @@ -1594,7 +1594,7 @@ if ('onhashchange' in window) { <span id="L1778" class="LineNr">1778 </span> <span class="subxS1Comment"># . prologue</span> <span id="L1779" class="LineNr">1779 </span> 55/push-ebp <span id="L1780" class="LineNr">1780 </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="L1781" class="Folded">1781 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-headers\n") -----------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1781" class="Folded">1781 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-headers\n") --------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1790" class="LineNr">1790 </span> <span class="subxComment"># emit-headers(out, segments, labels)</span> <span id="L1791" class="LineNr">1791 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1792" class="LineNr">1792 </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> @@ -1604,7 +1604,7 @@ if ('onhashchange' in window) { <span id="L1796" class="LineNr">1796 </span> e8/call <a href='survey.subx.html#L3043'>emit-headers</a>/disp32 <span id="L1797" class="LineNr">1797 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1798" class="LineNr">1798 </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="L1799" class="Folded">1799 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segments\n") ----------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1799" class="Folded">1799 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segments\n") -------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1808" class="LineNr">1808 </span> <span class="subxComment"># emit-segments(in, out, labels)</span> <span id="L1809" class="LineNr">1809 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1810" class="LineNr">1810 </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> @@ -1718,7 +1718,7 @@ if ('onhashchange' in window) { <span id="L1918" class="LineNr">1918 </span> e8/call <a href='../122read-line.subx.html#L218'>read-line</a>/disp32 <span id="L1919" class="LineNr">1919 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1920" class="LineNr">1920 </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="L1921" class="Folded">1921 </span><span class="Folded">+-- 33 lines: #? # dump line -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1921" class="Folded">1921 </span><span class="Folded">+-- 33 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1954" class="LineNr">1954 </span><span class="Constant">$emit-segments:check-for-end-of-input</span>: <span id="L1955" class="LineNr">1955 </span> <span class="subxComment"># if (line->write == 0) break</span> <span id="L1956" class="LineNr">1956 </span> 81 7/subop/compare 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/imm32 <span class="subxComment"># compare *ecx</span> @@ -1742,7 +1742,7 @@ if ('onhashchange' in window) { <span id="L1974" class="LineNr">1974 </span> e8/call <a href='../127next-word.subx.html#L10'>next-word</a>/disp32 <span id="L1975" class="LineNr">1975 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1976" class="LineNr">1976 </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="L1977" class="Folded">1977 </span><span class="Folded">+-- 33 lines: #? # dump word-slice -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1977" class="Folded">1977 </span><span class="Folded">+-- 33 lines: #? # dump word-slice --------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2010" class="LineNr">2010 </span><span class="Constant">$emit-segments:check-for-end-of-line</span>: <span id="L2011" class="LineNr">2011 </span> <span class="subxComment"># if (slice-empty?(word-slice)) break</span> <span id="L2012" class="LineNr">2012 </span> <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span> @@ -1828,7 +1828,7 @@ if ('onhashchange' in window) { <span id="L2092" class="LineNr">2092 </span> e8/call <a href='../124next-token.subx.html#L163'>next-token-from-slice</a>/disp32 <span id="L2093" class="LineNr">2093 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2094" class="LineNr">2094 </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="L2095" class="Folded">2095 </span><span class="Folded">+-- 33 lines: #? # dump datum ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2095" class="Folded">2095 </span><span class="Folded">+-- 33 lines: #? # dump datum -------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2128" class="LineNr">2128 </span> <span class="subxComment"># info/esi = get-slice(labels, datum, row-size=24, "label table")</span> <span id="L2129" class="LineNr">2129 </span> <span class="subxS1Comment"># . eax = get-slice(labels, datum, row-size=24, "label table")</span> <span id="L2130" class="LineNr">2130 </span> <span class="subxS2Comment"># . . push args</span> @@ -1927,7 +1927,7 @@ if ('onhashchange' in window) { <span id="L2223" class="LineNr">2223 </span> <span class="subxS1Comment"># . if (eax == false) goto next check</span> <span id="L2224" class="LineNr">2224 </span> 3d/compare-eax-and 0/imm32/false <span id="L2225" class="LineNr">2225 </span> 74/jump-if-= $emit-segments:check-code-label-for-disp8/disp8 -<span id="L2226" class="Folded">2226 </span><span class="Folded">+-- 33 lines: #? # dump info->address --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2226" class="Folded">2226 </span><span class="Folded">+-- 33 lines: #? # dump info->address -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2259" class="LineNr">2259 </span><span class="Constant">$emit-segments:emit-code-label-imm32</span>: <span id="L2260" class="LineNr">2260 </span> <span class="subxComment"># emit-hex(out, info->address, 4)</span> <span id="L2261" class="LineNr">2261 </span> <span class="subxS2Comment"># . . push args</span> @@ -2220,7 +2220,7 @@ if ('onhashchange' in window) { <span id="L2548" class="LineNr">2548 </span> <span class="subxS1Comment"># . emit-segments(_test-input-stream, _test-output-buffered-file, labels)</span> <span id="L2549" class="LineNr">2549 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2550" class="LineNr">2550 </span> 52/push-edx -<span id="L2551" class="LineNr">2551 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2551" class="LineNr">2551 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2552" class="LineNr">2552 </span> 68/push <a href='../112read-byte.subx.html#L331'>_test-input-stream</a>/imm32 <span id="L2553" class="LineNr">2553 </span> <span class="subxS2Comment"># . . call</span> <span id="L2554" class="LineNr">2554 </span> e8/call <a href='survey.subx.html#L1823'>emit-segments</a>/disp32 @@ -2229,12 +2229,12 @@ if ('onhashchange' in window) { <span id="L2557" class="LineNr">2557 </span> <span class="subxComment"># checks</span> <span id="L2558" class="LineNr">2558 </span> <span class="subxS1Comment"># . flush(_test-output-buffered-file)</span> <span id="L2559" class="LineNr">2559 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L2560" class="LineNr">2560 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2560" class="LineNr">2560 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2561" class="LineNr">2561 </span> <span class="subxS2Comment"># . . call</span> <span id="L2562" class="LineNr">2562 </span> e8/call <a href='../115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2563" class="LineNr">2563 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2564" class="LineNr">2564 </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="L2565" class="Folded">2565 </span><span class="Folded">+-- 33 lines: #? # dump output ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2565" class="Folded">2565 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2598" class="LineNr">2598 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ef gh ", msg)</span> <span id="L2599" class="LineNr">2599 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2600" class="LineNr">2600 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L2409'>test-emit-segments-global-variable</a>/0"</span>/imm32 @@ -2399,7 +2399,7 @@ if ('onhashchange' in window) { <span id="L2759" class="LineNr">2759 </span> <span class="subxS1Comment"># . emit-segments(_test-input-stream, _test-output-buffered-file, labels)</span> <span id="L2760" class="LineNr">2760 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2761" class="LineNr">2761 </span> 52/push-edx -<span id="L2762" class="LineNr">2762 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2762" class="LineNr">2762 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2763" class="LineNr">2763 </span> 68/push <a href='../112read-byte.subx.html#L331'>_test-input-stream</a>/imm32 <span id="L2764" class="LineNr">2764 </span> <span class="subxS2Comment"># . . call</span> <span id="L2765" class="LineNr">2765 </span> e8/call <a href='survey.subx.html#L1823'>emit-segments</a>/disp32 @@ -2408,12 +2408,12 @@ if ('onhashchange' in window) { <span id="L2768" class="LineNr">2768 </span> <span class="subxComment"># checks</span> <span id="L2769" class="LineNr">2769 </span> <span class="subxS1Comment"># . flush(_test-output-buffered-file)</span> <span id="L2770" class="LineNr">2770 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L2771" class="LineNr">2771 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2771" class="LineNr">2771 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2772" class="LineNr">2772 </span> <span class="subxS2Comment"># . . call</span> <span id="L2773" class="LineNr">2773 </span> e8/call <a href='../115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2774" class="LineNr">2774 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2775" class="LineNr">2775 </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="L2776" class="Folded">2776 </span><span class="Folded">+-- 33 lines: #? # dump output ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2776" class="Folded">2776 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2809" class="LineNr">2809 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg)</span> <span id="L2810" class="LineNr">2810 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2811" class="LineNr">2811 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L2639'>test-emit-segments-code-label</a>/0"</span>/imm32 @@ -2569,7 +2569,7 @@ if ('onhashchange' in window) { <span id="L2961" class="LineNr">2961 </span> <span class="subxS1Comment"># . emit-segments(_test-input-stream, _test-output-buffered-file, labels)</span> <span id="L2962" class="LineNr">2962 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2963" class="LineNr">2963 </span> 52/push-edx -<span id="L2964" class="LineNr">2964 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2964" class="LineNr">2964 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2965" class="LineNr">2965 </span> 68/push <a href='../112read-byte.subx.html#L331'>_test-input-stream</a>/imm32 <span id="L2966" class="LineNr">2966 </span> <span class="subxS2Comment"># . . call</span> <span id="L2967" class="LineNr">2967 </span> e8/call <a href='survey.subx.html#L1823'>emit-segments</a>/disp32 @@ -2578,12 +2578,12 @@ if ('onhashchange' in window) { <span id="L2970" class="LineNr">2970 </span> <span class="subxComment"># checks</span> <span id="L2971" class="LineNr">2971 </span> <span class="subxS1Comment"># . flush(_test-output-buffered-file)</span> <span id="L2972" class="LineNr">2972 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L2973" class="LineNr">2973 </span> 68/push <a href='../115write-byte.subx.html#L359'>_test-output-buffered-file</a>/imm32 +<span id="L2973" class="LineNr">2973 </span> 68/push <a href='../115write-byte.subx.html#L423'>_test-output-buffered-file</a>/imm32 <span id="L2974" class="LineNr">2974 </span> <span class="subxS2Comment"># . . call</span> <span id="L2975" class="LineNr">2975 </span> e8/call <a href='../115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2976" class="LineNr">2976 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2977" class="LineNr">2977 </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="L2978" class="Folded">2978 </span><span class="Folded">+-- 33 lines: #? # dump output ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2978" class="Folded">2978 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3011" class="LineNr">3011 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg)</span> <span id="L3012" class="LineNr">3012 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3013" class="LineNr">3013 </span> 68/push <span class="Constant">"F - <a href='survey.subx.html#L2841'>test-emit-segments-code-label-absolute</a>/0"</span>/imm32 @@ -2653,8 +2653,8 @@ if ('onhashchange' in window) { <span id="L3077" class="LineNr">3077 </span> <span class="subxComment"># if (curr-segment >= max) break</span> <span id="L3078" class="LineNr">3078 </span> 39/compare 3/mod/direct 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># compare eax with ecx</span> <span id="L3079" class="LineNr">3079 </span> 0f 83/jump-if-addr>= $emit-headers:end/disp32 -<span id="L3080" class="Folded">3080 </span><span class="Folded">+-- 63 lines: #? # dump curr-segment->name ---------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> -<span id="L3143" class="Folded">3143 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") ----------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3080" class="Folded">3080 </span><span class="Folded">+-- 63 lines: #? # dump curr-segment->name ------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3143" class="Folded">3143 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") -------------------------------------------------------------------------------------------------------------------------</span> <span id="L3152" class="LineNr">3152 </span> <span class="subxComment"># emit-elf-program-header-entry(out, curr-segment)</span> <span id="L3153" class="LineNr">3153 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3154" class="LineNr">3154 </span> 50/push-eax @@ -3174,7 +3174,7 @@ if ('onhashchange' in window) { <span id="L3668" class="LineNr">3668 </span> e8/call <a href='survey.subx.html#L3603'>trace-sssns</a>/disp32 <span id="L3669" class="LineNr">3669 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3670" class="LineNr">3670 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x14/imm32 <span class="subxComment"># add to esp</span> -<span id="L3671" class="Folded">3671 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3671" class="Folded">3671 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3697" class="LineNr">3697 </span> <span class="subxComment"># check-trace-contains("Abc 0x00000003 e")</span> <span id="L3698" class="LineNr">3698 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3699" class="LineNr">3699 </span> 68/push <span class="Constant">"F - test-trace-sssns"</span>/imm32 @@ -3256,7 +3256,7 @@ if ('onhashchange' in window) { <span id="L3775" class="LineNr">3775 </span> e8/call <a href='survey.subx.html#L3710'>trace-snsns</a>/disp32 <span id="L3776" class="LineNr">3776 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3777" class="LineNr">3777 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x14/imm32 <span class="subxComment"># add to esp</span> -<span id="L3778" class="Folded">3778 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3778" class="Folded">3778 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3804" class="LineNr">3804 </span> <span class="subxComment"># check-trace-contains("Abc 0x00000003 e")</span> <span id="L3805" class="LineNr">3805 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3806" class="LineNr">3806 </span> 68/push <span class="Constant">"F - test-trace-snsns"</span>/imm32 @@ -3356,7 +3356,7 @@ if ('onhashchange' in window) { <span id="L3900" class="LineNr">3900 </span> e8/call <a href='survey.subx.html#L3817'>trace-slsls</a>/disp32 <span id="L3901" class="LineNr">3901 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3902" class="LineNr">3902 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x14/imm32 <span class="subxComment"># add to esp</span> -<span id="L3903" class="Folded">3903 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3903" class="Folded">3903 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3929" class="LineNr">3929 </span> <span class="subxComment"># check-trace-contains("Abcde")</span> <span id="L3930" class="LineNr">3930 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3931" class="LineNr">3931 </span> 68/push <span class="Constant">"F - test-trace-slsls"</span>/imm32 @@ -3447,7 +3447,7 @@ if ('onhashchange' in window) { <span id="L4016" class="LineNr">4016 </span> e8/call <a href='survey.subx.html#L3942'>trace-slsns</a>/disp32 <span id="L4017" class="LineNr">4017 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4018" class="LineNr">4018 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x14/imm32 <span class="subxComment"># add to esp</span> -<span id="L4019" class="Folded">4019 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4019" class="Folded">4019 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4045" class="LineNr">4045 </span> <span class="subxComment"># check-trace-contains("Abc 0x00000003 e")</span> <span id="L4046" class="LineNr">4046 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4047" class="LineNr">4047 </span> 68/push <span class="Constant">"F - test-trace-slsls"</span>/imm32 @@ -3538,7 +3538,7 @@ if ('onhashchange' in window) { <span id="L4132" class="LineNr">4132 </span> e8/call <a href='survey.subx.html#L4058'>trace-slsss</a>/disp32 <span id="L4133" class="LineNr">4133 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4134" class="LineNr">4134 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x14/imm32 <span class="subxComment"># add to esp</span> -<span id="L4135" class="Folded">4135 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream --------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4135" class="Folded">4135 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4161" class="LineNr">4161 </span> <span class="subxComment"># check-trace-contains("Abcde")</span> <span id="L4162" class="LineNr">4162 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4163" class="LineNr">4163 </span> 68/push <span class="Constant">"F - test-trace-slsss"</span>/imm32 @@ -3581,7 +3581,7 @@ if ('onhashchange' in window) { <span id="L4200" class="LineNr">4200 </span> 68/push 0/imm32/end <span id="L4201" class="LineNr">4201 </span> 68/push 0/imm32/start <span id="L4202" class="LineNr">4202 </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="L4203" class="Folded">4203 </span><span class="Folded">+-- 26 lines: #? # dump line -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4203" class="Folded">4203 </span><span class="Folded">+-- 26 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4229" class="LineNr">4229 </span> <span class="subxS1Comment"># . rewind-stream(line)</span> <span id="L4230" class="LineNr">4230 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4231" class="LineNr">4231 </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> @@ -3598,7 +3598,7 @@ if ('onhashchange' in window) { <span id="L4242" class="LineNr">4242 </span> e8/call <a href='../127next-word.subx.html#L10'>next-word</a>/disp32 <span id="L4243" class="LineNr">4243 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4244" class="LineNr">4244 </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="L4245" class="Folded">4245 </span><span class="Folded">+-- 40 lines: #? # dump word-slice -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4245" class="Folded">4245 </span><span class="Folded">+-- 40 lines: #? # dump word-slice --------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4285" class="LineNr">4285 </span><span class="Constant">$num-bytes:check0</span>: <span id="L4286" class="LineNr">4286 </span> <span class="subxComment"># if (slice-empty?(word-slice)) break</span> <span id="L4287" class="LineNr">4287 </span> <span class="subxS1Comment"># . save result</span> |