diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-16 18:31:12 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-16 18:31:12 -0800 |
commit | 6070c23e5e1c60d3bb169e43bddfa59b1d322427 (patch) | |
tree | 9a70e378c33c15e4779cf94abda8f37c35a5d1da /html/060read.subx.html | |
parent | 5a6601aba973ba1d1ef30b7b64438c25623b89c5 (diff) | |
download | mu-6070c23e5e1c60d3bb169e43bddfa59b1d322427.tar.gz |
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.
Diffstat (limited to 'html/060read.subx.html')
-rw-r--r-- | html/060read.subx.html | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/html/060read.subx.html b/html/060read.subx.html index 1aa46769..dc314fea 100644 --- a/html/060read.subx.html +++ b/html/060read.subx.html @@ -112,7 +112,7 @@ if ('onhashchange' in window) { <span id="L51" class="LineNr"> 51 </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="L52" class="LineNr"> 52 </span> <span class="subxComment"># if (f < 0x08000000) return _read(f, s) # f can't be a user-mode address, so treat it as a kernel file descriptor</span> <span id="L53" class="LineNr"> 53 </span> 81 7/subop/compare 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/disp8 0x08000000/imm32 <span class="subxComment"># compare *(ebp+8)</span> -<span id="L54" class="LineNr"> 54 </span> 73/jump-if-greater-unsigned-or-equal $read:fake/disp8 +<span id="L54" class="LineNr"> 54 </span> 73/jump-if-addr>= $read:fake/disp8 <span id="L55" class="LineNr"> 55 </span> <span class="subxS2Comment"># . . push args</span> <span id="L56" class="LineNr"> 56 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span> <span id="L57" class="LineNr"> 57 </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> @@ -226,10 +226,10 @@ if ('onhashchange' in window) { <span id="L165" class="LineNr">165 </span><span class="Constant">$_buffer-4:loop</span>: <span id="L166" class="LineNr">166 </span> <span class="subxComment"># if (in >= inend) break</span> <span id="L167" class="LineNr">167 </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="L168" class="LineNr">168 </span> 73/jump-if-greater-or-equal-unsigned $_buffer-4:end/disp8 +<span id="L168" class="LineNr">168 </span> 73/jump-if-addr>= $_buffer-4:end/disp8 <span id="L169" class="LineNr">169 </span> <span class="subxComment"># if (out >= outend) break # for now silently ignore filled up buffer</span> <span id="L170" class="LineNr">170 </span> 39/compare 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># compare edi with edx</span> -<span id="L171" class="LineNr">171 </span> 73/jump-if-greater-or-equal-unsigned $_buffer-4:end/disp8 +<span id="L171" class="LineNr">171 </span> 73/jump-if-addr>= $_buffer-4:end/disp8 <span id="L172" class="LineNr">172 </span> <span class="subxComment"># *out = *in</span> <span id="L173" class="LineNr">173 </span> 8a/copy-byte 0/mod/indirect 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 3/r32/BL <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy byte at *esi to BL</span> <span id="L174" class="LineNr">174 </span> 88/copy-byte 0/mod/indirect 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 3/r32/BL <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy byte at BL to *edi</span> |