mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
Further cleanups to the TLCS900 disassemlber; fixed some paren spacing, converted a char[] buffer to std::string
This commit is contained in:
parent
06613b3dd1
commit
a05f144d1e
@ -1436,7 +1436,7 @@ static const char *const s_cond[16] =
|
||||
static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, int options)
|
||||
{
|
||||
const tlcs900inst *dasm;
|
||||
char buf[32];
|
||||
std::string buf;
|
||||
uint8_t op, op1;
|
||||
uint32_t imm;
|
||||
int flags = 0;
|
||||
@ -1449,56 +1449,57 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
/* Check for extended addressing modes */
|
||||
switch( dasm->mnemonic )
|
||||
{
|
||||
default:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
case M_80:
|
||||
sprintf( buf, "%s", s_reg32[op & 0x07] );
|
||||
buf = string_format("%s", s_reg32[op & 0x07]);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_80[ op ];
|
||||
break;
|
||||
|
||||
case M_88:
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+0x%02x", s_reg32[op & 0x07], imm );
|
||||
buf = string_format("%s+0x%02x", s_reg32[op & 0x07], imm);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_88[ op ];
|
||||
break;
|
||||
|
||||
case M_90:
|
||||
sprintf( buf, "%s", s_reg32[op & 0x07] );
|
||||
buf = string_format("%s", s_reg32[op & 0x07]);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_90[ op ];
|
||||
break;
|
||||
|
||||
case M_98:
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+0x%02x", s_reg32[op & 0x07], imm );
|
||||
buf = string_format("%s+0x%02x", s_reg32[op & 0x07], imm);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_98[ op ];
|
||||
break;
|
||||
|
||||
case M_A0:
|
||||
sprintf( buf, "%s", s_reg32[op & 0x07] );
|
||||
buf = string_format("%s", s_reg32[op & 0x07]);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_a0[ op ];
|
||||
break;
|
||||
|
||||
case M_A8:
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+0x%02x", s_reg32[op & 0x07], imm );
|
||||
buf = string_format("%s+0x%02x", s_reg32[op & 0x07], imm);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_a0[ op ];
|
||||
break;
|
||||
|
||||
case M_B0:
|
||||
sprintf( buf, "%s", s_reg32[op & 0x07] );
|
||||
buf = string_format("%s", s_reg32[op & 0x07]);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_b0[ op ];
|
||||
break;
|
||||
|
||||
case M_B8:
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+0x%02x", s_reg32[op & 0x07], imm );
|
||||
buf = string_format("%s+0x%02x", s_reg32[op & 0x07], imm);
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_b8[ op ];
|
||||
break;
|
||||
@ -1508,20 +1509,20 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
{
|
||||
case 0x00: /* 0xC0 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "0x%02x", imm );
|
||||
buf = string_format("0x%02x", imm);
|
||||
break;
|
||||
|
||||
case 0x01: /* 0xC1 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%04x", imm);
|
||||
break;
|
||||
|
||||
case 0x02: /* 0xC2 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
sprintf( buf, "0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
buf = string_format("0x%06x", imm);
|
||||
break;
|
||||
|
||||
case 0x03: /* 0xC3 */
|
||||
@ -1529,18 +1530,18 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm & 0x03 )
|
||||
{
|
||||
case 0x00:
|
||||
sprintf( buf, "%s", s_allreg32[imm] );
|
||||
buf = string_format("%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
op = imm;
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "%s+0x%04x", s_allreg32[op], imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("%s+0x%04x", s_allreg32[op], imm);
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
sprintf( buf, "unknown" );
|
||||
buf = string_format("unknown");
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
@ -1549,19 +1550,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case 0x03:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg8[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg8[op1]);
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg16[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg16[op1]);
|
||||
break;
|
||||
|
||||
case 0x13:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%06x", pc + pos + (int16_t)imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%06x", pc + pos + (int16_t)imm);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1570,12 +1571,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
|
||||
case 0x04: /* 0xC4 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "-%s", s_allreg32[imm] );
|
||||
buf = string_format("-%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x05: /* 0xC5 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+", s_allreg32[imm] );
|
||||
buf = string_format("%s+", s_allreg32[imm]);
|
||||
break;
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
@ -1585,12 +1586,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case oC8:
|
||||
if ( op & 0x08 )
|
||||
{
|
||||
sprintf( buf, "%s", s_reg8[ op & 0x07 ] );
|
||||
buf = string_format("%s", s_reg8[ op & 0x07 ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s", s_allreg8[imm] );
|
||||
buf = string_format("%s", s_allreg8[imm]);
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_c8[ op ];
|
||||
@ -1601,20 +1602,20 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
{
|
||||
case 0x00: /* 0xD0 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "0x%02x", imm );
|
||||
buf = string_format("0x%02x", imm);
|
||||
break;
|
||||
|
||||
case 0x01: /* 0xD1 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%04x", imm);
|
||||
break;
|
||||
|
||||
case 0x02: /* 0xD2 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
sprintf( buf, "0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
buf = string_format("0x%06x", imm);
|
||||
break;
|
||||
|
||||
case 0x03: /* 0xD3 */
|
||||
@ -1622,18 +1623,18 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm & 0x03 )
|
||||
{
|
||||
case 0x00:
|
||||
sprintf( buf, "%s", s_allreg32[imm] );
|
||||
buf = string_format("%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
op = imm;
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "%s+0x%04x", s_allreg32[op], imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("%s+0x%04x", s_allreg32[op], imm);
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
sprintf( buf, "unknown" );
|
||||
buf = string_format("unknown");
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
@ -1642,19 +1643,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case 0x03:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg8[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg8[op1]);
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg16[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg16[op1]);
|
||||
break;
|
||||
|
||||
case 0x13:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%06x", pc + pos + (int16_t)imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%06x", pc + pos + (int16_t)imm);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1663,12 +1664,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
|
||||
case 0x04: /* 0xD4 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "-%s", s_allreg32[imm] );
|
||||
buf = string_format("-%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x05: /* 0xD5 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+", s_allreg32[imm] );
|
||||
buf = string_format("%s+", s_allreg32[imm]);
|
||||
break;
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
@ -1678,12 +1679,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case oD8:
|
||||
if ( op & 0x08 )
|
||||
{
|
||||
sprintf( buf, "%s", s_reg16[ op & 0x07 ] );
|
||||
buf = string_format("%s", s_reg16[ op & 0x07 ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s", s_allreg16[imm] );
|
||||
buf = string_format("%s", s_allreg16[imm]);
|
||||
}
|
||||
|
||||
op = oprom[ pos++ ];
|
||||
@ -1695,20 +1696,20 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
{
|
||||
case 0x00: /* 0xE0 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "0x%02x", imm );
|
||||
buf = string_format("0x%02x", imm);
|
||||
break;
|
||||
|
||||
case 0x01: /* 0xE1 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%04x", imm);
|
||||
break;
|
||||
|
||||
case 0x02: /* 0xE2 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
sprintf( buf, "0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
buf = string_format("0x%06x", imm);
|
||||
break;
|
||||
|
||||
case 0x03: /* 0xE3 */
|
||||
@ -1716,18 +1717,18 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm & 0x03 )
|
||||
{
|
||||
case 0x00:
|
||||
sprintf( buf, "%s", s_allreg32[imm] );
|
||||
buf = string_format("%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
op = imm;
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "%s+0x%04x", s_allreg32[op], imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("%s+0x%04x", s_allreg32[op], imm);
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
sprintf( buf, "unknown" );
|
||||
buf = string_format("unknown");
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
@ -1736,19 +1737,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case 0x03:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg8[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg8[op1]);
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg16[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg16[op1]);
|
||||
break;
|
||||
|
||||
case 0x13:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%06x", pc + pos + (int16_t)imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%06x", pc + pos + (int16_t)imm);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1757,12 +1758,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
|
||||
case 0x04: /* 0xE4 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "-%s", s_allreg32[imm] );
|
||||
buf = string_format("-%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x05: /* 0xE5 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+", s_allreg32[imm] );
|
||||
buf = string_format("%s+", s_allreg32[imm]);
|
||||
break;
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
@ -1772,12 +1773,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case M_E8:
|
||||
if ( op & 0x08 )
|
||||
{
|
||||
sprintf( buf, "%s", s_reg32[ op & 0x07 ] );
|
||||
buf = string_format("%s", s_reg32[ op & 0x07 ]);
|
||||
}
|
||||
else
|
||||
{
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s", s_allreg32[imm] );
|
||||
buf = string_format("%s", s_allreg32[imm]);
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
dasm = &mnemonic_e8[ op ];
|
||||
@ -1788,20 +1789,20 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
{
|
||||
case 0x00: /* 0xF0 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "0x%02x", imm );
|
||||
buf = string_format("0x%02x", imm);
|
||||
break;
|
||||
|
||||
case 0x01: /* 0xF1 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%04x", imm);
|
||||
break;
|
||||
|
||||
case 0x02: /* 0xF2 */
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
sprintf( buf, "0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
buf = string_format("0x%06x", imm);
|
||||
break;
|
||||
|
||||
case 0x03: /* 0xF3 */
|
||||
@ -1809,18 +1810,18 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm & 0x03 )
|
||||
{
|
||||
case 0x00:
|
||||
sprintf( buf, "%s", s_allreg32[imm] );
|
||||
buf = string_format("%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
op = imm;
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "%s+0x%04x", s_allreg32[op], imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("%s+0x%04x", s_allreg32[op], imm);
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
sprintf( buf, "unknown" );
|
||||
buf = string_format("unknown");
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
@ -1829,19 +1830,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case 0x03:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg8[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg8[op1]);
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
op = oprom[ pos++ ];
|
||||
op1 = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+%s", s_allreg32[op], s_allreg16[op1] );
|
||||
buf = string_format("%s+%s", s_allreg32[op], s_allreg16[op1]);
|
||||
break;
|
||||
|
||||
case 0x13:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
sprintf( buf, "0x%06x", pc + pos + (int16_t)imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
buf = string_format("0x%06x", pc + pos + (int16_t)imm);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1850,12 +1851,12 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
|
||||
case 0x04: /* 0xF4 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "-%s", s_allreg32[imm] );
|
||||
buf = string_format("-%s", s_allreg32[imm]);
|
||||
break;
|
||||
|
||||
case 0x05: /* 0xF5 */
|
||||
imm = oprom[ pos++ ];
|
||||
sprintf( buf, "%s+", s_allreg32[imm] );
|
||||
buf = string_format("%s+", s_allreg32[imm]);
|
||||
break;
|
||||
}
|
||||
op = oprom[ pos++ ];
|
||||
@ -1863,13 +1864,13 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
break;
|
||||
}
|
||||
|
||||
util::stream_format(stream, "%s", s_mnemonic[ dasm->mnemonic ] );
|
||||
util::stream_format(stream, "%s", s_mnemonic[ dasm->mnemonic ]);
|
||||
|
||||
switch( dasm->mnemonic )
|
||||
{
|
||||
default:
|
||||
/* maybe assert */
|
||||
break;
|
||||
default:
|
||||
/* maybe assert */
|
||||
break;
|
||||
case M_CALL:
|
||||
case M_CALR:
|
||||
flags = DASMFLAG_STEP_OVER;
|
||||
@ -1887,27 +1888,27 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
break;
|
||||
|
||||
case O_A:
|
||||
util::stream_format(stream, " A" );
|
||||
util::stream_format(stream, " A");
|
||||
break;
|
||||
|
||||
case O_C8:
|
||||
util::stream_format(stream, " %s", s_reg8[op & 0x07] );
|
||||
util::stream_format(stream, " %s", s_reg8[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_C16:
|
||||
util::stream_format(stream, " %s", s_reg16[op & 0x07] );
|
||||
util::stream_format(stream, " %s", s_reg16[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_C32:
|
||||
util::stream_format(stream, " %s", s_reg32[op & 0x07] );
|
||||
util::stream_format(stream, " %s", s_reg32[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_MC16:
|
||||
util::stream_format(stream, " %s", s_mulreg16[op & 0x07] );
|
||||
util::stream_format(stream, " %s", s_mulreg16[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_CC:
|
||||
util::stream_format(stream, " %s", s_cond[op & 0x0F] );
|
||||
util::stream_format(stream, " %s", s_cond[op & 0x0F]);
|
||||
break;
|
||||
|
||||
case O_CR8:
|
||||
@ -1915,19 +1916,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x22:
|
||||
util::stream_format(stream, " DMAM0" );
|
||||
util::stream_format(stream, " DMAM0");
|
||||
break;
|
||||
case 0x26:
|
||||
util::stream_format(stream, " DMAM1" );
|
||||
util::stream_format(stream, " DMAM1");
|
||||
break;
|
||||
case 0x2a:
|
||||
util::stream_format(stream, " DMAM2" );
|
||||
util::stream_format(stream, " DMAM2");
|
||||
break;
|
||||
case 0x2e:
|
||||
util::stream_format(stream, " DMAM3" );
|
||||
util::stream_format(stream, " DMAM3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, " unknown" );
|
||||
util::stream_format(stream, " unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1937,19 +1938,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x20:
|
||||
util::stream_format(stream, " DMAC0" );
|
||||
util::stream_format(stream, " DMAC0");
|
||||
break;
|
||||
case 0x24:
|
||||
util::stream_format(stream, " DMAC1" );
|
||||
util::stream_format(stream, " DMAC1");
|
||||
break;
|
||||
case 0x28:
|
||||
util::stream_format(stream, " DMAC2" );
|
||||
util::stream_format(stream, " DMAC2");
|
||||
break;
|
||||
case 0x2c:
|
||||
util::stream_format(stream, " DMAC3" );
|
||||
util::stream_format(stream, " DMAC3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, " unknown" );
|
||||
util::stream_format(stream, " unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -1959,78 +1960,78 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x00:
|
||||
util::stream_format(stream, " DMAS0" );
|
||||
util::stream_format(stream, " DMAS0");
|
||||
break;
|
||||
case 0x04:
|
||||
util::stream_format(stream, " DMAS1" );
|
||||
util::stream_format(stream, " DMAS1");
|
||||
break;
|
||||
case 0x08:
|
||||
util::stream_format(stream, " DMAS2" );
|
||||
util::stream_format(stream, " DMAS2");
|
||||
break;
|
||||
case 0x0c:
|
||||
util::stream_format(stream, " DMAS3" );
|
||||
util::stream_format(stream, " DMAS3");
|
||||
break;
|
||||
case 0x10:
|
||||
util::stream_format(stream, " DMAD0" );
|
||||
util::stream_format(stream, " DMAD0");
|
||||
break;
|
||||
case 0x14:
|
||||
util::stream_format(stream, " DMAD1" );
|
||||
util::stream_format(stream, " DMAD1");
|
||||
break;
|
||||
case 0x18:
|
||||
util::stream_format(stream, " DMAD2" );
|
||||
util::stream_format(stream, " DMAD2");
|
||||
break;
|
||||
case 0x1c:
|
||||
util::stream_format(stream, " DMAD3" );
|
||||
util::stream_format(stream, " DMAD3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, " unknown" );
|
||||
util::stream_format(stream, " unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case O_D8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, " 0x%06x", ( pc + pos + (int8_t)imm ) & 0xFFFFFF );
|
||||
util::stream_format(stream, " 0x%06x", ( pc + pos + (int8_t)imm ) & 0xFFFFFF);
|
||||
break;
|
||||
|
||||
case O_D16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, " 0x%06x", ( pc + pos + (int16_t)imm ) & 0xFFFFFF );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, " 0x%06x", ( pc + pos + (int16_t)imm ) & 0xFFFFFF);
|
||||
break;
|
||||
|
||||
case O_F:
|
||||
util::stream_format(stream, " F" );
|
||||
util::stream_format(stream, " F");
|
||||
break;
|
||||
|
||||
case O_I3:
|
||||
util::stream_format(stream, " %d", op & 0x07 );
|
||||
util::stream_format(stream, " %d", op & 0x07);
|
||||
break;
|
||||
|
||||
case O_I8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, " 0x%02x", imm );
|
||||
util::stream_format(stream, " 0x%02x", imm);
|
||||
break;
|
||||
|
||||
case O_I16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, " 0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, " 0x%04x", imm);
|
||||
break;
|
||||
|
||||
case O_I24:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
util::stream_format(stream, " 0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
util::stream_format(stream, " 0x%06x", imm);
|
||||
break;
|
||||
|
||||
case O_I32:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
imm = imm | ( oprom[ pos++ ] << 24 );
|
||||
util::stream_format(stream, "0x%08x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
imm = imm | ( oprom[ pos++ ] << 24);
|
||||
util::stream_format(stream, "0x%08x", imm);
|
||||
break;
|
||||
|
||||
case O_M:
|
||||
@ -2039,31 +2040,31 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case M_CALL:
|
||||
case M_JP:
|
||||
case M_LDA:
|
||||
util::stream_format(stream, " %s", buf );
|
||||
util::stream_format(stream, " %s", buf);
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, " (%s)", buf );
|
||||
util::stream_format(stream, " (%s)", buf);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case O_M8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, " (0x%02x)", imm );
|
||||
util::stream_format(stream, " (0x%02x)", imm);
|
||||
break;
|
||||
|
||||
case O_M16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, " (0x%04x)", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, " (0x%04x)", imm);
|
||||
break;
|
||||
|
||||
case O_R:
|
||||
util::stream_format(stream, " %s", buf );
|
||||
util::stream_format(stream, " %s", buf);
|
||||
break;
|
||||
|
||||
case O_SR:
|
||||
util::stream_format(stream, " SR" );
|
||||
util::stream_format(stream, " SR");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2073,27 +2074,27 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
break;
|
||||
|
||||
case O_A:
|
||||
util::stream_format(stream, ",A" );
|
||||
util::stream_format(stream, ",A");
|
||||
break;
|
||||
|
||||
case O_C8:
|
||||
util::stream_format(stream, ",%s", s_reg8[op & 0x07] );
|
||||
util::stream_format(stream, ",%s", s_reg8[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_C16:
|
||||
util::stream_format(stream, ",%s", s_reg16[op & 0x07] );
|
||||
util::stream_format(stream, ",%s", s_reg16[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_C32:
|
||||
util::stream_format(stream, ",%s", s_reg32[op & 0x07] );
|
||||
util::stream_format(stream, ",%s", s_reg32[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_MC16:
|
||||
util::stream_format(stream, ",%s", s_mulreg16[op & 0x07] );
|
||||
util::stream_format(stream, ",%s", s_mulreg16[op & 0x07]);
|
||||
break;
|
||||
|
||||
case O_CC:
|
||||
util::stream_format(stream, ",%s", s_cond[op & 0x0F] );
|
||||
util::stream_format(stream, ",%s", s_cond[op & 0x0F]);
|
||||
break;
|
||||
|
||||
case O_CR8:
|
||||
@ -2101,19 +2102,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x22:
|
||||
util::stream_format(stream, ",DMAM0" );
|
||||
util::stream_format(stream, ",DMAM0");
|
||||
break;
|
||||
case 0x26:
|
||||
util::stream_format(stream, ",DMAM1" );
|
||||
util::stream_format(stream, ",DMAM1");
|
||||
break;
|
||||
case 0x2a:
|
||||
util::stream_format(stream, ",DMAM2" );
|
||||
util::stream_format(stream, ",DMAM2");
|
||||
break;
|
||||
case 0x2e:
|
||||
util::stream_format(stream, ",DMAM3" );
|
||||
util::stream_format(stream, ",DMAM3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, ",unknown" );
|
||||
util::stream_format(stream, ",unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -2123,19 +2124,19 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x20:
|
||||
util::stream_format(stream, ",DMAC0" );
|
||||
util::stream_format(stream, ",DMAC0");
|
||||
break;
|
||||
case 0x24:
|
||||
util::stream_format(stream, ",DMAC1" );
|
||||
util::stream_format(stream, ",DMAC1");
|
||||
break;
|
||||
case 0x28:
|
||||
util::stream_format(stream, ",DMAC2" );
|
||||
util::stream_format(stream, ",DMAC2");
|
||||
break;
|
||||
case 0x2c:
|
||||
util::stream_format(stream, ",DMAC3" );
|
||||
util::stream_format(stream, ",DMAC3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, ",unknown" );
|
||||
util::stream_format(stream, ",unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -2145,78 +2146,78 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
switch( imm )
|
||||
{
|
||||
case 0x00:
|
||||
util::stream_format(stream, ",DMAS0" );
|
||||
util::stream_format(stream, ",DMAS0");
|
||||
break;
|
||||
case 0x04:
|
||||
util::stream_format(stream, ",DMAS1" );
|
||||
util::stream_format(stream, ",DMAS1");
|
||||
break;
|
||||
case 0x08:
|
||||
util::stream_format(stream, ",DMAS2" );
|
||||
util::stream_format(stream, ",DMAS2");
|
||||
break;
|
||||
case 0x0c:
|
||||
util::stream_format(stream, ",DMAS3" );
|
||||
util::stream_format(stream, ",DMAS3");
|
||||
break;
|
||||
case 0x10:
|
||||
util::stream_format(stream, ",DMAD0" );
|
||||
util::stream_format(stream, ",DMAD0");
|
||||
break;
|
||||
case 0x14:
|
||||
util::stream_format(stream, ",DMAD1" );
|
||||
util::stream_format(stream, ",DMAD1");
|
||||
break;
|
||||
case 0x18:
|
||||
util::stream_format(stream, ",DMAD2" );
|
||||
util::stream_format(stream, ",DMAD2");
|
||||
break;
|
||||
case 0x1c:
|
||||
util::stream_format(stream, ",DMAD3" );
|
||||
util::stream_format(stream, ",DMAD3");
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, ",unknown" );
|
||||
util::stream_format(stream, ",unknown");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case O_D8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, ",0x%06x", ( pc + pos + (int8_t)imm ) & 0xFFFFFF );
|
||||
util::stream_format(stream, ",0x%06x", ( pc + pos + (int8_t)imm ) & 0xFFFFFF);
|
||||
break;
|
||||
|
||||
case O_D16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, ",0x%06x", ( pc + pos + (int16_t)imm ) & 0xFFFFFF );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, ",0x%06x", ( pc + pos + (int16_t)imm ) & 0xFFFFFF);
|
||||
break;
|
||||
|
||||
case O_F:
|
||||
util::stream_format(stream, ",F'" );
|
||||
util::stream_format(stream, ",F'");
|
||||
break;
|
||||
|
||||
case O_I3:
|
||||
util::stream_format(stream, ",%d", op & 0x07 );
|
||||
util::stream_format(stream, ",%d", op & 0x07);
|
||||
break;
|
||||
|
||||
case O_I8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, ",0x%02x", imm );
|
||||
util::stream_format(stream, ",0x%02x", imm);
|
||||
break;
|
||||
|
||||
case O_I16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, ",0x%04x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, ",0x%04x", imm);
|
||||
break;
|
||||
|
||||
case O_I24:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
util::stream_format(stream, ",0x%06x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
util::stream_format(stream, ",0x%06x", imm);
|
||||
break;
|
||||
|
||||
case O_I32:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
imm = imm | ( oprom[ pos++ ] << 16 );
|
||||
imm = imm | ( oprom[ pos++ ] << 24 );
|
||||
util::stream_format(stream, ",0x%08x", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
imm = imm | ( oprom[ pos++ ] << 16);
|
||||
imm = imm | ( oprom[ pos++ ] << 24);
|
||||
util::stream_format(stream, ",0x%08x", imm);
|
||||
break;
|
||||
|
||||
case O_M:
|
||||
@ -2225,31 +2226,31 @@ static offs_t internal_disasm_tlcs900(cpu_device *device, std::ostream &stream,
|
||||
case M_CALL:
|
||||
case M_JP:
|
||||
case M_LDA:
|
||||
util::stream_format(stream, ",%s", buf );
|
||||
util::stream_format(stream, ",%s", buf);
|
||||
break;
|
||||
default:
|
||||
util::stream_format(stream, ",(%s)", buf );
|
||||
util::stream_format(stream, ",(%s)", buf);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case O_M8:
|
||||
imm = oprom[ pos++ ];
|
||||
util::stream_format(stream, ",(0x%02x)", imm );
|
||||
util::stream_format(stream, ",(0x%02x)", imm);
|
||||
break;
|
||||
|
||||
case O_M16:
|
||||
imm = oprom[ pos++ ];
|
||||
imm = imm | ( oprom[ pos++ ] << 8 );
|
||||
util::stream_format(stream, ",(0x%04x)", imm );
|
||||
imm = imm | ( oprom[ pos++ ] << 8);
|
||||
util::stream_format(stream, ",(0x%04x)", imm);
|
||||
break;
|
||||
|
||||
case O_R:
|
||||
util::stream_format(stream, ",%s", buf );
|
||||
util::stream_format(stream, ",%s", buf);
|
||||
break;
|
||||
|
||||
case O_SR:
|
||||
util::stream_format(stream, ",SR" );
|
||||
util::stream_format(stream, ",SR");
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user