summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-10-10 13:26:50 -0400
committer AJR <ajrhacker@users.noreply.github.com>2021-10-10 13:27:16 -0400
commit7d2f6ce95c8593b6e76788317cf6db20febb6b44 (patch)
treee9902f92d735893866c17d8d975baa27af4ca683 /src/devices
parentbb75d673791b751c14b56d77a6aa5eb6de57995b (diff)
m88000d: Clean up over/out flagging
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/cpu/m88000/m88000d.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/devices/cpu/m88000/m88000d.cpp b/src/devices/cpu/m88000/m88000d.cpp
index 26ba54afc2a..dec64ac757c 100644
--- a/src/devices/cpu/m88000/m88000d.cpp
+++ b/src/devices/cpu/m88000/m88000d.cpp
@@ -1143,10 +1143,12 @@ offs_t m88000_disassembler::dasm_jump(std::ostream &stream, const char *mnemonic
util::stream_format(stream, "%-12sr%d", mnemonic, inst & 0x0000001f);
// Set flags for jump to subroutine, return to r1 and/or optional delay slot
- return 4 | SUPPORTED |
- ((inst & 0x0000081f) == 0x00000001 ? STEP_OUT : 0) |
- (BIT(inst, 11) ? STEP_OVER : 0) |
- (BIT(inst, 10) ? STEP_OVER | step_over_extra(1) : 0);
+ if (BIT(inst, 11))
+ return 4 | SUPPORTED | STEP_OVER | (BIT(inst, 10) ? step_over_extra(1) : 0);
+ else if ((inst & 0x0000001f) == 0x00000001)
+ return 4 | SUPPORTED | STEP_OUT | (BIT(inst, 10) ? step_over_extra(1) : 0);
+ else
+ return 4 | SUPPORTED;
}
offs_t m88000_disassembler::dasm_vec9(std::ostream &stream, const char *mnemonic, u32 inst)
@@ -1183,9 +1185,10 @@ offs_t m88000_disassembler::dasm_d26(std::ostream &stream, const char *mnemonic,
util::stream_format(stream, "%-12s$%08x", mnemonic, pc + disp);
// Set flags for branch to subroutine and/or optional delay slot
- return 4 | SUPPORTED |
- (BIT(inst, 27) ? STEP_OVER : 0) |
- (BIT(inst, 26) ? STEP_OVER | step_over_extra(1) : 0);
+ if (BIT(inst, 27))
+ return 4 | SUPPORTED | STEP_OVER | (BIT(inst, 26) ? step_over_extra(1) : 0);
+ else
+ return 4 | SUPPORTED;
}
offs_t m88000_disassembler::dasm_none(std::ostream &stream, const char *mnemonic, u32 inst)