}
}
+void CCpu::breakNext()
+{
+ m_breakNext = true;
+}
+
+bool CCpu::shouldBreak()
+{
+ return m_breakNext;
+}
+
void CCpu::tick()
{
// signal extensions
}
if(this->conditionMet(instr->getCondition())) {
- cout << color(green,black) << "Executing: " << color(white,black) << colorifyInstr(instr->toString()) << endl;
+ cout << color(green,black) << "Executing: " << color(white,black) << colorifyInstr(instr->toString()) << " (0x" << std::hex << m_pc << std::dec << ")" << endl;
instr->execInstr();
this->incPerfBy(instr->getClockCount());
}
}
-CCpu::CCpu(int regs, int ram, int prog) : m_Z(false), m_S(false), m_C(false), m_O(false), m_pc(0), m_pc_next(0), m_perf(0), m_reg(regs), m_ram(ram), m_prog(prog), m_exts(0), m_stack(0)
+CCpu::CCpu(int regs, int ram, int prog) : m_Z(false), m_S(false), m_C(false), m_O(false), m_breakNext(0), m_pc(0), m_pc_next(0), m_perf(0), m_reg(regs), m_ram(ram), m_prog(prog), m_exts(0), m_stack(0)
{
}