From 6070c23e5e1c60d3bb169e43bddfa59b1d322427 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 16 Jan 2020 18:31:12 -0800 Subject: 5897 - rename comparison instructions Signed and unsigned don't quite capture the essence of what the different combinations of x86 flags are doing for SubX. The crucial distinction is that one set of comparison operators is for integers and the second is for addresses. --- html/056trace.subx.html | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'html/056trace.subx.html') diff --git a/html/056trace.subx.html b/html/056trace.subx.html index 10bb7393..26cf8a0f 100644 --- a/html/056trace.subx.html +++ b/html/056trace.subx.html @@ -180,7 +180,7 @@ if ('onhashchange' in window) { 117 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp 118 # if (eax == 0) return 119 3d/compare-eax-and 0/imm32 -120 74/jump-if-equal $trace:end/disp8 +120 74/jump-if-= $trace:end/disp8 121 # t->write += eax 122 01/add 0/mod/indirect 7/rm32/edi . . . 0/r32/eax . . # add eax to *edi 123 # refresh ecx = t->write @@ -398,7 +398,7 @@ if ('onhashchange' in window) { 335 $trace-scan:loop: 336 # if (Trace-stream->read >= Trace-stream->write) return false 337 39/compare 1/mod/*+disp8 6/rm32/esi . . . 1/r32/ecx 4/disp8 . # compare ecx with *(esi+4) -338 7d/jump-if-greater-or-equal $trace-scan:false/disp8 +338 7d/jump-if->= $trace-scan:false/disp8 339 # eax = next-line-matches?(Trace-stream, line) 340 # . . push args 341 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) @@ -409,7 +409,7 @@ if ('onhashchange' in window) { 346 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 347 # if (eax == false) continue 348 3d/compare-eax-and 0/imm32/false -349 74/jump-if-equal $trace-scan:continue/disp8 +349 74/jump-if-= $trace-scan:continue/disp8 350 $trace-scan:true: 351 # skip-next-line(Trace-stream) 352 # . . push args @@ -667,12 +667,12 @@ if ('onhashchange' in window) { 604 $next-line-matches?:loop: 605 # if (currl >= maxl) break 606 39/compare 3/mod/direct 6/rm32/esi . . . 1/r32/ecx . . # compare esi and ecx -607 73/jump-if-greater-or-equal-unsigned $next-line-matches?:break/disp8 +607 73/jump-if-addr>= $next-line-matches?:break/disp8 608 # if (currt >= maxt) return false 609 # . eax = false 610 b8/copy-to-eax 0/imm32/false 611 39/compare 3/mod/direct 7/rm32/edi . . . 2/r32/edx . . # compare edi and edx -612 73/jump-if-greater-or-equal-unsigned $next-line-matches?:end/disp8 +612 73/jump-if-addr>= $next-line-matches?:end/disp8 613 # if (*currt != *currl) return false 614 31/xor 3/mod/direct 0/rm32/eax . . . 0/r32/eax . . # clear eax 615 31/xor 3/mod/direct 3/rm32/eax . . . 3/r32/eax . . # clear ebx @@ -684,7 +684,7 @@ if ('onhashchange' in window) { 621 39/compare 3/mod/direct 0/rm32/eax . . . 3/r32/ebx . . # compare eax and ebx 622 # . eax = false 623 b8/copy-to-eax 0/imm32/false -624 75/jump-if-not-equal $next-line-matches?:end/disp8 +624 75/jump-if-!= $next-line-matches?:end/disp8 625 # ++currt 626 47/increment-edi 627 # ++currl @@ -698,7 +698,7 @@ if ('onhashchange' in window) { 635 3d/compare-eax-and 0xa/imm32/newline 636 # . eax = false 637 b8/copy-to-eax 1/imm32/true -638 74/jump-if-equal $next-line-matches?:end/disp8 +638 74/jump-if-= $next-line-matches?:end/disp8 639 b8/copy-to-eax 0/imm32/true 640 $next-line-matches?:end: 641 # . restore registers @@ -834,14 +834,14 @@ if ('onhashchange' in window) { 771 $skip-next-line:loop: 772 # if (curr >= max) break 773 39/compare 3/mod/direct 1/rm32/ecx . . . 3/r32/ebx . . # compare ecx and ebx -774 73/jump-if-greater-or-equal-unsigned $skip-next-line:end/disp8 +774 73/jump-if-addr>= $skip-next-line:end/disp8 775 # ++i 776 42/increment-edx 777 # if (*curr == '\n') break 778 31/xor 3/mod/direct 0/rm32/eax . . . 0/r32/eax . . # clear eax 779 8a/copy-byte 0/mod/indirect 1/rm32/ecx . . . 0/r32/eax . . # copy *ecx to eax 780 3d/compare-eax-and 0a/imm32/newline -781 74/jump-if-equal $skip-next-line:end/disp8 +781 74/jump-if-= $skip-next-line:end/disp8 782 # ++curr 783 41/increment-ecx 784 # loop @@ -980,10 +980,10 @@ if ('onhashchange' in window) { 917 $_append-4:loop: 918 # if (in >= inend) break 919 39/compare 3/mod/direct 6/rm32/esi . . . 1/r32/ecx . . # compare esi with ecx -920 73/jump-if-greater-or-equal-unsigned $_append-4:end/disp8 +920 73/jump-if-addr>= $_append-4:end/disp8 921 # if (out >= outend) abort # just to catch test failures fast 922 39/compare 3/mod/direct 7/rm32/edi . . . 2/r32/edx . . # compare edi with edx -923 73/jump-if-greater-or-equal-unsigned $_append-4:abort/disp8 +923 73/jump-if-addr>= $_append-4:abort/disp8 924 # *out = *in 925 8a/copy-byte 0/mod/indirect 6/rm32/esi . . . 3/r32/BL . . # copy byte at *esi to BL 926 88/copy-byte 0/mod/indirect 7/rm32/edi . . . 3/r32/BL . . # copy byte at BL to *edi -- cgit 1.4.1-2-gfad0