summaryrefslogtreecommitdiff
path: root/sux.h
diff options
context:
space:
mode:
Diffstat (limited to 'sux.h')
-rw-r--r--sux.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sux.h b/sux.h
index 4ff992e..abc6b7f 100644
--- a/sux.h
+++ b/sux.h
@@ -50,6 +50,7 @@ static inline uint64_t get_addr(struct sux *cpu, uint64_t *tmpaddr, uint8_t opco
address.u64 = 0;
value.u64 = 0;
switch (optype[opcode]) {
+ case BREG:
case IMPL:
break;
case IMM:
@@ -125,6 +126,7 @@ static inline uint64_t get_addr(struct sux *cpu, uint64_t *tmpaddr, uint8_t opco
iclk++;
#endif
}
+ /* Falls Through. */
case IND:
setreg(value.u8, +, 0, addr, +, address.u64, 7);
#if getclk
@@ -293,7 +295,7 @@ static inline void mul(struct sux *cpu, uint64_t value, uint8_t thread) {
static inline void divd(struct sux *cpu, uint64_t value, uint8_t opcode, uint8_t thread) {
uint64_t sum = cpu->a/value;
- if (opcode != DAB_IMP) {
+ if (opcode != DIV_B) {
cpu->b = cpu->a % value;
} else {
value = cpu->b;
@@ -364,4 +366,3 @@ static inline void store(struct sux *cpu, uint64_t address, uint64_t reg, uint8_
#endif
#endif
}
-