diff options
Diffstat (limited to 'isa/checker.cpp')
| -rw-r--r-- | isa/checker.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/isa/checker.cpp b/isa/checker.cpp index 05b59a9..1919bd1 100644 --- a/isa/checker.cpp +++ b/isa/checker.cpp | |||
| @@ -28,6 +28,8 @@ void checker::execute() { | |||
| 28 | inst.acc = acc; | 28 | inst.acc = acc; |
| 29 | if (inst.need_read_link) | 29 | if (inst.need_read_link) |
| 30 | inst.link = link; | 30 | inst.link = link; |
| 31 | if (inst.need_read_mq) | ||
| 32 | inst.mq = mq; | ||
| 31 | if (inst.read_ctlreg.has_value()) | 33 | if (inst.read_ctlreg.has_value()) |
| 32 | inst.ctlval = ctlregs[*inst.read_ctlreg]; | 34 | inst.ctlval = ctlregs[*inst.read_ctlreg]; |
| 33 | inst.execute(); | 35 | inst.execute(); |
| @@ -35,6 +37,8 @@ void checker::execute() { | |||
| 35 | acc = inst.acc.value(); | 37 | acc = inst.acc.value(); |
| 36 | if (inst.need_write_link) | 38 | if (inst.need_write_link) |
| 37 | link = inst.link.value(); | 39 | link = inst.link.value(); |
| 40 | if (inst.need_write_mq) | ||
| 41 | mq = inst.mq.value(); | ||
| 38 | if (inst.write_ctlreg.has_value()) | 42 | if (inst.write_ctlreg.has_value()) |
| 39 | ctlregs[*inst.write_ctlreg] = inst.ctlval.value(); | 43 | ctlregs[*inst.write_ctlreg] = inst.ctlval.value(); |
| 40 | if (inst.need_exec_store) | 44 | if (inst.need_exec_store) |
