summaryrefslogtreecommitdiff
path: root/isa/decode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'isa/decode.cpp')
-rw-r--r--isa/decode.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/isa/decode.cpp b/isa/decode.cpp
index f0cdca8..abcb3e3 100644
--- a/isa/decode.cpp
+++ b/isa/decode.cpp
@@ -88,15 +88,15 @@ instruction_context decode(std::uint_fast32_t flags, unsigned int pc, unsigned i
88#pragma GCC diagnostic pop 88#pragma GCC diagnostic pop
89 89
90 instruction_context inst; 90 instruction_context inst;
91 inst.bits = bits;
92 inst.next_pc = (pc & ~07777) | ((pc + 1) & 07777);
93
94 if (interrupt) { 91 if (interrupt) {
95 inst.bits = bits = 04000; 92 inst.bits = bits = 04000;
96 assert(df == 0); 93 assert(df == 0);
97 assert(ifb == 0); 94 assert(ifb == 0);
98 inst.next_pc = pc; 95 inst.next_pc = pc;
99 pc = 0; 96 pc = 0;
97 } else {
98 inst.bits = bits;
99 inst.next_pc = (pc & ~07777) | ((pc + 1) & 07777);
100 } 100 }
101 101
102 switch (bits >> 9) { 102 switch (bits >> 9) {