about summary refs log tree commit diff stats
path: root/subx/010---vm.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-03-22 21:52:42 -0700
committerKartik Agaram <vc@akkartik.com>2019-03-22 21:52:42 -0700
commitb0212309664363e832404fe80b959397314909c2 (patch)
treea1b0b306bdf6790b8cf01577d73ecff03c4a8e8b /subx/010---vm.cc
parent9be1aa30d8c32c7750c9ae9e73b4caa1037a7a5b (diff)
downloadmu-b0212309664363e832404fe80b959397314909c2.tar.gz
5016
Diffstat (limited to 'subx/010---vm.cc')
-rw-r--r--subx/010---vm.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/subx/010---vm.cc b/subx/010---vm.cc
index 4c346a3d..3def0ff9 100644
--- a/subx/010---vm.cc
+++ b/subx/010---vm.cc
@@ -302,7 +302,7 @@ void run_one_instruction() {
   }
   uint32_t inst_start_address = EIP;
   op = next();
-  trace(Callstack_depth, "run") << "0x" << HEXWORD << inst_start_address << " opcode: " << HEXBYTE << NUM(op) << (op == 0xe8 ? "/call" : "") << end();
+  trace(Callstack_depth, "run") << "0x" << HEXWORD << inst_start_address << " opcode: " << HEXBYTE << NUM(op) << call_label(op) << end();
   switch (op) {
   case 0xf4:  // hlt
     EIP = End_of_program;
@@ -375,6 +375,13 @@ void dump_registers() {
   trace(Callstack_depth+1, "run") << out.str() << end();
 }
 
+// debugging info from a later layer
+string call_label(uint8_t op) {
+  if (op != 0xe8) return "";
+  // End Trace Call Instruction
+  return "/call";
+}
+
 //: start tracking supported opcodes
 :(before "End Globals")
 map</*op*/string, string> Name;