From c52ae116ace032a3eaa53bd297836b675cd8393e Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 17 Feb 2020 15:29:43 -0800 Subject: 6015 --- html/apps/survey.subx.html | 82 +++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 41 deletions(-) (limited to 'html/apps/survey.subx.html') diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html index dc442e1f..24b9d9d9 100644 --- a/html/apps/survey.subx.html +++ b/html/apps/survey.subx.html @@ -220,8 +220,8 @@ if ('onhashchange' in window) { 157 # . write 158 68/push 0/imm32/write 159 89/copy 3/mod/direct 6/rm32/esi . . . 4/r32/esp . . # copy esp to esi - 160 +-- 41 lines: #? # dump labels->write -------------------------------------------------------------------------------------------------------------------- - 201 +-- 9 lines: #? # write(2/stderr, "slurp in\n") --------------------------------------------------------------------------------------------------------- + 160 +-- 41 lines: #? # dump labels->write ----------------------------------------------------------------------------------------------------------------------------------------------- + 201 +-- 9 lines: #? # write(2/stderr, "slurp in\n") ------------------------------------------------------------------------------------------------------------------------------------ 210 # slurp(infile, in) 211 # . . push args 212 56/push-esi @@ -230,9 +230,9 @@ if ('onhashchange' in window) { 215 e8/call slurp/disp32 216 # . . discard args 217 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - 218 +-- 40 lines: #? # dump labels->write -------------------------------------------------------------------------------------------------------------------- - 258 +-- 33 lines: #? # dump in ------------------------------------------------------------------------------------------------------------------------------- - 291 +-- 9 lines: #? # write(2/stderr, "compute-offsets\n") -------------------------------------------------------------------------------------------------- + 218 +-- 40 lines: #? # dump labels->write ----------------------------------------------------------------------------------------------------------------------------------------------- + 258 +-- 33 lines: #? # dump in ---------------------------------------------------------------------------------------------------------------------------------------------------------- + 291 +-- 9 lines: #? # write(2/stderr, "compute-offsets\n") ----------------------------------------------------------------------------------------------------------------------------- 300 # compute-offsets(in, segments, labels) 301 # . . push args 302 52/push-edx @@ -242,7 +242,7 @@ if ('onhashchange' in window) { 306 e8/call compute-offsets/disp32 307 # . . discard args 308 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp - 309 +-- 9 lines: #? # write(2/stderr, "compute-addresses\n") ------------------------------------------------------------------------------------------------ + 309 +-- 9 lines: #? # write(2/stderr, "compute-addresses\n") --------------------------------------------------------------------------------------------------------------------------- 318 # compute-addresses(segments, labels) 319 # . . push args 320 52/push-edx @@ -258,9 +258,9 @@ if ('onhashchange' in window) { 330 e8/call rewind-stream/disp32 331 # . . discard args 332 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp - 333 +-- 9 lines: #? # write(2/stderr, "emit-output\n") ------------------------------------------------------------------------------------------------------ - 342 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- - 368 +-- 40 lines: #? # dump labels->write -------------------------------------------------------------------------------------------------------------------- + 333 +-- 9 lines: #? # write(2/stderr, "emit-output\n") --------------------------------------------------------------------------------------------------------------------------------- + 342 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- + 368 +-- 40 lines: #? # dump labels->write ----------------------------------------------------------------------------------------------------------------------------------------------- 408 # emit-output(in, out, segments, labels) 409 # . . push args 410 52/push-edx @@ -395,7 +395,7 @@ if ('onhashchange' in window) { 539 # . . discard args 540 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 541 # check trace - 542 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- + 542 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 568 # . check-trace-contains("label 'x' is at address 0x00001079.", msg) 569 # . . push args 570 68/push "F - test-subx-survey-computes-addresses/0"/imm32 @@ -541,7 +541,7 @@ if ('onhashchange' in window) { 710 8b/copy 0/mod/indirect 1/rm32/ecx . . . 0/r32/eax . . # copy *ecx to eax 711 3d/compare-eax-and 0/imm32 712 0f 84/jump-if-= $compute-offsets:break-line-loop/disp32 - 713 +-- 33 lines: #? # dump line ----------------------------------------------------------------------------------------------------------------------------- + 713 +-- 33 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------- 746 $compute-offsets:word-loop: 747 # edx = word-slice 748 ba/copy-to-edx compute-offsets:word-slice/imm32 @@ -551,7 +551,7 @@ if ('onhashchange' in window) { 752 e8/call next-word/disp32 753 # . discard args 754 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - 755 +-- 74 lines: #? # dump word-slice and maybe curr-segment-name ------------------------------------------------------------------------------------------- + 755 +-- 74 lines: #? # dump word-slice and maybe curr-segment-name ---------------------------------------------------------------------------------------------------------------------- 829 $compute-offsets:case-empty: 830 # if slice-empty?(word/edx) break 831 # . eax = slice-empty?(word/edx) @@ -626,7 +626,7 @@ if ('onhashchange' in window) { 900 e8/call next-word/disp32 901 # . discard args 902 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - 903 +-- 45 lines: #? # dump curr-segment-name if not null (clobbering eax) ----------------------------------------------------------------------------------- + 903 +-- 45 lines: #? # dump curr-segment-name if not null (clobbering eax) -------------------------------------------------------------------------------------------------------------- 948 $compute-offsets:update-curr-segment-name: 949 # curr-segment-name = slice-to-string(segment-tmp) 950 # . eax = slice-to-string(Heap, segment-tmp) @@ -766,7 +766,7 @@ if ('onhashchange' in window) { 1084 01/add 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax compute-offsets:segment-offset/disp32 # add eax to *segment-offset 1085 # file-offset += width 1086 01/add 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax compute-offsets:file-offset/disp32 # add eax to *file-offset -1087 +-- 41 lines: #? # dump segment-offset ------------------------------------------------------------------------------------------------------------------- +1087 +-- 41 lines: #? # dump segment-offset ---------------------------------------------------------------------------------------------------------------------------------------------- 1128 e9/jump $compute-offsets:word-loop/disp32 1129 $compute-offsets:break-line-loop: 1130 # seg/eax = get-or-insert(segments, curr-segment-name, row-size=16) @@ -931,7 +931,7 @@ if ('onhashchange' in window) { 1289 e8/call compute-offsets/disp32 1290 # . . discard args 1291 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp -1292 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +1292 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 1318 # check trace 1319 # . check-trace-contains("segment 'code' is at file offset 0x00000000.", msg) 1320 # . . push args @@ -1076,7 +1076,7 @@ if ('onhashchange' in window) { 1459 05/add-to-eax 0x10/imm32 1460 eb/jump $compute-addresses:segment-loop/disp8 1461 $compute-addresses:segment-break: -1462 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +1462 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 1488 # esi = labels 1489 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 6/r32/esi 0xc/disp8 . # copy *(ebp+12) to esi 1490 # lrow/eax = labels->data @@ -1088,10 +1088,10 @@ if ('onhashchange' in window) { 1496 # if (lrow >= max) break 1497 39/compare 3/mod/direct 0/rm32/eax . . . 1/r32/ecx . . # compare eax with ecx 1498 0f 83/jump-if-addr>= $compute-addresses:end/disp32 -1499 +-- 26 lines: #? # dump lrow->key ------------------------------------------------------------------------------------------------------------------------ +1499 +-- 26 lines: #? # dump lrow->key --------------------------------------------------------------------------------------------------------------------------------------------------- 1525 # var seg-name/edx: (addr array byte) = lrow->segment-name 1526 8b/copy 1/mod/*+disp8 0/rm32/eax . . . 2/r32/edx 4/disp8 . # copy *eax to edx -1527 +-- 26 lines: #? # dump seg-name ------------------------------------------------------------------------------------------------------------------------- +1527 +-- 26 lines: #? # dump seg-name ---------------------------------------------------------------------------------------------------------------------------------------------------- 1553 # var label-seg/edx: (addr segment-info) = get(segments, seg-name, row-size=16, "segment table") 1554 # . save eax 1555 50/push-eax @@ -1235,7 +1235,7 @@ if ('onhashchange' in window) { 1693 # . . discard args 1694 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1695 # checks -1696 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +1696 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 1722 # . check-trace-contains("segment 'a' starts at address 0x00001094.", msg) 1723 # . . push args 1724 68/push "F - test-compute-addresses/0"/imm32 @@ -1396,7 +1396,7 @@ if ('onhashchange' in window) { 1879 # . prologue 1880 55/push-ebp 1881 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp -1882 +-- 9 lines: #? # write(2/stderr, "emit-headers\n") ----------------------------------------------------------------------------------------------------- +1882 +-- 9 lines: #? # write(2/stderr, "emit-headers\n") -------------------------------------------------------------------------------------------------------------------------------- 1891 # emit-headers(out, segments, labels) 1892 # . . push args 1893 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) @@ -1406,7 +1406,7 @@ if ('onhashchange' in window) { 1897 e8/call emit-headers/disp32 1898 # . . discard args 1899 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp -1900 +-- 9 lines: #? # write(2/stderr, "emit-segments\n") ---------------------------------------------------------------------------------------------------- +1900 +-- 9 lines: #? # write(2/stderr, "emit-segments\n") ------------------------------------------------------------------------------------------------------------------------------- 1909 # emit-segments(in, out, segments, labels) 1910 # . . push args 1911 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) @@ -1520,7 +1520,7 @@ if ('onhashchange' in window) { 2019 e8/call read-line/disp32 2020 # . . discard args 2021 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -2022 +-- 33 lines: #? # dump line ----------------------------------------------------------------------------------------------------------------------------- +2022 +-- 33 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------- 2055 $emit-segments:check-for-end-of-input: 2056 # if (line->write == 0) break 2057 81 7/subop/compare 0/mod/indirect 1/rm32/ecx . . . . . 0/imm32 # compare *ecx @@ -1544,7 +1544,7 @@ if ('onhashchange' in window) { 2075 e8/call next-word/disp32 2076 # . . discard args 2077 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -2078 +-- 33 lines: #? # dump word-slice ----------------------------------------------------------------------------------------------------------------------- +2078 +-- 33 lines: #? # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------- 2111 $emit-segments:check-for-end-of-line: 2112 # if (slice-empty?(word-slice)) break 2113 # . eax = slice-empty?(word-slice) @@ -1555,7 +1555,7 @@ if ('onhashchange' in window) { 2118 # . . discard args 2119 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 2120 # . if (eax != 0) break -2121 3d/compare-eax-and 0/imm32 +2121 3d/compare-eax-and 0/imm32/false 2122 0f 85/jump-if-!= $emit-segments:next-line/disp32 2123 $emit-segments:check-for-comment: 2124 # if (slice-starts-with?(word-slice, "#")) break @@ -1630,7 +1630,7 @@ if ('onhashchange' in window) { 2193 e8/call next-token-from-slice/disp32 2194 # . . discard args 2195 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x10/imm32 # add to esp -2196 +-- 33 lines: #? # dump word-slice ----------------------------------------------------------------------------------------------------------------------- +2196 +-- 33 lines: #? # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------- 2229 # info/esi = get-slice(labels, datum, row-size=16, "label table") 2230 # . eax = get-slice(labels, datum, row-size=16, "label table") 2231 # . . push args @@ -1645,7 +1645,7 @@ if ('onhashchange' in window) { 2240 # . esi = eax 2241 89/copy 3/mod/direct 6/rm32/esi . . . 0/r32/eax . . # copy eax to esi 2242 $emit-segments:check-global-variable: -2243 +-- 26 lines: #? # dump info->segment-name --------------------------------------------------------------------------------------------------------------- +2243 +-- 26 lines: #? # dump info->segment-name ------------------------------------------------------------------------------------------------------------------------------------------ 2269 # if string-equal?(info->segment-name, "code") goto code label checks 2270 # . eax = string-equal?(info->segment-name, "code") 2271 # . . push args @@ -1720,9 +1720,9 @@ if ('onhashchange' in window) { 2340 # . . discard args 2341 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 2342 # . if (eax == false) goto next check -2343 3d/compare-eax-and 0/imm32 +2343 3d/compare-eax-and 0/imm32/false 2344 74/jump-if-= $emit-segments:check-code-label-for-disp8/disp8 -2345 +-- 33 lines: #? # dump info->address -------------------------------------------------------------------------------------------------------------------- +2345 +-- 33 lines: #? # dump info->address ----------------------------------------------------------------------------------------------------------------------------------------------- 2378 $emit-segments:emit-code-label-imm32: 2379 # emit-hex(out, info->address, 4) 2380 # . . push args @@ -2043,7 +2043,7 @@ if ('onhashchange' in window) { 2695 e8/call flush/disp32 2696 # . . discard args 2697 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -2698 +-- 33 lines: #? # dump output --------------------------------------------------------------------------------------------------------------------------- +2698 +-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------ 2731 # . check-next-stream-line-equal(_test-output-stream, "ab cd ef gh ", msg) 2732 # . . push args 2733 68/push "F - test-emit-segments-global-variable/0"/imm32 @@ -2222,7 +2222,7 @@ if ('onhashchange' in window) { 2906 e8/call flush/disp32 2907 # . . discard args 2908 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -2909 +-- 33 lines: #? # dump output --------------------------------------------------------------------------------------------------------------------------- +2909 +-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------ 2942 # . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg) 2943 # . . push args 2944 68/push "F - test-emit-segments-code-label/0"/imm32 @@ -2392,7 +2392,7 @@ if ('onhashchange' in window) { 3108 e8/call flush/disp32 3109 # . . discard args 3110 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -3111 +-- 33 lines: #? # dump output --------------------------------------------------------------------------------------------------------------------------- +3111 +-- 33 lines: #? # dump output ------------------------------------------------------------------------------------------------------------------------------------------------------ 3144 # . check-next-stream-line-equal(_test-output-stream, "ab cd ", msg) 3145 # . . push args 3146 68/push "F - test-emit-segments-code-label-absolute/0"/imm32 @@ -2441,7 +2441,7 @@ if ('onhashchange' in window) { 3189 # . save registers 3190 50/push-eax 3191 51/push-ecx -3192 +-- 9 lines: #? # write(2/stderr, "emit-elf-header\n") -------------------------------------------------------------------------------------------------- +3192 +-- 9 lines: #? # write(2/stderr, "emit-elf-header\n") ----------------------------------------------------------------------------------------------------------------------------- 3201 # emit-elf-header(out, segments, labels) 3202 # . . push args 3203 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) @@ -2463,8 +2463,8 @@ if ('onhashchange' in window) { 3219 # if (curr-segment >= max) break 3220 39/compare 3/mod/direct 0/rm32/eax . . . 1/r32/ecx . . # compare eax with ecx 3221 0f 83/jump-if-addr>= $emit-headers:end/disp32 -3222 +-- 63 lines: #? # dump curr-segment->name --------------------------------------------------------------------------------------------------------------- -3285 +-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") ---------------------------------------------------------------------------------------------- +3222 +-- 63 lines: #? # dump curr-segment->name ------------------------------------------------------------------------------------------------------------------------------------------ +3285 +-- 9 lines: #? # write(2/stderr, "emit-segment-header\n") ------------------------------------------------------------------------------------------------------------------------- 3294 # emit-elf-program-header-entry(out, curr-segment) 3295 # . . push args 3296 50/push-eax @@ -2796,7 +2796,7 @@ if ('onhashchange' in window) { 3622 e8/call trace-sssns/disp32 3623 # . . discard args 3624 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp -3625 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +3625 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 3651 # check-trace-contains("Abc 0x00000003 e") 3652 # . . push args 3653 68/push "F - test-trace-sssns"/imm32 @@ -2878,7 +2878,7 @@ if ('onhashchange' in window) { 3729 e8/call trace-snsns/disp32 3730 # . . discard args 3731 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp -3732 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +3732 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 3758 # check-trace-contains("Abc 0x00000003 e") 3759 # . . push args 3760 68/push "F - test-trace-snsns"/imm32 @@ -2978,7 +2978,7 @@ if ('onhashchange' in window) { 3854 e8/call trace-slsls/disp32 3855 # . . discard args 3856 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp -3857 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +3857 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 3883 # check-trace-contains("Abcde") 3884 # . . push args 3885 68/push "F - test-trace-slsls"/imm32 @@ -3069,7 +3069,7 @@ if ('onhashchange' in window) { 3970 e8/call trace-slsns/disp32 3971 # . . discard args 3972 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp -3973 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +3973 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 3999 # check-trace-contains("Abc 0x00000003 e") 4000 # . . push args 4001 68/push "F - test-trace-slsls"/imm32 @@ -3160,7 +3160,7 @@ if ('onhashchange' in window) { 4086 e8/call trace-slsss/disp32 4087 # . . discard args 4088 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp -4089 +-- 26 lines: #? # dump *Trace-stream -------------------------------------------------------------------------------------------------------------------- +4089 +-- 26 lines: #? # dump *Trace-stream ----------------------------------------------------------------------------------------------------------------------------------------------- 4115 # check-trace-contains("Abcde") 4116 # . . push args 4117 68/push "F - test-trace-slsss"/imm32 @@ -3203,7 +3203,7 @@ if ('onhashchange' in window) { 4154 68/push 0/imm32/end 4155 68/push 0/imm32/start 4156 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -4157 +-- 26 lines: #? # dump line ----------------------------------------------------------------------------------------------------------------------------- +4157 +-- 26 lines: #? # dump line -------------------------------------------------------------------------------------------------------------------------------------------------------- 4183 # . rewind-stream(line) 4184 # . . push args 4185 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) @@ -3220,7 +3220,7 @@ if ('onhashchange' in window) { 4196 e8/call next-word/disp32 4197 # . . discard args 4198 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -4199 +-- 40 lines: #? # dump word-slice ----------------------------------------------------------------------------------------------------------------------- +4199 +-- 40 lines: #? # dump word-slice -------------------------------------------------------------------------------------------------------------------------------------------------- 4239 $num-bytes:check0: 4240 # if (slice-empty?(word-slice)) break 4241 # . save result -- cgit 1.4.1-2-gfad0