about summary refs log tree commit diff stats
path: root/subx/012direct_addressing.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-07-27 11:55:47 -0700
committerKartik Agaram <vc@akkartik.com>2018-07-27 11:55:47 -0700
commit069ed1c879866673ce51dfccfb6b78f8055aeb4d (patch)
treed36c4b00786bb8277349c13a46ef407941496c9d /subx/012direct_addressing.cc
parent7c22499166a6a1c8cd43b23f360ff4942d435178 (diff)
downloadmu-069ed1c879866673ce51dfccfb6b78f8055aeb4d.tar.gz
4442
Clean up trace levels everywhere in SubX.
Diffstat (limited to 'subx/012direct_addressing.cc')
-rw-r--r--subx/012direct_addressing.cc42
1 files changed, 21 insertions, 21 deletions
diff --git a/subx/012direct_addressing.cc b/subx/012direct_addressing.cc
index 66d34195..43b1137b 100644
--- a/subx/012direct_addressing.cc
+++ b/subx/012direct_addressing.cc
@@ -18,7 +18,7 @@ put(name, "01", "add r32 to rm32");
 case 0x01: {  // add r32 to r/m32
   uint8_t modrm = next();
   uint8_t arg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "add " << rname(arg2) << " to r/m32" << end();
+  trace(90, "run") << "add " << rname(arg2) << " to r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   BINARY_ARITHMETIC_OP(+, *arg1, Reg[arg2].i);
   break;
@@ -36,7 +36,7 @@ int32_t* effective_address(uint8_t modrm) {
   switch (mod) {
   case 3:
     // mod 3 is just register direct addressing
-    trace(2, "run") << "r/m32 is " << rname(rm) << end();
+    trace(90, "run") << "r/m32 is " << rname(rm) << end();
     return &Reg[rm].i;
   // End Mod Special-cases(addr)
   default:
@@ -81,7 +81,7 @@ put(name, "29", "subtract r32 from rm32");
 case 0x29: {  // subtract r32 from r/m32
   uint8_t modrm = next();
   uint8_t arg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "subtract " << rname(arg2) << " from r/m32" << end();
+  trace(90, "run") << "subtract " << rname(arg2) << " from r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   BINARY_ARITHMETIC_OP(-, *arg1, Reg[arg2].i);
   break;
@@ -107,7 +107,7 @@ put(name, "21", "rm32 = bitwise AND of r32 with rm32");
 case 0x21: {  // and r32 with r/m32
   uint8_t modrm = next();
   uint8_t arg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "and " << rname(arg2) << " with r/m32" << end();
+  trace(90, "run") << "and " << rname(arg2) << " with r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   BINARY_BITWISE_OP(&, *arg1, Reg[arg2].u);
   break;
@@ -133,7 +133,7 @@ put(name, "09", "rm32 = bitwise OR of r32 with rm32");
 case 0x09: {  // or r32 with r/m32
   uint8_t modrm = next();
   uint8_t arg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "or " << rname(arg2) << " with r/m32" << end();
+  trace(90, "run") << "or " << rname(arg2) << " with r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   BINARY_BITWISE_OP(|, *arg1, Reg[arg2].u);
   break;
@@ -159,7 +159,7 @@ put(name, "31", "rm32 = bitwise XOR of r32 with rm32");
 case 0x31: {  // xor r32 with r/m32
   uint8_t modrm = next();
   uint8_t arg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "xor " << rname(arg2) << " with r/m32" << end();
+  trace(90, "run") << "xor " << rname(arg2) << " with r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   BINARY_BITWISE_OP(^, *arg1, Reg[arg2].u);
   break;
@@ -183,10 +183,10 @@ put(name, "f7", "bitwise complement of rm32");
 :(before "End Single-Byte Opcodes")
 case 0xf7: {  // xor r32 with r/m32
   uint8_t modrm = next();
-  trace(2, "run") << "'not' of r/m32" << end();
+  trace(90, "run") << "'not' of r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   *arg1 = ~(*arg1);
-  trace(2, "run") << "storing 0x" << HEXWORD << *arg1 << end();
+  trace(90, "run") << "storing 0x" << HEXWORD << *arg1 << end();
   SF = (*arg1 >> 31);
   ZF = (*arg1 == 0);
   OF = false;
@@ -213,7 +213,7 @@ put(name, "39", "set SF if rm32 < r32");
 case 0x39: {  // set SF if r/m32 < r32
   uint8_t modrm = next();
   uint8_t reg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "compare " << rname(reg2) << " with r/m32" << end();
+  trace(90, "run") << "compare " << rname(reg2) << " with r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   int32_t arg2 = Reg[reg2].i;
   int32_t tmp1 = *arg1 - arg2;
@@ -221,7 +221,7 @@ case 0x39: {  // set SF if r/m32 < r32
   ZF = (tmp1 == 0);
   int64_t tmp2 = *arg1 - arg2;
   OF = (tmp1 != tmp2);
-  trace(2, "run") << "SF=" << SF << "; ZF=" << ZF << "; OF=" << OF << end();
+  trace(90, "run") << "SF=" << SF << "; ZF=" << ZF << "; OF=" << OF << end();
   break;
 }
 
@@ -266,10 +266,10 @@ put(name, "89", "copy r32 to rm32");
 case 0x89: {  // copy r32 to r/m32
   uint8_t modrm = next();
   uint8_t reg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "copy " << rname(reg2) << " to r/m32" << end();
+  trace(90, "run") << "copy " << rname(reg2) << " to r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   *arg1 = Reg[reg2].i;
-  trace(2, "run") << "storing 0x" << HEXWORD << *arg1 << end();
+  trace(90, "run") << "storing 0x" << HEXWORD << *arg1 << end();
   break;
 }
 
@@ -294,13 +294,13 @@ put(name, "87", "swap the contents of r32 and rm32");
 case 0x87: {  // exchange r32 with r/m32
   uint8_t modrm = next();
   uint8_t reg2 = (modrm>>3)&0x7;
-  trace(2, "run") << "exchange " << rname(reg2) << " with r/m32" << end();
+  trace(90, "run") << "exchange " << rname(reg2) << " with r/m32" << end();
   int32_t* arg1 = effective_address(modrm);
   int32_t tmp = *arg1;
   *arg1 = Reg[reg2].i;
   Reg[reg2].i = tmp;
-  trace(2, "run") << "storing 0x" << HEXWORD << *arg1 << " in r/m32" << end();
-  trace(2, "run") << "storing 0x" << HEXWORD << Reg[reg2].i << " in " << rname(reg2) << end();
+  trace(90, "run") << "storing 0x" << HEXWORD << *arg1 << " in r/m32" << end();
+  trace(90, "run") << "storing 0x" << HEXWORD << Reg[reg2].i << " in " << rname(reg2) << end();
   break;
 }
 
@@ -336,15 +336,15 @@ case 0x55:
 case 0x56:
 case 0x57: {  // push r32 to stack
   uint8_t reg = op & 0x7;
-  trace(2, "run") << "push " << rname(reg) << end();
+  trace(90, "run") << "push " << rname(reg) << end();
   push(Reg[reg].u);
   break;
 }
 :(code)
 void push(uint32_t val) {
   Reg[ESP].u -= 4;
-  trace(2, "run") << "decrementing ESP to 0x" << HEXWORD << Reg[ESP].u << end();
-  trace(2, "run") << "pushing value 0x" << HEXWORD << val << end();
+  trace(90, "run") << "decrementing ESP to 0x" << HEXWORD << Reg[ESP].u << end();
+  trace(90, "run") << "pushing value 0x" << HEXWORD << val << end();
   write_mem_u32(Reg[ESP].u, val);
 }
 
@@ -382,15 +382,15 @@ case 0x5d:
 case 0x5e:
 case 0x5f: {  // pop stack into r32
   uint8_t reg = op & 0x7;
-  trace(2, "run") << "pop into " << rname(reg) << end();
+  trace(90, "run") << "pop into " << rname(reg) << end();
   Reg[reg].u = pop();
   break;
 }
 :(code)
 uint32_t pop() {
   uint32_t result = read_mem_u32(Reg[ESP].u);
-  trace(2, "run") << "popping value 0x" << HEXWORD << result << end();
+  trace(90, "run") << "popping value 0x" << HEXWORD << result << end();
   Reg[ESP].u += 4;
-  trace(2, "run") << "incrementing ESP to 0x" << HEXWORD << Reg[ESP].u << end();
+  trace(90, "run") << "incrementing ESP to 0x" << HEXWORD << Reg[ESP].u << end();
   return result;
 }