diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-01-11 18:08:21 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-01-11 18:08:21 -0800 |
commit | db8a9ab553535551ce80dcd5ce07cffb85f5cfb7 (patch) | |
tree | 2b178c65d6e5ada219d354637ee3ee10050589bf /html/subx/014indirect_addressing.cc.html | |
parent | dadae33848cbaf95b6355789348e0b1d3dff11af (diff) | |
download | mu-db8a9ab553535551ce80dcd5ce07cffb85f5cfb7.tar.gz |
4921
Diffstat (limited to 'html/subx/014indirect_addressing.cc.html')
-rw-r--r-- | html/subx/014indirect_addressing.cc.html | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/html/subx/014indirect_addressing.cc.html b/html/subx/014indirect_addressing.cc.html index b719b747..27499260 100644 --- a/html/subx/014indirect_addressing.cc.html +++ b/html/subx/014indirect_addressing.cc.html @@ -81,7 +81,7 @@ if ('onhashchange' in window) { <span id="L18" class="LineNr"> 18 </span><span class="Normal">case</span> <span class="Constant">0</span>: <span class="Comment">// indirect addressing</span> <span id="L19" class="LineNr"> 19 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>rm<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L20" class="LineNr"> 20 </span> <span class="Normal">default</span>: <span class="Comment">// address in register</span> -<span id="L21" class="LineNr"> 21 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rm]<span class="Delimiter">.</span>u << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> +<span id="L21" class="LineNr"> 21 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rm]<span class="Delimiter">.</span>u << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> <span id="L22" class="LineNr"> 22 </span> addr = <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rm]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> <span id="L23" class="LineNr"> 23 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L24" class="LineNr"> 24 </span> <span class="Comment">// End Mod 0 Special-cases(addr)</span> @@ -110,7 +110,7 @@ if ('onhashchange' in window) { <span id="L47" class="LineNr"> 47 </span><span class="Normal">case</span> <span class="Constant">0x03</span>: <span class="Delimiter">{</span> <span class="Comment">// add r/m32 to r32</span> <span id="L48" class="LineNr"> 48 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L49" class="LineNr"> 49 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L50" class="LineNr"> 50 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"add r/m32 to "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L50" class="LineNr"> 50 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"add r/m32 to "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L51" class="LineNr"> 51 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L52" class="LineNr"> 52 </span> <a href='010---vm.cc.html#L91'>BINARY_ARITHMETIC_OP</a><span class="Delimiter">(</span>+<span class="Delimiter">,</span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>i<span class="Delimiter">,</span> *arg2<span class="Delimiter">);</span> <span id="L53" class="LineNr"> 53 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -153,7 +153,7 @@ if ('onhashchange' in window) { <span id="L90" class="LineNr"> 90 </span><span class="Normal">case</span> <span class="Constant">0x2b</span>: <span class="Delimiter">{</span> <span class="Comment">// subtract r/m32 from r32</span> <span id="L91" class="LineNr"> 91 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L92" class="LineNr"> 92 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L93" class="LineNr"> 93 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"subtract r/m32 from "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L93" class="LineNr"> 93 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"subtract r/m32 from "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L94" class="LineNr"> 94 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L95" class="LineNr"> 95 </span> <a href='010---vm.cc.html#L91'>BINARY_ARITHMETIC_OP</a><span class="Delimiter">(</span>-<span class="Delimiter">,</span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>i<span class="Delimiter">,</span> *arg2<span class="Delimiter">);</span> <span id="L96" class="LineNr"> 96 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -196,7 +196,7 @@ if ('onhashchange' in window) { <span id="L133" class="LineNr">133 </span><span class="Normal">case</span> <span class="Constant">0x23</span>: <span class="Delimiter">{</span> <span class="Comment">// and r/m32 with r32</span> <span id="L134" class="LineNr">134 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L135" class="LineNr">135 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L136" class="LineNr">136 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"and r/m32 with "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L136" class="LineNr">136 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"and r/m32 with "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L137" class="LineNr">137 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L138" class="LineNr">138 </span> <a href='010---vm.cc.html#L103'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>&<span class="Delimiter">,</span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>u<span class="Delimiter">,</span> *arg2<span class="Delimiter">);</span> <span id="L139" class="LineNr">139 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -239,7 +239,7 @@ if ('onhashchange' in window) { <span id="L176" class="LineNr">176 </span><span class="Normal">case</span> <span class="Constant">0x0b</span>: <span class="Delimiter">{</span> <span class="Comment">// or r/m32 with r32</span> <span id="L177" class="LineNr">177 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L178" class="LineNr">178 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L179" class="LineNr">179 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"or r/m32 with "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L179" class="LineNr">179 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"or r/m32 with "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L180" class="LineNr">180 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L181" class="LineNr">181 </span> <a href='010---vm.cc.html#L103'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>|<span class="Delimiter">,</span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>u<span class="Delimiter">,</span> *arg2<span class="Delimiter">);</span> <span id="L182" class="LineNr">182 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -282,7 +282,7 @@ if ('onhashchange' in window) { <span id="L219" class="LineNr">219 </span><span class="Normal">case</span> <span class="Constant">0x33</span>: <span class="Delimiter">{</span> <span class="Comment">// xor r/m32 with r32</span> <span id="L220" class="LineNr">220 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L221" class="LineNr">221 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L222" class="LineNr">222 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"xor r/m32 with "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L222" class="LineNr">222 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"xor r/m32 with "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L223" class="LineNr">223 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L224" class="LineNr">224 </span> <a href='010---vm.cc.html#L103'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>|<span class="Delimiter">,</span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>u<span class="Delimiter">,</span> *arg2<span class="Delimiter">);</span> <span id="L225" class="LineNr">225 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -366,7 +366,7 @@ if ('onhashchange' in window) { <span id="L303" class="LineNr">303 </span><span class="Normal">case</span> <span class="Constant">0x3b</span>: <span class="Delimiter">{</span> <span class="Comment">// set SF if r32 < r/m32</span> <span id="L304" class="LineNr">304 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L305" class="LineNr">305 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> reg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L306" class="LineNr">306 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"compare r/m32 with "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L306" class="LineNr">306 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"compare r/m32 with "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L307" class="LineNr">307 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span> arg1 = <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[reg1]<span class="Delimiter">.</span>i<span class="Delimiter">;</span> <span id="L308" class="LineNr">308 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* arg2 = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L309" class="LineNr">309 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span> tmp1 = arg1 - *arg2<span class="Delimiter">;</span> @@ -438,7 +438,7 @@ if ('onhashchange' in window) { <span id="L375" class="LineNr">375 </span><span class="Normal">case</span> <span class="Constant">0x8b</span>: <span class="Delimiter">{</span> <span class="Comment">// copy r32 to r/m32</span> <span id="L376" class="LineNr">376 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L377" class="LineNr">377 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> rdest = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L378" class="LineNr">378 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"copy r/m32 to "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>rdest<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L378" class="LineNr">378 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"copy r/m32 to "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>rdest<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L379" class="LineNr">379 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* src = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L380" class="LineNr">380 </span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rdest]<span class="Delimiter">.</span>i = *src<span class="Delimiter">;</span> <span id="L381" class="LineNr">381 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"storing 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << *src << end<span class="Delimiter">();</span> @@ -511,7 +511,7 @@ if ('onhashchange' in window) { <span id="L448" class="LineNr">448 </span><span class="Comment"># ModR/M in binary: 00 (indirect mode) 000 (pop r/m32) 000 (dest EAX)</span> <span id="L449" class="LineNr">449 </span>== <span class="Constant">0x2000</span> <span class="Comment"># data segment</span> <span id="L450" class="LineNr">450 </span><span class="Constant">30</span> <span class="PreProc">0</span><span class="Constant">0</span> <span class="PreProc">0</span><span class="Constant">0</span> <span class="PreProc">0</span><span class="Constant">0</span> <span class="Comment"># 0x30</span> -<span id="L451" class="LineNr">451 </span><span class="traceContains">+run: <a href='013direct_addressing.cc.html#L788'>pop</a> into r/m32</span> +<span id="L451" class="LineNr">451 </span><span class="traceContains">+run: <a href='013direct_addressing.cc.html#L789'>pop</a> into r/m32</span> <span id="L452" class="LineNr">452 </span><span class="traceContains">+run: effective address is 0x00000060 (EAX)</span> <span id="L453" class="LineNr">453 </span><span class="traceContains">+run: popping value 0x00000030</span> <span id="L454" class="LineNr">454 </span><span class="traceContains">+run: incrementing <a href='010---vm.cc.html#L17'>ESP</a> to 0x00002004</span> @@ -524,7 +524,7 @@ if ('onhashchange' in window) { <span id="L461" class="LineNr">461 </span> <span class="Normal">case</span> <span class="Constant">0</span>: <span class="Delimiter">{</span> <span id="L462" class="LineNr">462 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"pop into r/m32"</span> << end<span class="Delimiter">();</span> <span id="L463" class="LineNr">463 </span> <span class="Normal">int32_t</span>* dest = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> -<span id="L464" class="LineNr">464 </span> *dest = <a href='013direct_addressing.cc.html#L788'>pop</a><span class="Delimiter">();</span> +<span id="L464" class="LineNr">464 </span> *dest = <a href='013direct_addressing.cc.html#L789'>pop</a><span class="Delimiter">();</span> <span id="L465" class="LineNr">465 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L466" class="LineNr">466 </span> <span class="Delimiter">}</span> <span id="L467" class="LineNr">467 </span> <span class="Delimiter">}</span> @@ -572,7 +572,7 @@ if ('onhashchange' in window) { <span id="L509" class="LineNr">509 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>rm<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L510" class="LineNr">510 </span> <span class="Normal">default</span>: <span id="L511" class="LineNr">511 </span> addr = <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rm]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> -<span id="L512" class="LineNr">512 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is initially 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << addr << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> +<span id="L512" class="LineNr">512 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is initially 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << addr << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> <span id="L513" class="LineNr">513 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L514" class="LineNr">514 </span> <span class="Comment">// End Mod 1 Special-cases(addr)</span> <span id="L515" class="LineNr">515 </span> <span class="Delimiter">}</span> @@ -617,7 +617,7 @@ if ('onhashchange' in window) { <span id="L554" class="LineNr">554 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>rm<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L555" class="LineNr">555 </span> <span class="Normal">default</span>: <span id="L556" class="LineNr">556 </span> addr = <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[rm]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> -<span id="L557" class="LineNr">557 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is initially 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << addr << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> +<span id="L557" class="LineNr">557 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"effective address is initially 0x"</span> << <a href='010---vm.cc.html#L413'>HEXWORD</a> << addr << <span class="Constant">" ("</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>rm<span class="Delimiter">)</span> << <span class="Constant">")"</span> << end<span class="Delimiter">();</span> <span id="L558" class="LineNr">558 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L559" class="LineNr">559 </span> <span class="Comment">// End Mod 2 Special-cases(addr)</span> <span id="L560" class="LineNr">560 </span> <span class="Delimiter">}</span> @@ -659,7 +659,7 @@ if ('onhashchange' in window) { <span id="L596" class="LineNr">596 </span><span class="Normal">case</span> <span class="Constant">0x8d</span>: <span class="Delimiter">{</span> <span class="Comment">// copy address of m32 to r32</span> <span id="L597" class="LineNr">597 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L364'>next</a><span class="Delimiter">();</span> <span id="L598" class="LineNr">598 </span> <span class="Normal">const</span> <span class="Normal">uint8_t</span> arg1 = <span class="Delimiter">(</span>modrm>><span class="Constant">3</span><span class="Delimiter">)</span>&<span class="Constant">0x7</span><span class="Delimiter">;</span> -<span id="L599" class="LineNr">599 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"copy address into "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> +<span id="L599" class="LineNr">599 </span> <a href='003trace.cc.html#L183'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <span class="Constant">"copy address into "</span> << <a href='013direct_addressing.cc.html#L63'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << end<span class="Delimiter">();</span> <span id="L600" class="LineNr">600 </span> <span class="Special"><a href='010---vm.cc.html#L28'>Reg</a></span>[arg1]<span class="Delimiter">.</span>u = <a href='013direct_addressing.cc.html#L43'>effective_address_number</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L601" class="LineNr">601 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L602" class="LineNr">602 </span><span class="Delimiter">}</span> |