about summary refs log tree commit diff stats
path: root/subx/014indirect_addressing.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-10-12 23:27:26 -0700
committerKartik Agaram <vc@akkartik.com>2018-10-12 23:27:26 -0700
commit01dada15c33dff954f3b76406fd9ed09ef4834c8 (patch)
tree3182032b3956bc0b2121ea26a46ff2dc758c8f1a /subx/014indirect_addressing.cc
parent544fbdc6e2b6022297afe6e260e1986f1ce9a003 (diff)
downloadmu-01dada15c33dff954f3b76406fd9ed09ef4834c8.tar.gz
4687
Diffstat (limited to 'subx/014indirect_addressing.cc')
-rw-r--r--subx/014indirect_addressing.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/subx/014indirect_addressing.cc b/subx/014indirect_addressing.cc
index a0369590..2355273d 100644
--- a/subx/014indirect_addressing.cc
+++ b/subx/014indirect_addressing.cc
@@ -374,11 +374,11 @@ af 00 00 00  # 0xaf
 :(before "End Single-Byte Opcodes")
 case 0x8b: {  // copy r32 to r/m32
   uint8_t modrm = next();
-  uint8_t reg1 = (modrm>>3)&0x7;
-  trace(90, "run") << "copy r/m32 to " << rname(reg1) << end();
-  int32_t* arg2 = effective_address(modrm);
-  Reg[reg1].i = *arg2;
-  trace(90, "run") << "storing 0x" << HEXWORD << *arg2 << end();
+  uint8_t rdest = (modrm>>3)&0x7;
+  trace(90, "run") << "copy r/m32 to " << rname(rdest) << end();
+  int32_t* src = effective_address(modrm);
+  Reg[rdest].i = *src;
+  trace(90, "run") << "storing 0x" << HEXWORD << *src << end();
   break;
 }
 
@@ -436,13 +436,13 @@ ab ff ff ff  # 0xab with more data in following bytes
 :(before "End Single-Byte Opcodes")
 case 0x8a: {  // copy r/m8 to r8
   uint8_t modrm = next();
-  uint8_t reg1 = (modrm>>3)&0x7;
-  trace(90, "run") << "copy r8/m8-at-r32 to lowermost byte of " << rname(reg1) << end();
+  uint8_t rdest = (modrm>>3)&0x7;
+  trace(90, "run") << "copy r8/m8-at-r32 to lowermost byte of " << rname(rdest) << end();
   // use unsigned to zero-extend 8-bit value to 32 bits
-  uint8_t* arg2 = reinterpret_cast<uint8_t*>(effective_address(modrm));
-  trace(90, "run") << "storing 0x" << HEXBYTE << NUM(*arg2) << end();
-  *reinterpret_cast<uint8_t*>(&Reg[reg1].u) = *arg2;  // assumes host is little-endian
-  trace(90, "run") << rname(reg1) << " now contains 0x" << HEXWORD << Reg[reg1].u << end();
+  uint8_t* src = reinterpret_cast<uint8_t*>(effective_address(modrm));
+  trace(90, "run") << "storing 0x" << HEXBYTE << NUM(*src) << end();
+  *reinterpret_cast<uint8_t*>(&Reg[rdest].u) = *src;  // assumes host is little-endian
+  trace(90, "run") << rname(rdest) << " now contains 0x" << HEXWORD << Reg[rdest].u << end();
   break;
 }