mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Changed the PowerPC disassembler to use 'std::ostream &' internally
This commit is contained in:
parent
be110a64f3
commit
4651b54094
@ -835,7 +835,7 @@ static int Simplified(uint32_t op, uint32_t vpc, char *signed16, char *mnem, cha
|
||||
return 1;
|
||||
}
|
||||
|
||||
offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op)
|
||||
offs_t ppc_dasm_one(std::ostream &stream, uint32_t pc, uint32_t op)
|
||||
{
|
||||
char signed16[12];
|
||||
uint32_t disp;
|
||||
@ -858,11 +858,11 @@ offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op)
|
||||
*/
|
||||
|
||||
if( Simplified(op, pc, signed16, mnem, oprs) ) {
|
||||
buffer += sprintf(buffer, "%s", mnem);
|
||||
util::stream_format(stream, "%s", mnem);
|
||||
for( j = strlen(mnem); j < 10; j++ ) {
|
||||
buffer += sprintf(buffer, " ");
|
||||
util::stream_format(stream, " ");
|
||||
}
|
||||
buffer += sprintf(buffer, "%s", oprs);
|
||||
util::stream_format(stream, "%s", oprs);
|
||||
return 4 | flags;
|
||||
}
|
||||
|
||||
@ -1156,19 +1156,28 @@ offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op)
|
||||
else if (itab[i].flags & FL_SO)
|
||||
flags |= DASMFLAG_STEP_OUT;
|
||||
|
||||
buffer += sprintf(buffer, "%s", mnem);
|
||||
util::stream_format(stream, "%s", mnem);
|
||||
for( j = strlen(mnem); j < 10; j++ ) {
|
||||
buffer += sprintf(buffer, " ");
|
||||
util::stream_format(stream, " ");
|
||||
}
|
||||
buffer += sprintf(buffer, "%s", oprs);
|
||||
util::stream_format(stream, "%s", oprs);
|
||||
return 4 | flags;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(buffer, "?");
|
||||
util::stream_format(stream, "?");
|
||||
return 4 | flags;
|
||||
}
|
||||
|
||||
offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op)
|
||||
{
|
||||
std::ostringstream stream;
|
||||
offs_t result = ppc_dasm_one(stream, pc, op);
|
||||
std::string stream_str = stream.str();
|
||||
strcpy(buffer, stream_str.c_str());
|
||||
return result;
|
||||
}
|
||||
|
||||
CPU_DISASSEMBLE( powerpc )
|
||||
{
|
||||
uint32_t op = *(uint32_t *)oprom;
|
||||
|
@ -475,6 +475,7 @@ enum
|
||||
#define G_TO(op) ((op & M_TO) >> (31 - 10))
|
||||
#define G_XO(op) ((op & M_XO) >> (31 - 30))
|
||||
|
||||
extern offs_t ppc_dasm_one(std::ostream &stream, uint32_t pc, uint32_t op);
|
||||
extern offs_t ppc_dasm_one(char *buffer, uint32_t pc, uint32_t op);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user