mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
[no whatsnew] dsp56k: Further removal of std::strings.
(svn revision #9999 - woot!)
This commit is contained in:
parent
ce02154eb3
commit
eb93451a1b
File diff suppressed because it is too large
Load Diff
@ -24,26 +24,26 @@ bfShift decode_BBB_table(UINT16 BBB)
|
||||
return BBB_INVALID;
|
||||
}
|
||||
|
||||
void decode_cccc_table(const UINT16 cccc, std::string& mnemonic)
|
||||
void decode_cccc_table(const UINT16 cccc, op_mnem& mnemonic)
|
||||
{
|
||||
switch (cccc)
|
||||
{
|
||||
case 0x0: mnemonic = "cc"; break;
|
||||
case 0x1: mnemonic = "ge"; break;
|
||||
case 0x2: mnemonic = "ne"; break;
|
||||
case 0x3: mnemonic = "pl"; break;
|
||||
case 0x4: mnemonic = "nn"; break;
|
||||
case 0x5: mnemonic = "ec"; break;
|
||||
case 0x6: mnemonic = "lc"; break;
|
||||
case 0x7: mnemonic = "gt"; break;
|
||||
case 0x8: mnemonic = "cs"; break;
|
||||
case 0x9: mnemonic = "lt"; break;
|
||||
case 0xa: mnemonic = "eq"; break;
|
||||
case 0xb: mnemonic = "mi"; break;
|
||||
case 0xc: mnemonic = "nr"; break;
|
||||
case 0xd: mnemonic = "es"; break;
|
||||
case 0xe: mnemonic = "ls"; break;
|
||||
case 0xf: mnemonic = "le"; break;
|
||||
case 0x0: mnemonic = oCC; break;
|
||||
case 0x1: mnemonic = oGE; break;
|
||||
case 0x2: mnemonic = oNE; break;
|
||||
case 0x3: mnemonic = oPL; break;
|
||||
case 0x4: mnemonic = oNN; break;
|
||||
case 0x5: mnemonic = oEC; break;
|
||||
case 0x6: mnemonic = oLC; break;
|
||||
case 0x7: mnemonic = oGT; break;
|
||||
case 0x8: mnemonic = oCS; break;
|
||||
case 0x9: mnemonic = oLT; break;
|
||||
case 0xa: mnemonic = oEQ; break;
|
||||
case 0xb: mnemonic = oMI; break;
|
||||
case 0xc: mnemonic = oNR; break;
|
||||
case 0xd: mnemonic = oES; break;
|
||||
case 0xe: mnemonic = oLS; break;
|
||||
case 0xf: mnemonic = oLE; break;
|
||||
}
|
||||
|
||||
// NEW // switch (cccc)
|
||||
@ -412,24 +412,24 @@ void decode_rr_table(UINT16 rr, reg_id& ret)
|
||||
}
|
||||
}
|
||||
|
||||
void decode_s_table(const UINT16 s, std::string& arithmetic)
|
||||
void decode_s_table(const UINT16 s, op_mnem& arithmetic)
|
||||
{
|
||||
switch(s)
|
||||
{
|
||||
case 0x0: arithmetic = "su"; break;
|
||||
case 0x1: arithmetic = "uu"; break;
|
||||
case 0x0: arithmetic = oSU; break;
|
||||
case 0x1: arithmetic = oUU; break;
|
||||
}
|
||||
}
|
||||
|
||||
void decode_ss_table(const UINT16 ss, std::string& arithmetic)
|
||||
void decode_ss_table(const UINT16 ss, op_mnem& arithmetic)
|
||||
{
|
||||
switch(ss)
|
||||
{
|
||||
case 0x0: arithmetic = "ss"; break;
|
||||
case 0x1: arithmetic = "!!"; break;
|
||||
//case 0x1: arithmetic = "ss"; break;
|
||||
case 0x2: arithmetic = "su"; break;
|
||||
case 0x3: arithmetic = "uu"; break;
|
||||
case 0x0: arithmetic = oSS; break;
|
||||
case 0x1: arithmetic = oINVALID; break;
|
||||
// NEW // case 0x1: arithmetic = "ss"; break;
|
||||
case 0x2: arithmetic = oSU; break;
|
||||
case 0x3: arithmetic = oUU; break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -801,6 +801,36 @@ std::string regIdAsString(const reg_id& regId)
|
||||
return "INVALID_REG_ID";
|
||||
}
|
||||
|
||||
std::string opMnemonicAsString(const op_mnem& mnem)
|
||||
{
|
||||
switch(mnem)
|
||||
{
|
||||
case oCC: return "cc"; break;
|
||||
case oGE: return "ge"; break;
|
||||
case oNE: return "ne"; break;
|
||||
case oPL: return "pl"; break;
|
||||
case oNN: return "nn"; break;
|
||||
case oEC: return "ec"; break;
|
||||
case oLC: return "lc"; break;
|
||||
case oGT: return "gt"; break;
|
||||
case oCS: return "cs"; break;
|
||||
case oLT: return "lt"; break;
|
||||
case oEQ: return "eq"; break;
|
||||
case oMI: return "mi"; break;
|
||||
case oNR: return "nr"; break;
|
||||
case oES: return "es"; break;
|
||||
case oLS: return "ls"; break;
|
||||
case oLE: return "le"; break;
|
||||
|
||||
case oSS: return "ss"; break;
|
||||
case oSU: return "su"; break;
|
||||
case oUU: return "uu"; break;
|
||||
case oINVALID: return "!!"; break;
|
||||
}
|
||||
|
||||
return "INVALID_OPCODE_MNEMONIC";
|
||||
}
|
||||
|
||||
reg_id stringAsRegID(const std::string& str)
|
||||
{
|
||||
if (str == "X") return iX;
|
||||
|
@ -27,10 +27,15 @@ enum reg_id {iX, iX0, iX1,
|
||||
iF, iFHAT,
|
||||
iINVALID, iWEIRD};
|
||||
|
||||
enum op_mnem {oCC, oGE, oNE, oPL,
|
||||
oNN, oEC, oLC, oGT,
|
||||
oCS, oLT, oEQ, oMI,
|
||||
oNR, oES, oLS, oLE,
|
||||
oSS, oSU, oUU, oINVALID};
|
||||
|
||||
|
||||
bfShift decode_BBB_table(UINT16 BBB);
|
||||
void decode_cccc_table(const UINT16 cccc, std::string& mnemonic);
|
||||
void decode_cccc_table(const UINT16 cccc, op_mnem& mnemonic);
|
||||
void decode_DDDDD_table(const UINT16 DDDDD, reg_id& SD);
|
||||
void decode_DD_table(const UINT16 DD, reg_id& SD);
|
||||
void decode_DDF_table(const UINT16 DD, const UINT16 F, reg_id& S, reg_id& D);
|
||||
@ -52,8 +57,8 @@ void decode_QQF_special_table(const UINT16 QQ, const UINT16 F, reg_id& S1, reg_i
|
||||
void decode_QQQF_table(const UINT16 QQQ, const UINT16 F, reg_id& S1, reg_id& S2, reg_id& D);
|
||||
void decode_RR_table(UINT16 RR, reg_id& ret);
|
||||
void decode_rr_table(UINT16 rr, reg_id& ret);
|
||||
void decode_s_table(const UINT16 s, std::string& arithmetic);
|
||||
void decode_ss_table(const UINT16 ss, std::string& arithmetic);
|
||||
void decode_s_table(const UINT16 s, op_mnem& arithmetic);
|
||||
void decode_ss_table(const UINT16 ss, op_mnem& arithmetic);
|
||||
void decode_uuuuF_table(const UINT16 uuuu, const UINT16 F, std::string& arg, reg_id& S, reg_id& D);
|
||||
void decode_Z_table(const UINT16 Z, std::string& ea);
|
||||
|
||||
@ -80,6 +85,7 @@ UINT16 regValue16(dsp56k_core* cpustate, const reg_id& reg);
|
||||
void setReg16(dsp56k_core* cpustate, const UINT16& value, const reg_id& reg);
|
||||
|
||||
std::string regIdAsString(const reg_id& regId);
|
||||
std::string opMnemonicAsString(const op_mnem& mnem);
|
||||
reg_id stringAsRegID(const std::string& str);
|
||||
UINT8 regIDAsNum(const reg_id& regId);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user