From fa786ea791469364d635b6a5eb877b0c4e3333ce Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 12 Jan 2020 12:15:55 -0800 Subject: 5884 --- html/apps/survey.subx.html | 164 ++++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 82 deletions(-) (limited to 'html/apps/survey.subx.html') diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html index 9c918fef..6bad51ee 100644 --- a/html/apps/survey.subx.html +++ b/html/apps/survey.subx.html @@ -120,7 +120,7 @@ if ('onhashchange' in window) { 57 # . . push args 58 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-size/disp32 # push *Heap-size 59 # . . call - 60 e8/call initialize-trace-stream/disp32 + 60 e8/call initialize-trace-stream/disp32 61 # . . discard args 62 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 63 @@ -178,7 +178,7 @@ if ('onhashchange' in window) { 115 116 subx-survey: # infile : (addr buffered-file), out : (addr buffered-file) 117 # pseudocode - 118 # var in : (ref stream byte 4096) + 118 # var in : (stream byte 4096) 119 # slurp(infile, in) 120 # var segments : (stream segment-info) 121 # var labels : (stream label-info Max-labels) @@ -194,13 +194,13 @@ if ('onhashchange' in window) { 131 51/push-ecx 132 52/push-edx 133 56/push-esi - 134 # var segments/ecx : (ref stream {string, segment-info} 160) # 10 rows * 16 bytes/row + 134 # var segments/ecx : (stream {string, segment-info} 160) # 10 rows * 16 bytes/row 135 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 136 68/push 0xa0/imm32/length 137 68/push 0/imm32/read 138 68/push 0/imm32/write 139 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx - 140 # var labels/edx : (ref stream label-info Max-labels*16) + 140 # var labels/edx : (stream label-info Max-labels*16) 141 # . data 142 2b/subtract 0/mod/indirect 5/rm32/.disp32 . . 4/r32/esp Max-labels/disp32 # subtract *Max-labels from esp 143 # . length @@ -210,7 +210,7 @@ if ('onhashchange' in window) { 147 # . write 148 68/push 0/imm32/write 149 89/copy 3/mod/direct 2/rm32/edx . . . 4/r32/esp . . # copy esp to edx - 150 # var in/esi : (ref stream byte Input-size) + 150 # var in/esi : (stream byte Input-size) 151 # . data 152 2b/subtract 0/mod/indirect 5/rm32/.disp32 . . 4/r32/esp Input-size/disp32 # subtract *Input-size from esp 153 # . length @@ -401,7 +401,7 @@ if ('onhashchange' in window) { 570 68/push "F - test-subx-survey-computes-addresses/0"/imm32 571 68/push "label 'x' is at address 0x00001079."/imm32 572 # . . call - 573 e8/call check-trace-contains/disp32 + 573 e8/call check-trace-contains/disp32 574 # . . discard args 575 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 576 # . check-trace-contains("segment 'code' starts at address 0x00000074.", msg) @@ -409,7 +409,7 @@ if ('onhashchange' in window) { 578 68/push "F - test-subx-survey-computes-addresses/1"/imm32 579 68/push "segment 'code' starts at address 0x00000074."/imm32 580 # . . call - 581 e8/call check-trace-contains/disp32 + 581 e8/call check-trace-contains/disp32 582 # . . discard args 583 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 584 # . check-trace-contains("segment 'code' has size 0x00000005.", msg) @@ -417,7 +417,7 @@ if ('onhashchange' in window) { 586 68/push "F - test-subx-survey-computes-addresses/2"/imm32 587 68/push "segment 'code' has size 0x00000005."/imm32 588 # . . call - 589 e8/call check-trace-contains/disp32 + 589 e8/call check-trace-contains/disp32 590 # . . discard args 591 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 592 # . check-trace-contains("segment 'data' starts at address 0x00001079.", msg) @@ -425,7 +425,7 @@ if ('onhashchange' in window) { 594 68/push "F - test-subx-survey-computes-addresses/3"/imm32 595 68/push "segment 'data' starts at address 0x00001079."/imm32 596 # . . call - 597 e8/call check-trace-contains/disp32 + 597 e8/call check-trace-contains/disp32 598 # . . discard args 599 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 600 # . epilogue @@ -824,7 +824,7 @@ if ('onhashchange' in window) { 1182 68/push "'==' must be followed by segment name and segment-start\n"/imm32 1183 68/push 2/imm32/stderr 1184 # . . call -1185 e8/call _write/disp32 +1185 e8/call _write/disp32 1186 # . . discard args 1187 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1188 # . syscall(exit, 1) @@ -861,13 +861,13 @@ if ('onhashchange' in window) { 1219 e8/call clear-stream/disp32 1220 # . . discard args 1221 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -1222 # var segments/ecx : (ref stream byte 2*16) +1222 # var segments/ecx : (stream byte 2*16) 1223 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x20/imm32 # subtract from esp 1224 68/push 0x20/imm32/length 1225 68/push 0/imm32/read 1226 68/push 0/imm32/write 1227 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -1228 # var labels/edx : (ref stream byte 2*16) +1228 # var labels/edx : (stream byte 2*16) 1229 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x20/imm32 # subtract from esp 1230 68/push 0x20/imm32/length 1231 68/push 0/imm32/read @@ -938,7 +938,7 @@ if ('onhashchange' in window) { 1321 68/push "F - test-compute-offsets/0"/imm32 1322 68/push "segment 'code' is at file offset 0x00000000."/imm32 1323 # . . call -1324 e8/call check-trace-contains/disp32 +1324 e8/call check-trace-contains/disp32 1325 # . . discard args 1326 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1327 # . check-trace-contains("segment 'code' has size 0x00000005", msg) @@ -946,7 +946,7 @@ if ('onhashchange' in window) { 1329 68/push "F - test-compute-offsets/1"/imm32 1330 68/push "segment 'code' has size 0x00000005."/imm32 1331 # . . call -1332 e8/call check-trace-contains/disp32 +1332 e8/call check-trace-contains/disp32 1333 # . . discard args 1334 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1335 # . check-trace-contains("segment 'data' is at file offset 0x00000005.", msg) @@ -954,7 +954,7 @@ if ('onhashchange' in window) { 1337 68/push "F - test-compute-offsets/2"/imm32 1338 68/push "segment 'data' is at file offset 0x00000005."/imm32 1339 # . . call -1340 e8/call check-trace-contains/disp32 +1340 e8/call check-trace-contains/disp32 1341 # . . discard args 1342 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1343 # . check-trace-contains("segment 'data' has size 0x00000002.", msg) @@ -962,7 +962,7 @@ if ('onhashchange' in window) { 1345 68/push "F - test-compute-offsets/3"/imm32 1346 68/push "segment 'data' has size 0x00000002."/imm32 1347 # . . call -1348 e8/call check-trace-contains/disp32 +1348 e8/call check-trace-contains/disp32 1349 # . . discard args 1350 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1351 # . check-trace-contains("label 'x' is in segment 'data'.", msg) @@ -970,7 +970,7 @@ if ('onhashchange' in window) { 1353 68/push "F - test-compute-offsets/4"/imm32 1354 68/push "label 'x' is in segment 'data'."/imm32 1355 # . . call -1356 e8/call check-trace-contains/disp32 +1356 e8/call check-trace-contains/disp32 1357 # . . discard args 1358 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1359 # . check-trace-contains("label 'x' is at segment offset 0x00000001.", msg) @@ -978,7 +978,7 @@ if ('onhashchange' in window) { 1361 68/push "F - test-compute-offsets/5"/imm32 1362 68/push "label 'x' is at segment offset 0x00000001."/imm32 1363 # . . call -1364 e8/call check-trace-contains/disp32 +1364 e8/call check-trace-contains/disp32 1365 # . . discard args 1366 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1367 # . check-ints-equal(labels->write, 0x10, msg) @@ -1163,13 +1163,13 @@ if ('onhashchange' in window) { 1621 55/push-ebp 1622 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 1623 # setup -1624 # . var segments/ecx : (ref stream byte 10*16) +1624 # . var segments/ecx : (stream byte 10*16) 1625 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 1626 68/push 0xa0/imm32/length 1627 68/push 0/imm32/read 1628 68/push 0/imm32/write 1629 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -1630 # . var labels/edx : (ref stream byte 512*16) +1630 # . var labels/edx : (stream byte 512*16) 1631 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x2000/imm32 # subtract from esp 1632 68/push 0x2000/imm32/length 1633 68/push 0/imm32/read @@ -1241,7 +1241,7 @@ if ('onhashchange' in window) { 1724 68/push "F - test-compute-addresses/0"/imm32 1725 68/push "segment 'a' starts at address 0x00001094."/imm32 1726 # . . call -1727 e8/call check-trace-contains/disp32 +1727 e8/call check-trace-contains/disp32 1728 # . . discard args 1729 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1730 # . check-trace-contains("segment 'b' starts at address 0x00002099.", msg) @@ -1249,7 +1249,7 @@ if ('onhashchange' in window) { 1732 68/push "F - test-compute-addresses/1"/imm32 1733 68/push "segment 'b' starts at address 0x00002099."/imm32 1734 # . . call -1735 e8/call check-trace-contains/disp32 +1735 e8/call check-trace-contains/disp32 1736 # . . discard args 1737 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1738 # . check-trace-contains("segment 'c' starts at address 0x0000509a.", msg) @@ -1257,7 +1257,7 @@ if ('onhashchange' in window) { 1740 68/push "F - test-compute-addresses/2"/imm32 1741 68/push "segment 'c' starts at address 0x0000509a."/imm32 1742 # . . call -1743 e8/call check-trace-contains/disp32 +1743 e8/call check-trace-contains/disp32 1744 # . . discard args 1745 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1746 # . check-trace-contains("label 'l1' is at address 0x00001097.", msg) @@ -1265,7 +1265,7 @@ if ('onhashchange' in window) { 1748 68/push "F - test-compute-addresses/3"/imm32 1749 68/push "label 'l1' is at address 0x00001097."/imm32 1750 # . . call -1751 e8/call check-trace-contains/disp32 +1751 e8/call check-trace-contains/disp32 1752 # . . discard args 1753 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1754 # . check-trace-contains("label 'l2' is at address 0x00002099.", msg) @@ -1273,7 +1273,7 @@ if ('onhashchange' in window) { 1756 68/push "F - test-compute-addresses/4"/imm32 1757 68/push "label 'l2' is at address 0x00002099."/imm32 1758 # . . call -1759 e8/call check-trace-contains/disp32 +1759 e8/call check-trace-contains/disp32 1760 # . . discard args 1761 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1762 # . check-ints-equal(labels->write, 0x20, msg) @@ -1307,13 +1307,13 @@ if ('onhashchange' in window) { 1790 55/push-ebp 1791 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 1792 # setup -1793 # . var segments/ecx : (ref stream byte 10*16) +1793 # . var segments/ecx : (stream byte 10*16) 1794 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 1795 68/push 0xa0/imm32/length 1796 68/push 0/imm32/read 1797 68/push 0/imm32/write 1798 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -1799 # . var labels/edx : (ref stream byte 512*16) +1799 # . var labels/edx : (stream byte 512*16) 1800 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x2000/imm32 # subtract from esp 1801 68/push 0x2000/imm32/length 1802 68/push 0/imm32/read @@ -1364,7 +1364,7 @@ if ('onhashchange' in window) { 1847 68/push "F - test-compute-addresses-large-segments/0"/imm32 1848 68/push "segment 'a' starts at address 0x00001074."/imm32 1849 # . . call -1850 e8/call check-trace-contains/disp32 +1850 e8/call check-trace-contains/disp32 1851 # . . discard args 1852 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1853 # . check-trace-contains("segment 'b' starts at address 0x00002678.", msg) @@ -1372,7 +1372,7 @@ if ('onhashchange' in window) { 1855 68/push "F - test-compute-addresses-large-segments/1"/imm32 1856 68/push "segment 'b' starts at address 0x00002678."/imm32 1857 # . . call -1858 e8/call check-trace-contains/disp32 +1858 e8/call check-trace-contains/disp32 1859 # . . discard args 1860 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1861 # . check-trace-contains("label 'l1' is at address 0x00001077.", msg) @@ -1380,7 +1380,7 @@ if ('onhashchange' in window) { 1863 68/push "F - test-compute-addresses-large-segments/3"/imm32 1864 68/push "label 'l1' is at address 0x00001077."/imm32 1865 # . . call -1866 e8/call check-trace-contains/disp32 +1866 e8/call check-trace-contains/disp32 1867 # . . discard args 1868 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 1869 # . epilogue @@ -1494,11 +1494,11 @@ if ('onhashchange' in window) { 1993 68/push 0/imm32/read 1994 68/push 0/imm32/write 1995 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -1996 # var word-slice/edx : (ref slice) +1996 # var word-slice/edx : slice 1997 68/push 0/imm32/end 1998 68/push 0/imm32/start 1999 89/copy 3/mod/direct 2/rm32/edx . . . 4/r32/esp . . # copy esp to edx -2000 # var datum/edi : (ref slice) +2000 # var datum/edi : slice 2001 68/push 0/imm32/end 2002 68/push 0/imm32/start 2003 89/copy 3/mod/direct 7/rm32/edi . . . 4/r32/esp . . # copy esp to edi @@ -1821,7 +1821,7 @@ if ('onhashchange' in window) { 2473 68/push "emit-segments: must refer to global variables with /disp32 or /imm32"/imm32 2474 68/push 2/imm32/stderr 2475 # . . call -2476 e8/call _write/disp32 +2476 e8/call _write/disp32 2477 # . . discard args 2478 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 2479 # . syscall(exit, 1) @@ -1836,7 +1836,7 @@ if ('onhashchange' in window) { 2488 68/push "emit-segments: cannot refer to code labels with /imm8"/imm32 2489 68/push 2/imm32/stderr 2490 # . . call -2491 e8/call _write/disp32 +2491 e8/call _write/disp32 2492 # . . discard args 2493 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 2494 # . syscall(exit, 1) @@ -1852,7 +1852,7 @@ if ('onhashchange' in window) { 2504 68/push "emit-segments: missing metadata in "/imm32 2505 68/push 2/imm32/stderr 2506 # . . call -2507 e8/call _write/disp32 +2507 e8/call _write/disp32 2508 # . . discard args 2509 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 2510 # . write-slice-buffered(Stderr, word-slice) @@ -1925,13 +1925,13 @@ if ('onhashchange' in window) { 2577 e8/call clear-stream/disp32 2578 # . . discard args 2579 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -2580 # . var segments/ecx : (ref stream byte 10*16) +2580 # . var segments/ecx : (stream byte 10*16) 2581 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 2582 68/push 0xa0/imm32/length 2583 68/push 0/imm32/read 2584 68/push 0/imm32/write 2585 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -2586 # . var labels/edx : (ref stream byte 512*16) +2586 # . var labels/edx : (stream byte 512*16) 2587 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x2000/imm32 # subtract from esp 2588 68/push 0x2000/imm32/length 2589 68/push 0/imm32/read @@ -2130,13 +2130,13 @@ if ('onhashchange' in window) { 2814 e8/call clear-stream/disp32 2815 # . . discard args 2816 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -2817 # . var segments/ecx : (ref stream byte 10*16) +2817 # . var segments/ecx : (stream byte 10*16) 2818 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 2819 68/push 0xa0/imm32/length 2820 68/push 0/imm32/read 2821 68/push 0/imm32/write 2822 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -2823 # . var labels/edx : (ref stream byte 512*16) +2823 # . var labels/edx : (stream byte 512*16) 2824 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x2000/imm32 # subtract from esp 2825 68/push 0x2000/imm32/length 2826 68/push 0/imm32/read @@ -2300,13 +2300,13 @@ if ('onhashchange' in window) { 3016 e8/call clear-stream/disp32 3017 # . . discard args 3018 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -3019 # . var segments/ecx : (ref stream byte 10*16) +3019 # . var segments/ecx : (stream byte 10*16) 3020 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0xa0/imm32 # subtract from esp 3021 68/push 0xa0/imm32/length 3022 68/push 0/imm32/read 3023 68/push 0/imm32/write 3024 89/copy 3/mod/direct 1/rm32/ecx . . . 4/r32/esp . . # copy esp to ecx -3025 # . var labels/edx : (ref stream byte 512*16) +3025 # . var labels/edx : (stream byte 512*16) 3026 81 5/subop/subtract 3/mod/direct 4/rm32/esp . . . . . 0x2000/imm32 # subtract from esp 3027 68/push 0x2000/imm32/length 3028 68/push 0/imm32/read @@ -2712,7 +2712,7 @@ if ('onhashchange' in window) { 3538 68/push "overflow in stream-add4\n"/imm32 3539 68/push 2/imm32/stderr 3540 # . . call -3541 e8/call _write/disp32 +3541 e8/call _write/disp32 3542 # . . discard args 3543 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 3544 # . syscall(exit, 1) @@ -2735,7 +2735,7 @@ if ('onhashchange' in window) { 3561 # write(*Trace-stream, s1) 3562 # . . push args 3563 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -3564 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3564 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3565 # . . call 3566 e8/call write/disp32 3567 # . . discard args @@ -2743,7 +2743,7 @@ if ('onhashchange' in window) { 3569 # write(*Trace-stream, s2) 3570 # . . push args 3571 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -3572 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3572 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3573 # . . call 3574 e8/call write/disp32 3575 # . . discard args @@ -2751,7 +2751,7 @@ if ('onhashchange' in window) { 3577 # write(*Trace-stream, s3) 3578 # . . push args 3579 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -3580 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3580 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3581 # . . call 3582 e8/call write/disp32 3583 # . . discard args @@ -2759,7 +2759,7 @@ if ('onhashchange' in window) { 3585 # print-int32(*Trace-stream, n4) 3586 # . . push args 3587 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -3588 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3588 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3589 # . . call 3590 e8/call print-int32/disp32 3591 # . . discard args @@ -2768,7 +2768,7 @@ if ('onhashchange' in window) { 3594 # . . push args 3595 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) 3596 # . . call -3597 e8/call trace/disp32 +3597 e8/call trace/disp32 3598 # . . discard args 3599 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 3600 $trace-sssns:end: @@ -2783,7 +2783,7 @@ if ('onhashchange' in window) { 3609 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 3610 # setup 3611 # . *Trace-stream->write = 0 -3612 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax +3612 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax 3613 c7 0/subop/copy 0/mod/direct 0/rm32/eax . . . . . 0/imm32 # clear *eax 3614 # trace-sssns("A" "b" "c " 3 " e") 3615 # . . push args @@ -2802,7 +2802,7 @@ if ('onhashchange' in window) { 3653 68/push "F - test-trace-sssns"/imm32 3654 68/push "Abc 0x00000003 e"/imm32 3655 # . . call -3656 e8/call check-trace-contains/disp32 +3656 e8/call check-trace-contains/disp32 3657 # . . discard args 3658 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 3659 # . epilogue @@ -2817,7 +2817,7 @@ if ('onhashchange' in window) { 3668 # write(*Trace-stream, s1) 3669 # . . push args 3670 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -3671 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3671 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3672 # . . call 3673 e8/call write/disp32 3674 # . . discard args @@ -2825,7 +2825,7 @@ if ('onhashchange' in window) { 3676 # print-int32(*Trace-stream, n2) 3677 # . . push args 3678 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -3679 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3679 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3680 # . . call 3681 e8/call print-int32/disp32 3682 # . . discard args @@ -2833,7 +2833,7 @@ if ('onhashchange' in window) { 3684 # write(*Trace-stream, s3) 3685 # . . push args 3686 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -3687 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3687 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3688 # . . call 3689 e8/call write/disp32 3690 # . . discard args @@ -2841,7 +2841,7 @@ if ('onhashchange' in window) { 3692 # print-int32(*Trace-stream, n4) 3693 # . . push args 3694 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -3695 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3695 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3696 # . . call 3697 e8/call print-int32/disp32 3698 # . . discard args @@ -2850,7 +2850,7 @@ if ('onhashchange' in window) { 3701 # . . push args 3702 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) 3703 # . . call -3704 e8/call trace/disp32 +3704 e8/call trace/disp32 3705 # . . discard args 3706 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 3707 $trace-snsns:end: @@ -2865,7 +2865,7 @@ if ('onhashchange' in window) { 3716 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 3717 # setup 3718 # . *Trace-stream->write = 0 -3719 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax +3719 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax 3720 c7 0/subop/copy 0/mod/direct 0/rm32/eax . . . . . 0/imm32 # clear *eax 3721 # trace-snsns("A " 2 " c " 3 " e") 3722 # . . push args @@ -2884,7 +2884,7 @@ if ('onhashchange' in window) { 3760 68/push "F - test-trace-snsns"/imm32 3761 68/push "A 0x00000002 c 0x00000003 e"/imm32 3762 # . . call -3763 e8/call check-trace-contains/disp32 +3763 e8/call check-trace-contains/disp32 3764 # . . discard args 3765 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 3766 # . epilogue @@ -2899,7 +2899,7 @@ if ('onhashchange' in window) { 3775 # write(*Trace-stream, s1) 3776 # . . push args 3777 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -3778 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3778 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3779 # . . call 3780 e8/call write/disp32 3781 # . . discard args @@ -2907,7 +2907,7 @@ if ('onhashchange' in window) { 3783 # write-slice(*Trace-stream, l2) 3784 # . . push args 3785 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -3786 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3786 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3787 # . . call 3788 e8/call write-slice/disp32 3789 # . . discard args @@ -2915,7 +2915,7 @@ if ('onhashchange' in window) { 3791 # write(*Trace-stream, s3) 3792 # . . push args 3793 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -3794 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3794 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3795 # . . call 3796 e8/call write/disp32 3797 # . . discard args @@ -2923,7 +2923,7 @@ if ('onhashchange' in window) { 3799 # write-slice(*Trace-stream, l4) 3800 # . . push args 3801 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -3802 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3802 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3803 # . . call 3804 e8/call write-slice/disp32 3805 # . . discard args @@ -2932,7 +2932,7 @@ if ('onhashchange' in window) { 3808 # . . push args 3809 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) 3810 # . . call -3811 e8/call trace/disp32 +3811 e8/call trace/disp32 3812 # . . discard args 3813 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 3814 $trace-slsls:end: @@ -2947,14 +2947,14 @@ if ('onhashchange' in window) { 3823 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 3824 # setup 3825 # . *Trace-stream->write = 0 -3826 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax +3826 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax 3827 c7 0/subop/copy 0/mod/direct 0/rm32/eax . . . . . 0/imm32 # clear *eax 3828 # (eax..ecx) = "b" 3829 b8/copy-to-eax "b"/imm32 3830 8b/copy 0/mod/indirect 0/rm32/eax . . . 1/r32/ecx . . # copy *eax to ecx 3831 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx . 1/r32/ecx 4/disp8 . # copy eax+ecx+4 to ecx 3832 05/add-to-eax 4/imm32 -3833 # var b/ebx : (ref slice) = {eax, ecx} +3833 # var b/ebx : slice = {eax, ecx} 3834 51/push-ecx 3835 50/push-eax 3836 89/copy 3/mod/direct 3/rm32/ebx . . . 4/r32/esp . . # copy esp to ebx @@ -2963,7 +2963,7 @@ if ('onhashchange' in window) { 3839 8b/copy 0/mod/indirect 0/rm32/eax . . . 1/r32/ecx . . # copy *eax to ecx 3840 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx . 1/r32/ecx 4/disp8 . # copy eax+ecx+4 to ecx 3841 05/add-to-eax 4/imm32 -3842 # var d/edx : (ref slice) = {eax, ecx} +3842 # var d/edx : slice = {eax, ecx} 3843 51/push-ecx 3844 50/push-eax 3845 89/copy 3/mod/direct 2/rm32/edx . . . 4/r32/esp . . # copy esp to edx @@ -2984,7 +2984,7 @@ if ('onhashchange' in window) { 3885 68/push "F - test-trace-slsls"/imm32 3886 68/push "Abcde"/imm32 3887 # . . call -3888 e8/call check-trace-contains/disp32 +3888 e8/call check-trace-contains/disp32 3889 # . . discard args 3890 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 3891 # . epilogue @@ -2999,7 +2999,7 @@ if ('onhashchange' in window) { 3900 # write(*Trace-stream, s1) 3901 # . . push args 3902 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -3903 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3903 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3904 # . . call 3905 e8/call write/disp32 3906 # . . discard args @@ -3007,7 +3007,7 @@ if ('onhashchange' in window) { 3908 # write-slice(*Trace-stream, l2) 3909 # . . push args 3910 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -3911 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3911 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3912 # . . call 3913 e8/call write-slice/disp32 3914 # . . discard args @@ -3015,7 +3015,7 @@ if ('onhashchange' in window) { 3916 # write(*Trace-stream, s3) 3917 # . . push args 3918 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -3919 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3919 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3920 # . . call 3921 e8/call write/disp32 3922 # . . discard args @@ -3023,7 +3023,7 @@ if ('onhashchange' in window) { 3924 # print-int32(*Trace-stream, n4) 3925 # . . push args 3926 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -3927 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +3927 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 3928 # . . call 3929 e8/call print-int32/disp32 3930 # . . discard args @@ -3032,7 +3032,7 @@ if ('onhashchange' in window) { 3933 # . . push args 3934 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) 3935 # . . call -3936 e8/call trace/disp32 +3936 e8/call trace/disp32 3937 # . . discard args 3938 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 3939 $trace-slsns:end: @@ -3047,14 +3047,14 @@ if ('onhashchange' in window) { 3948 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 3949 # setup 3950 # . *Trace-stream->write = 0 -3951 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax +3951 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax 3952 c7 0/subop/copy 0/mod/direct 0/rm32/eax . . . . . 0/imm32 # clear *eax 3953 # (eax..ecx) = "b" 3954 b8/copy-to-eax "b"/imm32 3955 8b/copy 0/mod/indirect 0/rm32/eax . . . 1/r32/ecx . . # copy *eax to ecx 3956 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx . 1/r32/ecx 4/disp8 . # copy eax+ecx+4 to ecx 3957 05/add-to-eax 4/imm32 -3958 # var b/ebx : (ref slice) = {eax, ecx} +3958 # var b/ebx : slice = {eax, ecx} 3959 51/push-ecx 3960 50/push-eax 3961 89/copy 3/mod/direct 3/rm32/ebx . . . 4/r32/esp . . # copy esp to ebx @@ -3075,7 +3075,7 @@ if ('onhashchange' in window) { 4001 68/push "F - test-trace-slsls"/imm32 4002 68/push "Abc 0x00000003 e"/imm32 4003 # . . call -4004 e8/call check-trace-contains/disp32 +4004 e8/call check-trace-contains/disp32 4005 # . . discard args 4006 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 4007 # . epilogue @@ -3090,7 +3090,7 @@ if ('onhashchange' in window) { 4016 # write(*Trace-stream, s1) 4017 # . . push args 4018 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -4019 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +4019 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 4020 # . . call 4021 e8/call write/disp32 4022 # . . discard args @@ -3098,7 +3098,7 @@ if ('onhashchange' in window) { 4024 # write-slice(*Trace-stream, l2) 4025 # . . push args 4026 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -4027 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +4027 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 4028 # . . call 4029 e8/call write-slice/disp32 4030 # . . discard args @@ -3106,7 +3106,7 @@ if ('onhashchange' in window) { 4032 # write(*Trace-stream, s3) 4033 # . . push args 4034 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -4035 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +4035 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 4036 # . . call 4037 e8/call write/disp32 4038 # . . discard args @@ -3114,7 +3114,7 @@ if ('onhashchange' in window) { 4040 # write(*Trace-stream, s4) 4041 # . . push args 4042 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -4043 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream +4043 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . Trace-stream/disp32 # push *Trace-stream 4044 # . . call 4045 e8/call write/disp32 4046 # . . discard args @@ -3123,7 +3123,7 @@ if ('onhashchange' in window) { 4049 # . . push args 4050 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) 4051 # . . call -4052 e8/call trace/disp32 +4052 e8/call trace/disp32 4053 # . . discard args 4054 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp 4055 $trace-slsss:end: @@ -3138,14 +3138,14 @@ if ('onhashchange' in window) { 4064 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 4065 # setup 4066 # . *Trace-stream->write = 0 -4067 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax +4067 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 0/r32/eax Trace-stream/disp32 # copy *Trace-stream to eax 4068 c7 0/subop/copy 0/mod/direct 0/rm32/eax . . . . . 0/imm32 # clear *eax 4069 # (eax..ecx) = "b" 4070 b8/copy-to-eax "b"/imm32 4071 8b/copy 0/mod/indirect 0/rm32/eax . . . 1/r32/ecx . . # copy *eax to ecx 4072 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx . 1/r32/ecx 4/disp8 . # copy eax+ecx+4 to ecx 4073 05/add-to-eax 4/imm32 -4074 # var b/ebx : (ref slice) = {eax, ecx} +4074 # var b/ebx : slice = {eax, ecx} 4075 51/push-ecx 4076 50/push-eax 4077 89/copy 3/mod/direct 3/rm32/ebx . . . 4/r32/esp . . # copy esp to ebx @@ -3166,7 +3166,7 @@ if ('onhashchange' in window) { 4117 68/push "F - test-trace-slsss"/imm32 4118 68/push "Abcde"/imm32 4119 # . . call -4120 e8/call check-trace-contains/disp32 +4120 e8/call check-trace-contains/disp32 4121 # . . discard args 4122 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 4123 # . epilogue @@ -3199,7 +3199,7 @@ if ('onhashchange' in window) { 4150 53/push-ebx 4151 # var result/eax = 0 4152 31/xor 3/mod/direct 0/rm32/eax . . . 0/r32/eax . . # clear eax -4153 # var word-slice/ecx : (ref slice) +4153 # var word-slice/ecx : slice 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 -- cgit 1.4.1-2-gfad0