diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:38:43 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:38:43 -0700 |
commit | 78357b8852626b510527f3b8d770a7dd8956fcc7 (patch) | |
tree | 5e38d0f616ab151e66618090487b41dd2fc348e0 /html/linux/survey_elf.subx.html | |
parent | 44d26b77c45668c9b0c99894a4294cec004361fe (diff) | |
download | mu-78357b8852626b510527f3b8d770a7dd8956fcc7.tar.gz |
.
Diffstat (limited to 'html/linux/survey_elf.subx.html')
-rw-r--r-- | html/linux/survey_elf.subx.html | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/html/linux/survey_elf.subx.html b/html/linux/survey_elf.subx.html index 83b8eae8..2ff3382e 100644 --- a/html/linux/survey_elf.subx.html +++ b/html/linux/survey_elf.subx.html @@ -1,14 +1,14 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<!DOCTYPE html> <html> <head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> +<meta charset="UTF-8"> <title>Mu - linux/survey_elf.subx</title> -<meta name="Generator" content="Vim/8.1"> -<meta name="plugin-version" content="vim8.1_v1"> +<meta name="Generator" content="Vim/8.2"> +<meta name="plugin-version" content="vim8.1_v2"> <meta name="syntax" content="none"> -<meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> +<meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy=,use_input_for_pc=fallback"> <meta name="colorscheme" content="minimal-light"> -<style type="text/css"> +<style> <!-- pre { font-family: monospace; color: #000000; background-color: #ffffd7; } body { font-size:12pt; font-family: monospace; color: #000000; background-color: #ffffd7; } @@ -16,20 +16,20 @@ a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } .subxS2Comment { color: #8a8a8a; } -.subxFunction { color: #af5f00; text-decoration: underline; } .LineNr { } -.subxTest { color: #5f8700; } +.subxFunction { color: #af5f00; text-decoration: underline; } .subxS1Comment { color: #0000af; } +.Constant { color: #008787; } .CommentedCode { color: #8a8a8a; } .SpecialChar { color: #d70000; } .Normal { color: #000000; background-color: #ffffd7; padding-bottom: 1px; } .Folded { color: #080808; background-color: #949494; } -.Constant { color: #008787; } +.subxTest { color: #5f8700; } .subxH1Comment { color: #005faf; text-decoration: underline; } --> </style> -<script type='text/javascript'> +<script> <!-- /* function to open any folds containing a jumped-to line before jumping to it */ @@ -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 @@ -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> @@ -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> @@ -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> @@ -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 @@ -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> |