diff options
Diffstat (limited to 'src/devices/cpu/dsp56000/dsp56000d.cpp')
-rw-r--r-- | src/devices/cpu/dsp56000/dsp56000d.cpp | 32 |
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 |