summaryrefslogtreecommitdiff
path: root/src/sim/id.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/id.cc')
-rw-r--r--src/sim/id.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sim/id.cc b/src/sim/id.cc
index d4b56d2..3d5baef 100644
--- a/src/sim/id.cc
+++ b/src/sim/id.cc
@@ -38,7 +38,14 @@ Response ID::read_guard(signed int &v)
void ID::write_guard(signed int &v)
{
- this->checked_out.push_back(v);
+ // zero register shouldn't be written.
+ if (v != 0) {
+ // keep track in the instrDTO for displaying to user and writeback
+ // keep track in checked_out so we can still access this information!
+ this->checked_out.push_back(v);
+ this->curr_instr->set_checked_out(v);
+ std::cout << "checked out: " << v << std::endl;
+ }
v = this->dereference_register(v);
}