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/062write-stream.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/062write-stream.subx.html')
-rw-r--r-- | html/062write-stream.subx.html | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/html/062write-stream.subx.html b/html/062write-stream.subx.html index 2b32ebc1..f698d844 100644 --- a/html/062write-stream.subx.html +++ b/html/062write-stream.subx.html @@ -82,7 +82,7 @@ if ('onhashchange' in window) { <span id="L21" class="LineNr"> 21 </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="L22" class="LineNr"> 22 </span> <span class="subxComment"># if (f < 0x08000000) _write-stream(f, s), return # f can't be a user-mode address, so treat it as a kernel file descriptor</span> <span id="L23" class="LineNr"> 23 </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="L24" class="LineNr"> 24 </span> 73/jump-if-greater-unsigned-or-equal $write-stream:fake/disp8 +<span id="L24" class="LineNr"> 24 </span> 73/jump-if-addr>= $write-stream:fake/disp8 <span id="L25" class="LineNr"> 25 </span> <span class="subxS2Comment"># . . push args</span> <span id="L26" class="LineNr"> 26 </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="L27" class="LineNr"> 27 </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> @@ -165,7 +165,7 @@ if ('onhashchange' in window) { <span id="L104" class="LineNr">104 </span> cd/syscall 0x80/imm8 <span id="L105" class="LineNr">105 </span> <span class="subxComment"># if (eax < 0) abort</span> <span id="L106" class="LineNr">106 </span> 3d/compare-eax-with 0/imm32 -<span id="L107" class="LineNr">107 </span> 0f 8c/jump-if-lesser $_write-stream:abort/disp32 +<span id="L107" class="LineNr">107 </span> 0f 8c/jump-if-< $_write-stream:abort/disp32 <span id="L108" class="LineNr">108 </span> <span class="subxComment"># s->read += eax</span> <span id="L109" class="LineNr">109 </span> 01/add 1/mod/*+disp8 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># add eax to *(esi+4)</span> <span id="L110" class="LineNr">110 </span> <span class="subxS1Comment"># . restore registers</span> |