[RSP] installed LWC2 mnemonics matrix to the command stepper

This commit is contained in:
unknown 2015-06-20 00:11:44 -04:00
parent 56369a4214
commit e503041f5d
1 changed files with 27 additions and 52 deletions

View File

@ -842,6 +842,12 @@ static const char* mnemonics_vector[8 << 3] = {
"VRCP" ,"VRCPL" ,"VRCPH" ,"VMOV" ,"VRSQ" ,"VRSQL" ,"VRSQH" ,"VNOP" , "VRCP" ,"VRCPL" ,"VRCPH" ,"VMOV" ,"VRSQ" ,"VRSQL" ,"VRSQH" ,"VNOP" ,
unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op, unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,
};/* 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 */ };/* 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 */
static const char* mnemonics_lwc2[8 << 2] = {
"LBV" ,"LSV" ,"LLV" ,"LDV" ,"LQV" ,"LRV" ,"LPV" ,"LUV" ,
"LHV" ,"LFV" ,unused_op,"LTV" ,unused_op,unused_op,unused_op,unused_op,
unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,
unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,unused_op,
};/* 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 */
char * RSPSpecialName ( DWORD OpCode, DWORD PC ) char * RSPSpecialName ( DWORD OpCode, DWORD PC )
{ {
@ -1233,59 +1239,28 @@ char * RSPLc2Name ( DWORD OpCode, DWORD PC )
PC = PC; // unused PC = PC; // unused
switch (command.rd) if (strcmp(mnemonics_lwc2[command.rd], unused_op) == 0)
{ {
case RSP_LSC2_BV: sprintf(
sprintf(CommandName,"LBV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del, CommandName,
command.voffset, GPR_Name(command.base)); "RSP: Unknown\t%02X %02X %02X %02X",
break; command.Ascii[3],
case RSP_LSC2_SV: command.Ascii[2],
sprintf(CommandName,"LSV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del, command.Ascii[1],
(command.voffset << 1), GPR_Name(command.base)); command.Ascii[0]
break; );
case RSP_LSC2_LV: }
sprintf(CommandName,"LLV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del, else
(command.voffset << 2), GPR_Name(command.base)); {
break; sprintf(
case RSP_LSC2_DV: CommandName,
sprintf(CommandName,"LDV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del, "%s\t$v%d[%d], 0x%04X(%s)",
(command.voffset << 3), GPR_Name(command.base)); mnemonics_lwc2[command.rd],
break; command.rt,
case RSP_LSC2_QV: command.del,
sprintf(CommandName,"LQV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del, command.voffset,
(command.voffset << 4), GPR_Name(command.base)); GPR_Name(command.base)
break; );
case RSP_LSC2_RV:
sprintf(CommandName,"LRV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 4), GPR_Name(command.base));
break;
case RSP_LSC2_PV:
sprintf(CommandName,"LPV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 3), GPR_Name(command.base));
break;
case RSP_LSC2_UV:
sprintf(CommandName,"LUV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 3), GPR_Name(command.base));
break;
case RSP_LSC2_HV:
sprintf(CommandName,"LHV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 4), GPR_Name(command.base));
break;
case RSP_LSC2_FV:
sprintf(CommandName,"LFV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 4), GPR_Name(command.base));
break;
case RSP_LSC2_WV:
sprintf(CommandName,"LWV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 4), GPR_Name(command.base));
break;
case RSP_LSC2_TV:
sprintf(CommandName,"LTV\t$v%d [%d], 0x%04X (%s)",command.rt, command.del,
(command.voffset << 4), GPR_Name(command.base));
break;
default:
sprintf(CommandName,"RSP: Unknown\t%02X %02X %02X %02X",
command.Ascii[3],command.Ascii[2],command.Ascii[1],command.Ascii[0]);
} }
return CommandName; return CommandName;
} }