diff --git a/src/devices/cpu/tms34010/34010dsm.cpp b/src/devices/cpu/tms34010/34010dsm.cpp index d6fa113e6f3..f4bad3089ee 100644 --- a/src/devices/cpu/tms34010/34010dsm.cpp +++ b/src/devices/cpu/tms34010/34010dsm.cpp @@ -19,6 +19,7 @@ #define OP_WORD(v) { v = rombase[(__pc - pcbase) >> 3] | (rombase[(__pc + 8 - pcbase) >> 3] << 8); _pc += 16; } #define PARAM_WORD(v) { v = rambase[(__pc + 16 - pcbase) >> 3] | (rambase[(__pc + 24 - pcbase) >> 3] << 8); _pc += 16; } #define PARAM_LONG(v) { v = rambase[(__pc + 16 - pcbase) >> 3] | (rambase[(__pc + 24 - pcbase) >> 3] << 8) | (rambase[(__pc + 32 - pcbase) >> 3] << 16) | (rambase[(__pc + 40 - pcbase) >> 3] << 24); _pc += 32; } +#define PARM2_LONG(v) { v = rambase[(__pc + 48 - pcbase) >> 3] | (rambase[(__pc + 56 - pcbase) >> 3] << 8) | (rambase[(__pc + 64 - pcbase) >> 3] << 16) | (rambase[(__pc + 72 - pcbase) >> 3] << 24); _pc += 32; } #endif static uint8_t rf; @@ -85,6 +86,14 @@ static void print_long_parm(std::ostream &stream) util::stream_format(stream, "%Xh", l); } +static void print_long_parm2(std::ostream &stream) +{ + uint32_t l; + + PARM2_LONG(l); + util::stream_format(stream, "%Xh", l); +} + static void print_long_parm_1s_comp(std::ostream &stream) { uint32_t l; @@ -387,7 +396,7 @@ static unsigned Dasm340x0(std::ostream &stream, uint32_t pc, bool is_34020) util::stream_format(stream, "MOVB @"); print_long_parm(stream); stream << ",@"; - print_long_parm(stream); + print_long_parm2(stream); break; case 0x0160: @@ -590,7 +599,7 @@ static unsigned Dasm340x0(std::ostream &stream, uint32_t pc, bool is_34020) util::stream_format(stream, "MOVE @"); print_long_parm(stream); stream << ",@"; - print_long_parm(stream); + print_long_parm2(stream); stream << ","; print_field(stream); break;