diff options
Diffstat (limited to 'html/linux/survey_elf.subx.html')
-rw-r--r-- | html/linux/survey_elf.subx.html | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/html/linux/survey_elf.subx.html b/html/linux/survey_elf.subx.html index 2ff3382e..0babeeb5 100644 --- a/html/linux/survey_elf.subx.html +++ b/html/linux/survey_elf.subx.html @@ -14,18 +14,18 @@ pre { font-family: monospace; color: #000000; background-color: #ffffd7; } body { font-size:12pt; font-family: monospace; color: #000000; background-color: #ffffd7; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } +.subxH1Comment { color: #005faf; text-decoration: underline; } .subxComment { color: #005faf; } +.subxS1Comment { color: #0000af; } .subxS2Comment { color: #8a8a8a; } .LineNr { } -.subxFunction { color: #af5f00; text-decoration: underline; } -.subxS1Comment { color: #0000af; } .Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } +.subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } .Normal { color: #000000; background-color: #ffffd7; padding-bottom: 1px; } +.CommentedCode { color: #8a8a8a; } +.subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } -.subxTest { color: #5f8700; } -.subxH1Comment { color: #005faf; text-decoration: underline; } --> </style> @@ -142,7 +142,7 @@ if ('onhashchange' in window) { <span id="L79" class="LineNr"> 79 </span> 74/jump-if-= $subx-survey-main:interactive/disp8 <span id="L80" class="LineNr"> 80 </span> <span class="subxComment"># run-tests()</span> <span id="L81" class="LineNr"> 81 </span> e8/call run-tests/disp32 -<span id="L82" class="LineNr"> 82 </span> <span class="subxComment"># syscall(exit, *Num-test-failures)</span> +<span id="L82" class="LineNr"> 82 </span> <span class="subxComment"># syscall_exit(*Num-test-failures)</span> <span id="L83" class="LineNr"> 83 </span> 8b/copy 0/mod/indirect 5/rm32/.disp32 <span class="Normal"> . </span> <span class="Normal"> . </span> 3/r32/ebx <span class="SpecialChar"><a href='102test.subx.html#L89'>Num-test-failures</a></span>/disp32 <span class="subxComment"># copy *Num-test-failures to ebx</span> <span id="L84" class="LineNr"> 84 </span> eb/jump $subx-survey-main:end/disp8 <span id="L85" class="LineNr"> 85 </span><span class="Constant">$subx-survey-main:interactive</span>: @@ -163,7 +163,7 @@ if ('onhashchange' in window) { <span id="L100" class="LineNr"> 100 </span><span class="CommentedCode">#? e8/call write-stream/disp32</span> <span id="L101" class="LineNr"> 101 </span><span class="CommentedCode">#? # . . discard args</span> <span id="L102" class="LineNr"> 102 </span><span class="CommentedCode">#? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp</span> -<span id="L103" class="LineNr"> 103 </span> <span class="subxComment"># syscall(exit, 0)</span> +<span id="L103" class="LineNr"> 103 </span> <span class="subxComment"># syscall_exit(0)</span> <span id="L104" class="LineNr"> 104 </span> bb/copy-to-ebx 0/imm32 <span id="L105" class="LineNr"> 105 </span><span class="Constant">$subx-survey-main:end</span>: <span id="L106" class="LineNr"> 106 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 @@ -387,7 +387,7 @@ if ('onhashchange' in window) { <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_elf.subx.html#L222'>test-subx-survey-computes-addresses</a>/0"</span>/imm32 @@ -489,7 +489,7 @@ if ('onhashchange' in window) { <span id="L451" class="LineNr"> 451 </span> <span class="subxComment"># break (next line)</span> <span id="L452" class="LineNr"> 452 </span> <span class="subxComment"># else if label?(word-slice)</span> <span id="L453" class="LineNr"> 453 </span> <span class="subxComment"># strip trailing ':' from word-slice</span> -<span id="L454" class="LineNr"> 454 </span> <span class="subxComment"># linfo: (addr label-info) = get-or-insert-slice(labels, word-slice)</span> +<span id="L454" class="LineNr"> 454 </span> <span class="subxComment"># linfo: (addr label-info) = insert-slice-or-abort(labels, word-slice)</span> <span id="L455" class="LineNr"> 455 </span> <span class="subxComment"># linfo->segment-name = curr-segment-name</span> <span id="L456" class="LineNr"> 456 </span> <span class="subxComment"># trace("label '", word-slice, "' is in segment '", curr-segment-name, "'.")</span> <span id="L457" class="LineNr"> 457 </span> <span class="subxComment"># linfo->segment-offset = segment-offset</span> @@ -550,7 +550,7 @@ if ('onhashchange' in window) { <span id="L512" class="LineNr"> 512 </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="L513" class="LineNr"> 513 </span> 3d/compare-eax-and 0/imm32 <span id="L514" class="LineNr"> 514 </span> 0f 84/jump-if-= $compute-offsets:break-line-loop/disp32 -<span id="L515" class="Folded"> 515 </span><span class="Folded">+-- 33 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L515" class="Folded"> 515 </span><span class="Folded">+-- 33 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L548" class="LineNr"> 548 </span><span class="Constant">$compute-offsets:word-loop</span>: <span id="L549" class="LineNr"> 549 </span> <span class="subxComment"># next-word(line, word-slice)</span> <span id="L550" class="LineNr"> 550 </span> <span class="subxS2Comment"># . . push args</span> @@ -608,7 +608,7 @@ if ('onhashchange' in window) { <span id="L602" class="LineNr"> 602 </span> ff 6/subop/push 0/mod/indirect 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># push *esi</span> <span id="L603" class="LineNr"> 603 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span> <span id="L604" class="LineNr"> 604 </span> <span class="subxS2Comment"># . . call</span> -<span id="L605" class="LineNr"> 605 </span> e8/call <a href='131table.subx.html#L706'>get-or-insert-handle</a>/disp32 +<span id="L605" class="LineNr"> 605 </span> e8/call <a href='131table.subx.html#L854'>get-or-insert-handle</a>/disp32 <span id="L606" class="LineNr"> 606 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L607" class="LineNr"> 607 </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="L608" class="LineNr"> 608 </span> <span class="subxS1Comment"># . edi = eax</span> @@ -703,7 +703,7 @@ if ('onhashchange' in window) { <span id="L697" class="LineNr"> 697 </span> ff 6/subop/push 0/mod/indirect 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># push *esi</span> <span id="L698" class="LineNr"> 698 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span> <span id="L699" class="LineNr"> 699 </span> <span class="subxS2Comment"># . . call</span> -<span id="L700" class="LineNr"> 700 </span> e8/call <a href='131table.subx.html#L706'>get-or-insert-handle</a>/disp32 +<span id="L700" class="LineNr"> 700 </span> e8/call <a href='131table.subx.html#L854'>get-or-insert-handle</a>/disp32 <span id="L701" class="LineNr"> 701 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L702" class="LineNr"> 702 </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="L703" class="LineNr"> 703 </span> <span class="subxS1Comment"># . edi = eax</span> @@ -759,15 +759,15 @@ if ('onhashchange' in window) { <span id="L753" class="LineNr"> 753 </span> 0f 84/jump-if-= $compute-offsets:case-default/disp32 <span id="L754" class="LineNr"> 754 </span> <span class="subxComment"># strip trailing ':' from word-slice</span> <span id="L755" class="LineNr"> 755 </span> ff 1/subop/decrement 1/mod/*+disp8 2/rm32/edx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># decrement *(edx+4)</span> -<span id="L756" class="LineNr"> 756 </span> <span class="subxComment"># linfo/edi = get-or-insert-slice(labels, word-slice, row-size=24)</span> -<span id="L757" class="LineNr"> 757 </span> <span class="subxS1Comment"># . eax = get-or-insert-slice(labels, word-slice, row-size=24)</span> +<span id="L756" class="LineNr"> 756 </span> <span class="subxComment"># linfo/edi = insert-slice-or-abort(labels, word-slice, row-size=24)</span> +<span id="L757" class="LineNr"> 757 </span> <span class="subxS1Comment"># . eax = insert-slice-or-abort(labels, word-slice, row-size=24)</span> <span id="L758" class="LineNr"> 758 </span> <span class="subxS2Comment"># . . push args</span> <span id="L759" class="LineNr"> 759 </span> 68/push <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span>/imm32 <span id="L760" class="LineNr"> 760 </span> 68/push 0x18/imm32/row-size <span id="L761" class="LineNr"> 761 </span> 52/push-edx <span id="L762" class="LineNr"> 762 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0x10/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+16)</span> <span id="L763" class="LineNr"> 763 </span> <span class="subxS2Comment"># . . call</span> -<span id="L764" class="LineNr"> 764 </span> e8/call <a href='131table.subx.html#L1022'>get-or-insert-slice</a>/disp32 +<span id="L764" class="LineNr"> 764 </span> e8/call <a href='131table.subx.html#L1474'>insert-slice-or-abort</a>/disp32 <span id="L765" class="LineNr"> 765 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L766" class="LineNr"> 766 </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="L767" class="LineNr"> 767 </span> <span class="subxS1Comment"># . edi = eax</span> @@ -828,7 +828,7 @@ if ('onhashchange' in window) { <span id="L822" class="LineNr"> 822 </span> 01/add 0/mod/indirect 5/rm32/.disp32 <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <a href='survey_elf.subx.html#L407'>compute-offsets</a>:segment-offset/disp32 <span class="subxComment"># add eax to *segment-offset</span> <span id="L823" class="LineNr"> 823 </span> <span class="subxComment"># file-offset += width</span> <span id="L824" class="LineNr"> 824 </span> 01/add 0/mod/indirect 5/rm32/.disp32 <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <a href='survey_elf.subx.html#L407'>compute-offsets</a>:file-offset/disp32 <span class="subxComment"># add eax to *file-offset</span> -<span id="L825" class="Folded"> 825 </span><span class="Folded">+-- 41 lines: #? # dump segment-offset ---------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L825" class="Folded"> 825 </span><span class="Folded">+-- 41 lines: #? # dump segment-offset ----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L866" class="LineNr"> 866 </span> e9/jump $compute-offsets:word-loop/disp32 <span id="L867" class="LineNr"> 867 </span><span class="Constant">$compute-offsets:break-line-loop</span>: <span id="L868" class="LineNr"> 868 </span> <span class="subxComment"># sinfo/edi = get-or-insert-handle(segments, curr-segment-name, row-size=16)</span> @@ -839,7 +839,7 @@ if ('onhashchange' in window) { <span id="L873" class="LineNr"> 873 </span> ff 6/subop/push 0/mod/indirect 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># push *esi</span> <span id="L874" class="LineNr"> 874 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span> <span id="L875" class="LineNr"> 875 </span> <span class="subxS2Comment"># . . call</span> -<span id="L876" class="LineNr"> 876 </span> e8/call <a href='131table.subx.html#L706'>get-or-insert-handle</a>/disp32 +<span id="L876" class="LineNr"> 876 </span> e8/call <a href='131table.subx.html#L854'>get-or-insert-handle</a>/disp32 <span id="L877" class="LineNr"> 877 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L878" class="LineNr"> 878 </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="L879" class="LineNr"> 879 </span> <span class="subxS1Comment"># . edi = eax</span> @@ -901,7 +901,7 @@ if ('onhashchange' in window) { <span id="L935" class="LineNr"> 935 </span> e8/call <a href='101_write.subx.html#L12'>_write</a>/disp32 <span id="L936" class="LineNr"> 936 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L937" class="LineNr"> 937 </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="L938" class="LineNr"> 938 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> +<span id="L938" class="LineNr"> 938 </span> <span class="subxS1Comment"># . syscall_exit(1)</span> <span id="L939" class="LineNr"> 939 </span> bb/copy-to-ebx 1/imm32 <span id="L940" class="LineNr"> 940 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 <span id="L941" class="LineNr"> 941 </span> <span class="subxComment"># never gets here</span> @@ -1004,7 +1004,7 @@ if ('onhashchange' in window) { <span id="L1038" class="LineNr">1038 </span> e8/call <a href='survey_elf.subx.html#L407'>compute-offsets</a>/disp32 <span id="L1039" class="LineNr">1039 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1040" class="LineNr">1040 </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="L1041" class="Folded">1041 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1041" class="Folded">1041 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1067" class="LineNr">1067 </span> <span class="subxComment"># check trace</span> <span id="L1068" class="LineNr">1068 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'code' is at file offset 0x00000000.", msg)</span> <span id="L1069" class="LineNr">1069 </span> <span class="subxS2Comment"># . . push args</span> @@ -1168,7 +1168,7 @@ if ('onhashchange' in window) { <span id="L1227" class="LineNr">1227 </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="L1228" class="LineNr">1228 </span> eb/jump $compute-addresses:segment-loop/disp8 <span id="L1229" class="LineNr">1229 </span><span class="Constant">$compute-addresses:segment-break</span>: -<span id="L1230" class="Folded">1230 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1230" class="Folded">1230 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1256" class="LineNr">1256 </span> <span class="subxComment"># esi = labels</span> <span id="L1257" class="LineNr">1257 </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="L1258" class="LineNr">1258 </span> <span class="subxComment"># var max/ecx: (addr byte) = &labels->data[labels->write]</span> @@ -1180,7 +1180,7 @@ if ('onhashchange' in window) { <span id="L1264" class="LineNr">1264 </span> <span class="subxComment"># if (lrow >= max) break</span> <span id="L1265" class="LineNr">1265 </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="L1266" class="LineNr">1266 </span> 0f 83/jump-if-addr>= $compute-addresses:end/disp32 -<span id="L1267" class="Folded">1267 </span><span class="Folded">+-- 26 lines: #? # dump lrow->key --------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1267" class="Folded">1267 </span><span class="Folded">+-- 26 lines: #? # dump lrow->key ---------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1293" class="LineNr">1293 </span> <span class="subxComment"># var seg-name/edx: (addr array byte) = lookup(lrow->segment-name)</span> <span id="L1294" class="LineNr">1294 </span> <span class="subxS1Comment"># . eax = lookup(lrow->segment-name)</span> <span id="L1295" class="LineNr">1295 </span> <span class="subxS2Comment"># . . push args</span> @@ -1192,7 +1192,7 @@ if ('onhashchange' in window) { <span id="L1301" class="LineNr">1301 </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="L1302" class="LineNr">1302 </span> <span class="subxS1Comment"># . edx = eax</span> <span id="L1303" class="LineNr">1303 </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="L1304" class="Folded">1304 </span><span class="Folded">+-- 26 lines: #? # dump seg-name ---------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1304" class="Folded">1304 </span><span class="Folded">+-- 26 lines: #? # dump seg-name ----------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1330" class="LineNr">1330 </span> <span class="subxComment"># var label-seg/edx: (addr segment-info) = get(segments, seg-name, row-size=20, "segment table")</span> <span id="L1331" class="LineNr">1331 </span> <span class="subxS1Comment"># . eax = get(segments, seg-name, row-size=20)</span> <span id="L1332" class="LineNr">1332 </span> <span class="subxS2Comment"># . . push args</span> @@ -1409,7 +1409,7 @@ if ('onhashchange' in window) { <span id="L1543" class="LineNr">1543 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1544" class="LineNr">1544 </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="L1545" class="LineNr">1545 </span> <span class="subxComment"># checks</span> -<span id="L1546" class="Folded">1546 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1546" class="Folded">1546 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1572" class="LineNr">1572 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'a' starts at address 0x00001094.", msg)</span> <span id="L1573" class="LineNr">1573 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1574" class="LineNr">1574 </span> 68/push <span class="Constant">"F - <a href='survey_elf.subx.html#L1385'>test-compute-addresses</a>/0"</span>/imm32 @@ -1572,7 +1572,7 @@ if ('onhashchange' in window) { <span id="L1731" class="LineNr">1731 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1732" class="LineNr">1732 </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="L1733" class="LineNr">1733 </span> <span class="subxComment"># checks</span> -<span id="L1734" class="Folded">1734 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1734" class="Folded">1734 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1760" class="LineNr">1760 </span> <span class="subxS1Comment"># . check-trace-contains("segment 'a' starts at address 0x00001074.", msg)</span> <span id="L1761" class="LineNr">1761 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1762" class="LineNr">1762 </span> 68/push <span class="Constant">"F - <a href='survey_elf.subx.html#L1626'>test-compute-addresses-large-segments</a>/0"</span>/imm32 @@ -1610,7 +1610,7 @@ if ('onhashchange' in window) { <span id="L1794" class="LineNr">1794 </span> <span class="subxS1Comment"># . prologue</span> <span id="L1795" class="LineNr">1795 </span> 55/push-ebp <span id="L1796" class="LineNr">1796 </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="L1797" class="Folded">1797 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-headers\n") -------------------------------------------------------------------------------------------------------------------</span> +<span id="L1797" class="Folded">1797 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-headers\n") --------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1806" class="LineNr">1806 </span> <span class="subxComment"># emit-headers(out, segments, labels)</span> <span id="L1807" class="LineNr">1807 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1808" class="LineNr">1808 </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> @@ -1620,7 +1620,7 @@ if ('onhashchange' in window) { <span id="L1812" class="LineNr">1812 </span> e8/call <a href='survey_elf.subx.html#L3142'>emit-headers</a>/disp32 <span id="L1813" class="LineNr">1813 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1814" class="LineNr">1814 </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="L1815" class="Folded">1815 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segments\n") ------------------------------------------------------------------------------------------------------------------</span> +<span id="L1815" class="Folded">1815 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segments\n") -------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1824" class="LineNr">1824 </span> <span class="subxComment"># emit-segments(in, out, labels)</span> <span id="L1825" class="LineNr">1825 </span> <span class="subxS2Comment"># . . push args</span> <span id="L1826" class="LineNr">1826 </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> @@ -1736,7 +1736,7 @@ if ('onhashchange' in window) { <span id="L1936" class="LineNr">1936 </span> e8/call <a href='122read-line.subx.html#L218'>read-line</a>/disp32 <span id="L1937" class="LineNr">1937 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L1938" class="LineNr">1938 </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="L1939" class="Folded">1939 </span><span class="Folded">+-- 33 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L1939" class="Folded">1939 </span><span class="Folded">+-- 33 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1972" class="LineNr">1972 </span><span class="Constant">$emit-segments:check-for-end-of-input</span>: <span id="L1973" class="LineNr">1973 </span> <span class="subxComment"># if (line->write == 0) break</span> <span id="L1974" class="LineNr">1974 </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> @@ -1774,7 +1774,7 @@ if ('onhashchange' in window) { <span id="L2006" class="LineNr">2006 </span> e8/call <a href='127next-word.subx.html#L11'>next-word</a>/disp32 <span id="L2007" class="LineNr">2007 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2008" class="LineNr">2008 </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="L2009" class="Folded">2009 </span><span class="Folded">+-- 33 lines: #? # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2009" class="Folded">2009 </span><span class="Folded">+-- 33 lines: #? # dump word-slice --------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2042" class="LineNr">2042 </span><span class="Constant">$emit-segments:check-for-end-of-line</span>: <span id="L2043" class="LineNr">2043 </span> <span class="subxComment"># if (slice-empty?(word-slice)) break</span> <span id="L2044" class="LineNr">2044 </span> <span class="subxS1Comment"># . eax = slice-empty?(word-slice)</span> @@ -1860,7 +1860,7 @@ if ('onhashchange' in window) { <span id="L2124" class="LineNr">2124 </span> e8/call <a href='124next-token.subx.html#L163'>next-token-from-slice</a>/disp32 <span id="L2125" class="LineNr">2125 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2126" class="LineNr">2126 </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="L2127" class="Folded">2127 </span><span class="Folded">+-- 33 lines: #? # dump datum ------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2127" class="Folded">2127 </span><span class="Folded">+-- 33 lines: #? # dump datum -------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2160" class="LineNr">2160 </span> <span class="subxComment"># info/esi = get-slice(labels, datum, row-size=24, "label table")</span> <span id="L2161" class="LineNr">2161 </span> <span class="subxS1Comment"># . eax = get-slice(labels, datum, row-size=24, "label table")</span> <span id="L2162" class="LineNr">2162 </span> <span class="subxS2Comment"># . . push args</span> @@ -1900,7 +1900,7 @@ if ('onhashchange' in window) { <span id="L2196" class="LineNr">2196 </span> <span class="subxS1Comment"># . if (eax == false) goto next check</span> <span id="L2197" class="LineNr">2197 </span> 3d/compare-eax-and 0/imm32/false <span id="L2198" class="LineNr">2198 </span> 74/jump-if-= $emit-segments:check-disp8/disp8 -<span id="L2199" class="Folded">2199 </span><span class="Folded">+-- 33 lines: #? # dump info->address ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2199" class="Folded">2199 </span><span class="Folded">+-- 33 lines: #? # dump info->address -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2232" class="LineNr">2232 </span><span class="Constant">$emit-segments:emit-imm32</span>: <span id="L2233" class="LineNr">2233 </span> <span class="subxComment"># emit-hex(out, info->address, 4)</span> <span id="L2234" class="LineNr">2234 </span> <span class="subxS2Comment"># . . push args</span> @@ -2008,7 +2008,7 @@ if ('onhashchange' in window) { <span id="L2336" class="LineNr">2336 </span> e8/call <a href='101_write.subx.html#L12'>_write</a>/disp32 <span id="L2337" class="LineNr">2337 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2338" class="LineNr">2338 </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="L2339" class="LineNr">2339 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> +<span id="L2339" class="LineNr">2339 </span> <span class="subxS1Comment"># . syscall_exit(1)</span> <span id="L2340" class="LineNr">2340 </span> bb/copy-to-ebx 1/imm32 <span id="L2341" class="LineNr">2341 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 <span id="L2342" class="LineNr">2342 </span> <span class="subxComment"># never gets here</span> @@ -2038,7 +2038,7 @@ if ('onhashchange' in window) { <span id="L2366" class="LineNr">2366 </span> e8/call <a href='115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2367" class="LineNr">2367 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2368" class="LineNr">2368 </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="L2369" class="LineNr">2369 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> +<span id="L2369" class="LineNr">2369 </span> <span class="subxS1Comment"># . syscall_exit(1)</span> <span id="L2370" class="LineNr">2370 </span> bb/copy-to-ebx 1/imm32 <span id="L2371" class="LineNr">2371 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 <span id="L2372" class="LineNr">2372 </span> <span class="subxComment"># never gets here</span> @@ -2199,7 +2199,7 @@ if ('onhashchange' in window) { <span id="L2527" class="LineNr">2527 </span> e8/call <a href='115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2528" class="LineNr">2528 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2529" class="LineNr">2529 </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="L2530" class="Folded">2530 </span><span class="Folded">+-- 33 lines: #? # dump output -----------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2530" class="Folded">2530 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2563" class="LineNr">2563 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ef gh ", msg)</span> <span id="L2564" class="LineNr">2564 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2565" class="LineNr">2565 </span> 68/push <span class="Constant">"F - test-emit-segments-global-variable/0"</span>/imm32 @@ -2378,7 +2378,7 @@ if ('onhashchange' in window) { <span id="L2738" class="LineNr">2738 </span> e8/call <a href='115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2739" class="LineNr">2739 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2740" class="LineNr">2740 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to esp</span> -<span id="L2741" class="Folded">2741 </span><span class="Folded">+-- 33 lines: #? # dump output -----------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2741" class="Folded">2741 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2774" class="LineNr">2774 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg)</span> <span id="L2775" class="LineNr">2775 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2776" class="LineNr">2776 </span> 68/push <span class="Constant">"F - <a href='survey_elf.subx.html#L2604'>test-emit-segments-code-label</a>/0"</span>/imm32 @@ -2548,7 +2548,7 @@ if ('onhashchange' in window) { <span id="L2940" class="LineNr">2940 </span> e8/call <a href='115write-byte.subx.html#L81'>flush</a>/disp32 <span id="L2941" class="LineNr">2941 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L2942" class="LineNr">2942 </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="L2943" class="Folded">2943 </span><span class="Folded">+-- 33 lines: #? # dump output -----------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2943" class="Folded">2943 </span><span class="Folded">+-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2976" class="LineNr">2976 </span> <span class="subxS1Comment"># . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg)</span> <span id="L2977" class="LineNr">2977 </span> <span class="subxS2Comment"># . . push args</span> <span id="L2978" class="LineNr">2978 </span> 68/push <span class="Constant">"F - <a href='survey_elf.subx.html#L2806'>test-emit-segments-code-label-absolute</a>/0"</span>/imm32 @@ -2752,8 +2752,8 @@ if ('onhashchange' in window) { <span id="L3176" class="LineNr">3176 </span> <span class="subxComment"># if (curr-segment >= max) break</span> <span id="L3177" class="LineNr">3177 </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="L3178" class="LineNr">3178 </span> 0f 83/jump-if-addr>= $emit-headers:end/disp32 -<span id="L3179" class="Folded">3179 </span><span class="Folded">+-- 63 lines: #? # dump curr-segment->name -----------------------------------------------------------------------------------------------------------------------------</span> -<span id="L3242" class="Folded">3242 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") ------------------------------------------------------------------------------------------------------------</span> +<span id="L3179" class="Folded">3179 </span><span class="Folded">+-- 63 lines: #? # dump curr-segment->name ------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3242" class="Folded">3242 </span><span class="Folded">+-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") -------------------------------------------------------------------------------------------------------------------------</span> <span id="L3251" class="LineNr">3251 </span> <span class="subxComment"># emit-elf-program-header-entry(out, curr-segment)</span> <span id="L3252" class="LineNr">3252 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3253" class="LineNr">3253 </span> 50/push-eax @@ -3020,7 +3020,7 @@ if ('onhashchange' in window) { <span id="L3514" class="LineNr">3514 </span> e8/call <a href='101_write.subx.html#L12'>_write</a>/disp32 <span id="L3515" class="LineNr">3515 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3516" class="LineNr">3516 </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="L3517" class="LineNr">3517 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> +<span id="L3517" class="LineNr">3517 </span> <span class="subxS1Comment"># . syscall_exit(1)</span> <span id="L3518" class="LineNr">3518 </span> bb/copy-to-ebx 1/imm32 <span id="L3519" class="LineNr">3519 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 <span id="L3520" class="LineNr">3520 </span> <span class="subxComment"># never gets here</span> @@ -3115,7 +3115,7 @@ if ('onhashchange' in window) { <span id="L3609" class="LineNr">3609 </span> e8/call <a href='101_write.subx.html#L12'>_write</a>/disp32 <span id="L3610" class="LineNr">3610 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3611" class="LineNr">3611 </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="L3612" class="LineNr">3612 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> +<span id="L3612" class="LineNr">3612 </span> <span class="subxS1Comment"># . syscall_exit(1)</span> <span id="L3613" class="LineNr">3613 </span> bb/copy-to-ebx 1/imm32 <span id="L3614" class="LineNr">3614 </span> e8/call <a href='000init.subx.html#L18'>syscall_exit</a>/disp32 <span id="L3615" class="LineNr">3615 </span> <span class="subxComment"># never gets here</span> @@ -3195,7 +3195,7 @@ if ('onhashchange' in window) { <span id="L3689" class="LineNr">3689 </span> e8/call <a href='survey_elf.subx.html#L3624'>trace-sssns</a>/disp32 <span id="L3690" class="LineNr">3690 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3691" class="LineNr">3691 </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="L3692" class="Folded">3692 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3692" class="Folded">3692 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3718" class="LineNr">3718 </span> <span class="subxComment"># check-trace-contains("Abc 0x00000003 e")</span> <span id="L3719" class="LineNr">3719 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3720" class="LineNr">3720 </span> 68/push <span class="Constant">"F - test-trace-sssns"</span>/imm32 @@ -3295,7 +3295,7 @@ if ('onhashchange' in window) { <span id="L3814" class="LineNr">3814 </span> e8/call <a href='survey_elf.subx.html#L3731'>trace-slsls</a>/disp32 <span id="L3815" class="LineNr">3815 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3816" class="LineNr">3816 </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="L3817" class="Folded">3817 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3817" class="Folded">3817 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3843" class="LineNr">3843 </span> <span class="subxComment"># check-trace-contains("Abcde")</span> <span id="L3844" class="LineNr">3844 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3845" class="LineNr">3845 </span> 68/push <span class="Constant">"F - test-trace-slsls"</span>/imm32 @@ -3386,7 +3386,7 @@ if ('onhashchange' in window) { <span id="L3930" class="LineNr">3930 </span> e8/call <a href='survey_elf.subx.html#L3856'>trace-slsns</a>/disp32 <span id="L3931" class="LineNr">3931 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L3932" class="LineNr">3932 </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="L3933" class="Folded">3933 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L3933" class="Folded">3933 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3959" class="LineNr">3959 </span> <span class="subxComment"># check-trace-contains("Abc 0x00000003 e")</span> <span id="L3960" class="LineNr">3960 </span> <span class="subxS2Comment"># . . push args</span> <span id="L3961" class="LineNr">3961 </span> 68/push <span class="Constant">"F - test-trace-slsls"</span>/imm32 @@ -3477,7 +3477,7 @@ if ('onhashchange' in window) { <span id="L4046" class="LineNr">4046 </span> e8/call <a href='survey_elf.subx.html#L3972'>trace-slsss</a>/disp32 <span id="L4047" class="LineNr">4047 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4048" class="LineNr">4048 </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="L4049" class="Folded">4049 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4049" class="Folded">4049 </span><span class="Folded">+-- 26 lines: #? # dump *Trace-stream -----------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4075" class="LineNr">4075 </span> <span class="subxComment"># check-trace-contains("Abcde")</span> <span id="L4076" class="LineNr">4076 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4077" class="LineNr">4077 </span> 68/push <span class="Constant">"F - test-trace-slsss"</span>/imm32 @@ -3520,7 +3520,7 @@ if ('onhashchange' in window) { <span id="L4114" class="LineNr">4114 </span> 68/push 0/imm32/end <span id="L4115" class="LineNr">4115 </span> 68/push 0/imm32/start <span id="L4116" class="LineNr">4116 </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="L4117" class="Folded">4117 </span><span class="Folded">+-- 26 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4117" class="Folded">4117 </span><span class="Folded">+-- 26 lines: #? # dump line --------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4143" class="LineNr">4143 </span> <span class="subxS1Comment"># . rewind-stream(line)</span> <span id="L4144" class="LineNr">4144 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4145" class="LineNr">4145 </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> @@ -3537,7 +3537,7 @@ if ('onhashchange' in window) { <span id="L4156" class="LineNr">4156 </span> e8/call <a href='127next-word.subx.html#L11'>next-word</a>/disp32 <span id="L4157" class="LineNr">4157 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4158" class="LineNr">4158 </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="L4159" class="Folded">4159 </span><span class="Folded">+-- 40 lines: #? # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L4159" class="Folded">4159 </span><span class="Folded">+-- 40 lines: #? # dump word-slice --------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4199" class="LineNr">4199 </span><span class="Constant">$num-bytes:check0</span>: <span id="L4200" class="LineNr">4200 </span> <span class="subxComment"># if (slice-empty?(word-slice)) break</span> <span id="L4201" class="LineNr">4201 </span> <span class="subxS1Comment"># . save result</span> |