summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/dsp56000/dsp56000d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/dsp56000/dsp56000d.cpp')
-rw-r--r--src/devices/cpu/dsp56000/dsp56000d.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/devices/cpu/dsp56000/dsp56000d.cpp b/src/devices/cpu/dsp56000/dsp56000d.cpp
index d4eca19f3c6..a4d4baea05a 100644
--- a/src/devices/cpu/dsp56000/dsp56000d.cpp
+++ b/src/devices/cpu/dsp56000/dsp56000d.cpp
@@ -17,7 +17,7 @@ static char const* const JJD[] =
static char const* const JJJD[] =
{
- "b,a", "a,b", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ "b,a", "a,b", "?", "?", "?", "?", "?", "?",
"x0,a", "x0,b", "y0,a", "y0,b", "x1,a", "x1,b", "y1,a", "y1,b",
};
@@ -35,7 +35,7 @@ static char const* const LLL[] = { "a10", "b10", "x", "y", "a", "b", "ab", "ba"
static char const* const FFF[] = { "m0", "m1", "m2", "m3", "m4", "m5", "m6", "m7" };
static char const* const NNN[] = { "n0", "n1", "n2", "n3", "n4", "n5", "n6", "n7" };
static char const* const TTT[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7" };
-static char const* const GGG[] = { nullptr, "sr", "omr", "sp", "ssh", "ssl", "la", "lc" };
+static char const* const GGG[] = { "?", "sr", "omr", "sp", "ssh", "ssl", "la", "lc" };
static char const* const QQQ[] = { "x0,x0", "y0,y0", "x1,x0", "y1,y0", "x0,y1", "y0,x0", "x1,y0", "y1,x1" };
@@ -369,9 +369,9 @@ offs_t dsp56000_disassembler::disassemble(std::ostream &stream, offs_t pc, data_
switch (op & 0x010020U)
{
case 0x000000U: util::stream_format(stream, "jmp %s", ea(MMMRRR, ew)); break;
- case 0x000020U: util::stream_format(stream, "j%s %s", CCCC[op & 15], ea(MMMRRR, ew)); break;
- case 0x010000U: util::stream_format(stream, "jsr %s", ea(MMMRRR, ew)); break;
- case 0x010020U: util::stream_format(stream, "js%s %s", CCCC[op & 15], ea(MMMRRR, ew)); break;
+ case 0x000020U: util::stream_format(stream, "j%s %s", CCCC[op & 15], ea(MMMRRR, ew)); flags |= STEP_COND; break;
+ case 0x010000U: util::stream_format(stream, "jsr %s", ea(MMMRRR, ew)); flags |= STEP_OVER; break;
+ case 0x010020U: util::stream_format(stream, "js%s %s", CCCC[op & 15], ea(MMMRRR, ew)); flags |= STEP_OVER | STEP_COND; break;
}
// consume absolute
@@ -385,12 +385,12 @@ offs_t dsp56000_disassembler::disassemble(std::ostream &stream, offs_t pc, data_
switch (op & 0x010060U)
{
- case 0x000000U: util::stream_format(stream, "jclr #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; break;
- case 0x000020U: util::stream_format(stream, "jset #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; break;
+ case 0x000000U: util::stream_format(stream, "jclr #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; flags |= STEP_COND; break;
+ case 0x000020U: util::stream_format(stream, "jset #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; flags |= STEP_COND; break;
case 0x000040U: util::stream_format(stream, "bclr #%d,%s", op & 31, reg(dddddd)); break;
case 0x000060U: util::stream_format(stream, "bset #%d,%s", op & 31, reg(dddddd)); break;
- case 0x010000U: util::stream_format(stream, "jsclr #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; break;
- case 0x010020U: util::stream_format(stream, "jsset #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; break;
+ case 0x010000U: util::stream_format(stream, "jsclr #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; flags |= STEP_OVER | STEP_COND; break;
+ case 0x010020U: util::stream_format(stream, "jsset #%d,%s,$%x", op & 31, reg(dddddd), u16(ew)); words++; flags |= STEP_OVER | STEP_COND; break;
case 0x010040U: util::stream_format(stream, "bchg #%d,%s", op & 31, reg(dddddd)); break;
case 0x010060U: util::stream_format(stream, "btst #%d,%s", op & 31, reg(dddddd)); break;
}
@@ -405,12 +405,12 @@ offs_t dsp56000_disassembler::disassemble(std::ostream &stream, offs_t pc, data_
{
case 0x000000U: util::stream_format(stream, "bclr #%d", op & 31); break;
case 0x000020U: util::stream_format(stream, "bset #%d", op & 31); break;
- case 0x000080U: util::stream_format(stream, "jclr #%d", op & 31); break;
- case 0x0000a0U: util::stream_format(stream, "jset #%d", op & 31); break;
+ case 0x000080U: util::stream_format(stream, "jclr #%d", op & 31); flags |= STEP_COND; break;
+ case 0x0000a0U: util::stream_format(stream, "jset #%d", op & 31); flags |= STEP_COND; break;
case 0x010000U: util::stream_format(stream, "bchg #%d", op & 31); break;
case 0x010020U: util::stream_format(stream, "btst #%d", op & 31); break;
- case 0x010080U: util::stream_format(stream, "jsclr #%d", op & 31); break;
- case 0x0100a0U: util::stream_format(stream, "jsset #%d", op & 31); break;
+ case 0x010080U: util::stream_format(stream, "jsclr #%d", op & 31); flags |= STEP_OVER | STEP_COND; break;
+ case 0x0100a0U: util::stream_format(stream, "jsset #%d", op & 31); flags |= STEP_OVER | STEP_COND; break;
}
// second operand (address)
@@ -432,9 +432,9 @@ offs_t dsp56000_disassembler::disassemble(std::ostream &stream, offs_t pc, data_
}
break;
case 0xc: util::stream_format(stream, "jmp <$%x", op & 0xfff); break;
- case 0xd: util::stream_format(stream, "jsr <$%x", op & 0xfff); break;
- case 0xe: util::stream_format(stream, "j%s <$%x", CCCC[(op >> 12) & 15], op & 0xfff); break;
- case 0xf: util::stream_format(stream, "js%s <$%x", CCCC[(op >> 12) & 15], op & 0xfff); break;
+ case 0xd: util::stream_format(stream, "jsr <$%x", op & 0xfff); flags |= STEP_OVER; break;
+ case 0xe: util::stream_format(stream, "j%s <$%x", CCCC[(op >> 12) & 15], op & 0xfff); flags |= STEP_COND; break;
+ case 0xf: util::stream_format(stream, "js%s <$%x", CCCC[(op >> 12) & 15], op & 0xfff); flags |= STEP_OVER | STEP_COND; break;
}
}
else