diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-27 00:39:46 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-27 00:39:46 -0800 |
commit | 2104d1a75b76dbffc0b15a96c98d94e7a16594e8 (patch) | |
tree | 2a839b86e76431a9bbe4bf155f7411171a26d7f8 /html/092stack.subx.html | |
parent | 71eb22a5bf94f5fa0a3c95212450e3c6a1a6a990 (diff) | |
download | mu-2104d1a75b76dbffc0b15a96c98d94e7a16594e8.tar.gz |
5925
Diffstat (limited to 'html/092stack.subx.html')
-rw-r--r-- | html/092stack.subx.html | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/html/092stack.subx.html b/html/092stack.subx.html index 8427a1f8..4ccbbe55 100644 --- a/html/092stack.subx.html +++ b/html/092stack.subx.html @@ -67,7 +67,7 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="subxS1Comment"># . op subop mod rm32 base index scale r32</span> <span id="L8" class="LineNr"> 8 </span><span class="subxS1Comment"># . 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes</span> <span id="L9" class="LineNr"> 9 </span> -<span id="L10" class="LineNr"> 10 </span><span class="subxFunction">clear-stack</span>: <span class="subxComment"># s : (addr stack)</span> +<span id="L10" class="LineNr"> 10 </span><span class="subxFunction">clear-stack</span>: <span class="subxComment"># s: (addr stack)</span> <span id="L11" class="LineNr"> 11 </span> <span class="subxS1Comment"># . prologue</span> <span id="L12" class="LineNr"> 12 </span> 55/push-ebp <span id="L13" class="LineNr"> 13 </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> @@ -76,12 +76,12 @@ if ('onhashchange' in window) { <span id="L16" class="LineNr"> 16 </span> 51/push-ecx <span id="L17" class="LineNr"> 17 </span> <span class="subxComment"># eax = s</span> <span id="L18" class="LineNr"> 18 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+8) to eax</span> -<span id="L19" class="LineNr"> 19 </span> <span class="subxComment"># var max/ecx : (addr byte) = &s->data[s->length]</span> +<span id="L19" class="LineNr"> 19 </span> <span class="subxComment"># var max/ecx: (addr byte) = &s->data[s->length]</span> <span id="L20" class="LineNr"> 20 </span> 8b/copy 1/mod/*+disp8 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(eax+4) to eax</span> <span id="L21" class="LineNr"> 21 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+8 to ecx</span> <span id="L22" class="LineNr"> 22 </span> <span class="subxComment"># s->top = 0</span> <span id="L23" class="LineNr"> 23 </span> c7 0/subop/copy 0/mod/direct 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/imm32 <span class="subxComment"># copy to *eax</span> -<span id="L24" class="LineNr"> 24 </span> <span class="subxComment"># var curr/eax : (addr byte) = s->data</span> +<span id="L24" class="LineNr"> 24 </span> <span class="subxComment"># var curr/eax: (addr byte) = s->data</span> <span id="L25" class="LineNr"> 25 </span> 81 0/subop/add 3/mod/direct 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to eax</span> <span id="L26" class="LineNr"> 26 </span><span class="Constant">$clear-stack:loop</span>: <span id="L27" class="LineNr"> 27 </span> <span class="subxComment"># if (curr >= max) break</span> @@ -167,7 +167,7 @@ if ('onhashchange' in window) { <span id="L107" class="LineNr">107 </span> 5d/pop-to-ebp <span id="L108" class="LineNr">108 </span> c3/return <span id="L109" class="LineNr">109 </span> -<span id="L110" class="LineNr">110 </span><span class="subxFunction">push</span>: <span class="subxComment"># s : (addr stack), n : int</span> +<span id="L110" class="LineNr">110 </span><span class="subxFunction">push</span>: <span class="subxComment"># s: (addr stack), n: int</span> <span id="L111" class="LineNr">111 </span> <span class="subxS1Comment"># . prologue</span> <span id="L112" class="LineNr">112 </span> 55/push-ebp <span id="L113" class="LineNr">113 </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> @@ -287,7 +287,7 @@ if ('onhashchange' in window) { <span id="L227" class="LineNr">227 </span> 5d/pop-to-ebp <span id="L228" class="LineNr">228 </span> c3/return <span id="L229" class="LineNr">229 </span> -<span id="L230" class="LineNr">230 </span><span class="subxFunction">pop</span>: <span class="subxComment"># s : (addr stack) -> n/eax : int</span> +<span id="L230" class="LineNr">230 </span><span class="subxFunction">pop</span>: <span class="subxComment"># s: (addr stack) -> n/eax: int</span> <span id="L231" class="LineNr">231 </span> <span class="subxS1Comment"># . prologue</span> <span id="L232" class="LineNr">232 </span> 55/push-ebp <span id="L233" class="LineNr">233 </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> @@ -391,7 +391,7 @@ if ('onhashchange' in window) { <span id="L331" class="LineNr">331 </span> 5d/pop-to-ebp <span id="L332" class="LineNr">332 </span> c3/return <span id="L333" class="LineNr">333 </span> -<span id="L334" class="LineNr">334 </span><span class="subxFunction">top</span>: <span class="subxComment"># s : (addr stack) -> n/eax : int</span> +<span id="L334" class="LineNr">334 </span><span class="subxFunction">top</span>: <span class="subxComment"># s: (addr stack) -> n/eax: int</span> <span id="L335" class="LineNr">335 </span> <span class="subxS1Comment"># . prologue</span> <span id="L336" class="LineNr">336 </span> 55/push-ebp <span id="L337" class="LineNr">337 </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> |