diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-09-26 10:48:44 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-09-26 10:48:44 -0700 |
commit | 7e274cf2be2afcd54b187a3184b5aefe79ebf0c9 (patch) | |
tree | 4196eddb28953c4ecbecdd48df0282d27c6a5c8d /html/subx/014indirect_addressing.cc.html | |
parent | d7d0546f22893e8cbe84a734e2f349af62af634b (diff) | |
download | mu-7e274cf2be2afcd54b187a3184b5aefe79ebf0c9.tar.gz |
4520
Diffstat (limited to 'html/subx/014indirect_addressing.cc.html')
-rw-r--r-- | html/subx/014indirect_addressing.cc.html | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/html/subx/014indirect_addressing.cc.html b/html/subx/014indirect_addressing.cc.html index b3594524..157701b7 100644 --- a/html/subx/014indirect_addressing.cc.html +++ b/html/subx/014indirect_addressing.cc.html @@ -82,7 +82,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#L196'>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> << std::hex << Reg[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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L21" class="LineNr"> 21 </span> <a href='003trace.cc.html#L204'>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> << std::hex << Reg[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> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L22" class="LineNr"> 22 </span> addr = Reg[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> @@ -111,7 +111,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L49" class="LineNr"> 49 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L50" class="LineNr"> 50 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><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#L69'>BINARY_ARITHMETIC_OP</a><span class="Delimiter">(</span>+<span class="Delimiter">,</span> Reg[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> @@ -154,7 +154,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L92" class="LineNr"> 92 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L93" class="LineNr"> 93 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><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#L69'>BINARY_ARITHMETIC_OP</a><span class="Delimiter">(</span>-<span class="Delimiter">,</span> Reg[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> @@ -197,7 +197,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L135" class="LineNr">135 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L136" class="LineNr">136 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><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#L81'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>&<span class="Delimiter">,</span> Reg[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> @@ -240,7 +240,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L178" class="LineNr">178 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L179" class="LineNr">179 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><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#L81'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>|<span class="Delimiter">,</span> Reg[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> @@ -283,7 +283,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L221" class="LineNr">221 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L222" class="LineNr">222 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><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#L81'>BINARY_BITWISE_OP</a><span class="Delimiter">(</span>|<span class="Delimiter">,</span> Reg[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> @@ -367,7 +367,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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L305" class="LineNr">305 </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#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L306" class="LineNr">306 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L307" class="LineNr">307 </span> <span class="Normal">int32_t</span> arg1 = Reg[reg1]<span class="Delimiter">.</span>i<span class="Delimiter">;</span> <span id="L308" class="LineNr">308 </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">int32_t</span> tmp1 = arg1 - *arg2<span class="Delimiter">;</span> @@ -375,7 +375,7 @@ if ('onhashchange' in window) { <span id="L311" class="LineNr">311 </span> ZF = <span class="Delimiter">(</span>tmp1 == <span class="Constant">0</span><span class="Delimiter">);</span> <span id="L312" class="LineNr">312 </span> <span class="Normal">int64_t</span> tmp2 = arg1 - *arg2<span class="Delimiter">;</span> <span id="L313" class="LineNr">313 </span> <a href='010---vm.cc.html#L59'>OF</a> = <span class="Delimiter">(</span>tmp1 != tmp2<span class="Delimiter">);</span> -<span id="L314" class="LineNr">314 </span> <a href='003trace.cc.html#L196'>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">"SF="</span> << SF << <span class="Constant">"; ZF="</span> << ZF << <span class="Constant">"; OF="</span> << <a href='010---vm.cc.html#L59'>OF</a> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L314" class="LineNr">314 </span> <a href='003trace.cc.html#L204'>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">"SF="</span> << SF << <span class="Constant">"; ZF="</span> << ZF << <span class="Constant">"; OF="</span> << <a href='010---vm.cc.html#L59'>OF</a> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L315" class="LineNr">315 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L316" class="LineNr">316 </span><span class="Delimiter">}</span> <span id="L317" class="LineNr">317 </span> @@ -439,10 +439,10 @@ 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">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L377" class="LineNr">377 </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="L378" class="LineNr">378 </span> <a href='003trace.cc.html#L196'>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>reg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L378" class="LineNr">378 </span> <a href='003trace.cc.html#L204'>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>reg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L379" class="LineNr">379 </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="L380" class="LineNr">380 </span> Reg[reg1]<span class="Delimiter">.</span>i = *arg2<span class="Delimiter">;</span> -<span id="L381" class="LineNr">381 </span> <a href='003trace.cc.html#L196'>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#L260'>HEXWORD</a> << *arg2 << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L381" class="LineNr">381 </span> <a href='003trace.cc.html#L204'>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#L260'>HEXWORD</a> << *arg2 << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L382" class="LineNr">382 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L383" class="LineNr">383 </span><span class="Delimiter">}</span> <span id="L384" class="LineNr">384 </span> @@ -469,11 +469,11 @@ if ('onhashchange' in window) { <span id="L405" class="LineNr">405 </span><span class="Normal">case</span> <span class="Constant">0x88</span>: <span class="Delimiter">{</span> <span class="Comment">// copy r/m8 to r8</span> <span id="L406" class="LineNr">406 </span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L407" class="LineNr">407 </span> <span class="Normal">uint8_t</span> reg2 = <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="L408" class="LineNr">408 </span> <a href='003trace.cc.html#L196'>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 lowermost byte of "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg2<span class="Delimiter">)</span> << <span class="Constant">" to r8/m8-at-r32"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L408" class="LineNr">408 </span> <a href='003trace.cc.html#L204'>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 lowermost byte of "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg2<span class="Delimiter">)</span> << <span class="Constant">" to r8/m8-at-r32"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L409" class="LineNr">409 </span> <span class="Comment">// use unsigned to zero-extend 8-bit value to 32 bits</span> <span id="L410" class="LineNr">410 </span> <span class="Normal">uint8_t</span>* arg1 = <span class="Normal">reinterpret_cast</span><<span class="Normal">uint8_t</span>*><span class="Delimiter">(</span><a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">));</span> <span id="L411" class="LineNr">411 </span> *arg1 = Reg[reg2]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> -<span id="L412" class="LineNr">412 </span> <a href='003trace.cc.html#L196'>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#L259'>HEXBYTE</a> << <a href='010---vm.cc.html#L262'>NUM</a><span class="Delimiter">(</span>*arg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L412" class="LineNr">412 </span> <a href='003trace.cc.html#L204'>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#L259'>HEXBYTE</a> << <a href='010---vm.cc.html#L262'>NUM</a><span class="Delimiter">(</span>*arg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L413" class="LineNr">413 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L414" class="LineNr">414 </span><span class="Delimiter">}</span> <span id="L415" class="LineNr">415 </span> @@ -501,12 +501,12 @@ if ('onhashchange' in window) { <span id="L437" class="LineNr">437 </span><span class="Normal">case</span> <span class="Constant">0x8a</span>: <span class="Delimiter">{</span> <span class="Comment">// copy r/m8 to r8</span> <span id="L438" class="LineNr">438 </span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L439" class="LineNr">439 </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="L440" class="LineNr">440 </span> <a href='003trace.cc.html#L196'>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 r8/m8-at-r32 to lowermost byte of "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L440" class="LineNr">440 </span> <a href='003trace.cc.html#L204'>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 r8/m8-at-r32 to lowermost byte of "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L441" class="LineNr">441 </span> <span class="Comment">// use unsigned to zero-extend 8-bit value to 32 bits</span> <span id="L442" class="LineNr">442 </span> <span class="Normal">uint8_t</span>* arg2 = <span class="Normal">reinterpret_cast</span><<span class="Normal">uint8_t</span>*><span class="Delimiter">(</span><a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">));</span> -<span id="L443" class="LineNr">443 </span> <a href='003trace.cc.html#L196'>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#L259'>HEXBYTE</a> << <a href='010---vm.cc.html#L262'>NUM</a><span class="Delimiter">(</span>*arg2<span class="Delimiter">)</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L443" class="LineNr">443 </span> <a href='003trace.cc.html#L204'>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#L259'>HEXBYTE</a> << <a href='010---vm.cc.html#L262'>NUM</a><span class="Delimiter">(</span>*arg2<span class="Delimiter">)</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L444" class="LineNr">444 </span> *<span class="Normal">reinterpret_cast</span><<span class="Normal">uint8_t</span>*><span class="Delimiter">(</span>&Reg[reg1]<span class="Delimiter">.</span>u<span class="Delimiter">)</span> = *arg2<span class="Delimiter">;</span> <span class="Comment">// assumes host is little-endian</span> -<span id="L445" class="LineNr">445 </span> <a href='003trace.cc.html#L196'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << <span class="Constant">" now contains 0x"</span> << <a href='010---vm.cc.html#L260'>HEXWORD</a> << Reg[reg1]<span class="Delimiter">.</span>u << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L445" class="LineNr">445 </span> <a href='003trace.cc.html#L204'>trace</a><span class="Delimiter">(</span><span class="Constant">90</span><span class="Delimiter">,</span> <span class="Constant">"run"</span><span class="Delimiter">)</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>reg1<span class="Delimiter">)</span> << <span class="Constant">" now contains 0x"</span> << <a href='010---vm.cc.html#L260'>HEXWORD</a> << Reg[reg1]<span class="Delimiter">.</span>u << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L446" class="LineNr">446 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L447" class="LineNr">447 </span><span class="Delimiter">}</span> <span id="L448" class="LineNr">448 </span> @@ -531,10 +531,10 @@ if ('onhashchange' in window) { <span id="L467" class="LineNr">467 </span> <span id="L468" class="LineNr">468 </span><span class="Delimiter">:(before "End Op ff Subops")</span> <span id="L469" class="LineNr">469 </span><span class="Normal">case</span> <span class="Constant">4</span>: <span class="Delimiter">{</span> <span class="Comment">// jump to r/m32</span> -<span id="L470" class="LineNr">470 </span> <a href='003trace.cc.html#L196'>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">"jump to r/m32"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L470" class="LineNr">470 </span> <a href='003trace.cc.html#L204'>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">"jump to r/m32"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L471" class="LineNr">471 </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="L472" class="LineNr">472 </span> <a href='010---vm.cc.html#L29'>EIP</a> = *arg2<span class="Delimiter">;</span> -<span id="L473" class="LineNr">473 </span> <a href='003trace.cc.html#L196'>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">"jumping to 0x"</span> << <a href='010---vm.cc.html#L260'>HEXWORD</a> << <a href='010---vm.cc.html#L29'>EIP</a> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L473" class="LineNr">473 </span> <a href='003trace.cc.html#L204'>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">"jumping to 0x"</span> << <a href='010---vm.cc.html#L260'>HEXWORD</a> << <a href='010---vm.cc.html#L29'>EIP</a> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L474" class="LineNr">474 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L475" class="LineNr">475 </span><span class="Delimiter">}</span> <span id="L476" class="LineNr">476 </span> @@ -556,7 +556,7 @@ if ('onhashchange' in window) { <span id="L492" class="LineNr">492 </span> <span id="L493" class="LineNr">493 </span><span class="Delimiter">:(before "End Op ff Subops")</span> <span id="L494" class="LineNr">494 </span><span class="Normal">case</span> <span class="Constant">6</span>: <span class="Delimiter">{</span> <span class="Comment">// push r/m32 to stack</span> -<span id="L495" class="LineNr">495 </span> <a href='003trace.cc.html#L196'>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">"push r/m32"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L495" class="LineNr">495 </span> <a href='003trace.cc.html#L204'>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">"push r/m32"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L496" class="LineNr">496 </span> <span class="Normal">const</span> <span class="Normal">int32_t</span>* val = <a href='013direct_addressing.cc.html#L31'>effective_address</a><span class="Delimiter">(</span>modrm<span class="Delimiter">);</span> <span id="L497" class="LineNr">497 </span> <a href='012elf.cc.html#L85'>push</a><span class="Delimiter">(</span>*val<span class="Delimiter">);</span> <span id="L498" class="LineNr">498 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -587,7 +587,7 @@ if ('onhashchange' in window) { <span id="L523" class="LineNr">523 </span> <span class="Normal">uint8_t</span> subop = <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="L524" class="LineNr">524 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>subop<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L525" class="LineNr">525 </span> <span class="Normal">case</span> <span class="Constant">0</span>: <span class="Delimiter">{</span> -<span id="L526" class="LineNr">526 </span> <a href='003trace.cc.html#L196'>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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L526" class="LineNr">526 </span> <a href='003trace.cc.html#L204'>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> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L527" class="LineNr">527 </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="L528" class="LineNr">528 </span> *dest = <a href='013direct_addressing.cc.html#L585'>pop</a><span class="Delimiter">();</span> <span id="L529" class="LineNr">529 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> @@ -613,7 +613,7 @@ if ('onhashchange' in window) { <span id="L549" class="LineNr">549 </span><span class="Delimiter">:(before "End Mod 0 Special-cases(addr)")</span> <span id="L550" class="LineNr">550 </span><span class="Normal">case</span> <span class="Constant">5</span>: <span class="Comment">// exception: mod 0b00 rm 0b101 => incoming disp32</span> <span id="L551" class="LineNr">551 </span> addr = <a href='011run.cc.html#L315'>next32</a><span class="Delimiter">();</span> -<span id="L552" class="LineNr">552 </span> <a href='003trace.cc.html#L196'>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> << std::hex << addr << <span class="Constant">" (disp32)"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L552" class="LineNr">552 </span> <a href='003trace.cc.html#L204'>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> << std::hex << addr << <span class="Constant">" (disp32)"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L553" class="LineNr">553 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L554" class="LineNr">554 </span> <span id="L555" class="LineNr">555 </span><span class="Comment">//:</span> @@ -637,13 +637,13 @@ if ('onhashchange' in window) { <span id="L573" class="LineNr">573 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>rm<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L574" class="LineNr">574 </span> <span class="Normal">default</span>: <span id="L575" class="LineNr">575 </span> addr = Reg[rm]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> -<span id="L576" class="LineNr">576 </span> <a href='003trace.cc.html#L196'>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> << std::hex << 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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L576" class="LineNr">576 </span> <a href='003trace.cc.html#L204'>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> << std::hex << 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> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L577" class="LineNr">577 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L578" class="LineNr">578 </span> <span class="Comment">// End Mod 1 Special-cases(addr)</span> <span id="L579" class="LineNr">579 </span> <span class="Delimiter">}</span> <span id="L580" class="LineNr">580 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>addr > <span class="Constant">0</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L581" class="LineNr">581 </span> addr += <span class="Normal">static_cast</span><<span class="Normal">int8_t</span>><span class="Delimiter">(</span><a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">());</span> -<span id="L582" class="LineNr">582 </span> <a href='003trace.cc.html#L196'>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> << std::hex << addr << <span class="Constant">" (after adding disp8)"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L582" class="LineNr">582 </span> <a href='003trace.cc.html#L204'>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> << std::hex << addr << <span class="Constant">" (after adding disp8)"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L583" class="LineNr">583 </span> <span class="Delimiter">}</span> <span id="L584" class="LineNr">584 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L585" class="LineNr">585 </span> @@ -682,13 +682,13 @@ if ('onhashchange' in window) { <span id="L618" class="LineNr">618 </span> <span class="Normal">switch</span> <span class="Delimiter">(</span>rm<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L619" class="LineNr">619 </span> <span class="Normal">default</span>: <span id="L620" class="LineNr">620 </span> addr = Reg[rm]<span class="Delimiter">.</span>u<span class="Delimiter">;</span> -<span id="L621" class="LineNr">621 </span> <a href='003trace.cc.html#L196'>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> << std::hex << 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> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L621" class="LineNr">621 </span> <a href='003trace.cc.html#L204'>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> << std::hex << 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> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L622" class="LineNr">622 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L623" class="LineNr">623 </span> <span class="Comment">// End Mod 2 Special-cases(addr)</span> <span id="L624" class="LineNr">624 </span> <span class="Delimiter">}</span> <span id="L625" class="LineNr">625 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>addr > <span class="Constant">0</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L626" class="LineNr">626 </span> addr += <a href='011run.cc.html#L315'>next32</a><span class="Delimiter">();</span> -<span id="L627" class="LineNr">627 </span> <a href='003trace.cc.html#L196'>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> << std::hex << addr << <span class="Constant">" (after adding disp32)"</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L627" class="LineNr">627 </span> <a href='003trace.cc.html#L204'>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> << std::hex << addr << <span class="Constant">" (after adding disp32)"</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L628" class="LineNr">628 </span> <span class="Delimiter">}</span> <span id="L629" class="LineNr">629 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L630" class="LineNr">630 </span> @@ -724,7 +724,7 @@ if ('onhashchange' in window) { <span id="L660" class="LineNr">660 </span><span class="Normal">case</span> <span class="Constant">0x8d</span>: <span class="Delimiter">{</span> <span class="Comment">// lea m32 to r32</span> <span id="L661" class="LineNr">661 </span> <span class="Normal">uint8_t</span> modrm = <a href='010---vm.cc.html#L214'>next</a><span class="Delimiter">();</span> <span id="L662" class="LineNr">662 </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="L663" class="LineNr">663 </span> <a href='003trace.cc.html#L196'>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">"lea into "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L222'>end</a><span class="Delimiter">();</span> +<span id="L663" class="LineNr">663 </span> <a href='003trace.cc.html#L204'>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">"lea into "</span> << <a href='013direct_addressing.cc.html#L62'>rname</a><span class="Delimiter">(</span>arg1<span class="Delimiter">)</span> << <a href='003trace.cc.html#L230'>end</a><span class="Delimiter">();</span> <span id="L664" class="LineNr">664 </span> Reg[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="L665" class="LineNr">665 </span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span id="L666" class="LineNr">666 </span><span class="Delimiter">}</span> |