diff options
Diffstat (limited to 'qtmips_machine/core.cpp')
-rw-r--r-- | qtmips_machine/core.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/qtmips_machine/core.cpp b/qtmips_machine/core.cpp index 9312a69..75b6eb6 100644 --- a/qtmips_machine/core.cpp +++ b/qtmips_machine/core.cpp @@ -263,9 +263,10 @@ struct Core::dtMemory Core::memory(const struct dtExecute &dt) { memwrite = false; regwrite = false; } else { - if (dt.memctl == AC_CACHE_OP) + if (dt.memctl == AC_CACHE_OP) { mem_data->sync(); - else if (memwrite) { + mem_program->sync(); + } else if (memwrite) { if (dt.memctl == AC_STORE_CONDITIONAL) { mem_data->write_ctl(AC_WORD, mem_addr, dt.val_rt); towrite_val = 1; @@ -583,6 +584,9 @@ void CorePipelined::do_step() { dt_e.regwrite, dt_e.inst.type(), dt_e.rwrite, dt_m.regwrite, dt_m.inst.type(), dt_m.rwrite); #endif +#if 1 + printf("PC 0x%08lx\n", (unsigned long)dt_f.inst_addr); +#endif // Now process program counter (loop connections from decode stage) if (!stall) { |