diff options
Diffstat (limited to 'subx/010---vm.cc')
-rw-r--r-- | subx/010---vm.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/subx/010---vm.cc b/subx/010---vm.cc index a3ca1a6c..ef23804f 100644 --- a/subx/010---vm.cc +++ b/subx/010---vm.cc @@ -293,6 +293,7 @@ void run_one_instruction() { cerr << "opcode: " << HEXBYTE << NUM(op) << '\n'; cerr << "registers at start: "; dump_registers(); +//? dump_stack(); } switch (op) { case 0xf4: // hlt @@ -363,6 +364,15 @@ void dump_registers() { cerr << " -- SF: " << SF << "; ZF: " << ZF << "; OF: " << OF << '\n'; } +void dump_stack() { + cerr << "stack:\n"; + for (uint32_t a = AFTER_STACK-4; a > Reg[ESP].u; a -= 4) + cerr << " 0x" << HEXWORD << a << " => 0x" << HEXWORD << read_mem_u32(a) << '\n'; + cerr << " 0x" << HEXWORD << Reg[ESP].u << " => 0x" << HEXWORD << read_mem_u32(Reg[ESP].u) << " <=== ESP\n"; + for (uint32_t a = Reg[ESP].u-4; a > Reg[ESP].u-40; a -= 4) + cerr << " 0x" << HEXWORD << a << " => 0x" << HEXWORD << read_mem_u32(a) << '\n'; +} + //: start tracking supported opcodes :(before "End Globals") map</*op*/string, string> Name; |