diff options
| author | Julian Blake Kongslie | 2022-10-15 14:30:18 -0700 |
|---|---|---|
| committer | Julian Blake Kongslie | 2022-10-15 14:30:18 -0700 |
| commit | d4de41da0bd70a51aeb26b3d1a8d70bd59b3447e (patch) | |
| tree | 292c0601791108082460e05d126e694d6164e117 /isa/isa.h | |
| parent | Restrict SOURCES to visible top-level directories. (diff) | |
| download | biggolf-d4de41da0bd70a51aeb26b3d1a8d70bd59b3447e.tar.xz | |
Add MQ register support.
Diffstat (limited to 'isa/isa.h')
| -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 | ||
