diff options
Diffstat (limited to '')
| -rw-r--r-- | isa/isa.h | 3 |
1 files changed, 3 insertions, 0 deletions
| @@ -22,9 +22,11 @@ struct instruction_context { | |||
| 22 | bool need_exec_load = false; // data = mem[final_address] | 22 | bool need_exec_load = false; // data = mem[final_address] |
| 23 | bool need_read_acc = false; // acc = %acc | 23 | bool need_read_acc = false; // acc = %acc |
| 24 | bool need_read_link = false; // link = %link | 24 | bool need_read_link = false; // link = %link |
| 25 | bool need_read_mq = false; // mq = %mq | ||
| 25 | std::optional<ctlreg> read_ctlreg; // ctlval = %[read_ctlreg] | 26 | std::optional<ctlreg> read_ctlreg; // ctlval = %[read_ctlreg] |
| 26 | bool need_write_acc = false; // %acc = acc | 27 | bool need_write_acc = false; // %acc = acc |
| 27 | bool need_write_link = false; // %link = link | 28 | bool need_write_link = false; // %link = link |
| 29 | bool need_write_mq = false; // %mq = mq | ||
| 28 | std::optional<ctlreg> write_ctlreg; // %[write_ctlreg] = ctlval | 30 | std::optional<ctlreg> write_ctlreg; // %[write_ctlreg] = ctlval |
| 29 | bool need_exec_store = false; // mem[final_address] = data | 31 | bool need_exec_store = false; // mem[final_address] = data |
| 30 | bool possibly_redirects = false; // %pc = next_pc | 32 | bool possibly_redirects = false; // %pc = next_pc |
| @@ -40,6 +42,7 @@ struct instruction_context { | |||
| 40 | std::optional<unsigned int> data; | 42 | std::optional<unsigned int> data; |
| 41 | std::optional<unsigned int> acc; | 43 | std::optional<unsigned int> acc; |
| 42 | std::optional<bool> link; | 44 | std::optional<bool> link; |
| 45 | std::optional<unsigned int> mq; | ||
| 43 | bool halt = false; | 46 | bool halt = false; |
| 44 | }; | 47 | }; |
| 45 | 48 | ||
