Added support for C.F.S.

This commit is contained in:
Jean-Philip Desjardins 2015-04-23 02:01:47 -04:00
parent df50662e03
commit d3044d3b75
3 changed files with 10 additions and 2 deletions

View File

@ -414,6 +414,13 @@ void CCOP_FPU::MIN_S()
m_codeGen->FP_PullSingle(offsetof(CMIPS, m_State.nCOP1[m_fd]));
}
//30
void CCOP_FPU::C_F_S()
{
m_codeGen->PushCst(0);
SetCCBit(true, m_ccMask[((m_nOpcode >> 8) & 0x07)]);
}
//32
void CCOP_FPU::C_EQ_S()
{
@ -520,7 +527,7 @@ CCOP_FPU::InstructionFuncConstant CCOP_FPU::m_opSingle[0x40] =
//0x28
&CCOP_FPU::MAX_S, &CCOP_FPU::MIN_S, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal,
//0x30
&CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::C_EQ_S, &CCOP_FPU::Illegal, &CCOP_FPU::C_LT_S, &CCOP_FPU::Illegal, &CCOP_FPU::C_LE_S, &CCOP_FPU::Illegal,
&CCOP_FPU::C_F_S, &CCOP_FPU::Illegal, &CCOP_FPU::C_EQ_S, &CCOP_FPU::Illegal, &CCOP_FPU::C_LT_S, &CCOP_FPU::Illegal, &CCOP_FPU::C_LE_S, &CCOP_FPU::Illegal,
//0x38
&CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::C_LT_S, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal, &CCOP_FPU::Illegal,
};

View File

@ -92,6 +92,7 @@ private:
void CVT_W_S();
void MAX_S();
void MIN_S();
void C_F_S();
void C_EQ_S();
void C_LT_S();
void C_LE_S();

View File

@ -268,7 +268,7 @@ INSTRUCTION CCOP_FPU::m_cReflS[64] =
{ NULL, NULL, NULL, NULL, NULL, NULL },
{ NULL, NULL, NULL, NULL, NULL, NULL },
//0x30
{ NULL, NULL, NULL, NULL, NULL, NULL },
{ "C.F.S", NULL, CopyMnemonic, ReflOpCcFsFt, NULL, NULL },
{ NULL, NULL, NULL, NULL, NULL, NULL },
{ "C.EQ.S", NULL, CopyMnemonic, ReflOpCcFsFt, NULL, NULL },
{ NULL, NULL, NULL, NULL, NULL, NULL },