CMA_EE::CMA_EE() : CMA_MIPSIV(MIPS_REGSIZE_64) { m_pOpGeneral[0x1E] = std::bind(&CMA_EE::LQ, this); m_pOpGeneral[0x1F] = std::bind(&CMA_EE::SQ, this); m_pOpRegImm[0x18] = std::bind(&CMA_EE::MTSAB, this); m_pOpRegImm[0x19] = std::bind(&CMA_EE::MTSAH, this); m_pOpSpecial[0x28] = std::bind(&CMA_EE::MFSA, this); m_pOpSpecial[0x29] = std::bind(&CMA_EE::MTSA, this); m_pOpSpecial2[0x00] = std::bind(&CMA_EE::MADD, this); m_pOpSpecial2[0x01] = std::bind(&CMA_EE::MADDU, this); m_pOpSpecial2[0x04] = std::bind(&CMA_EE::PLZCW, this); m_pOpSpecial2[0x08] = std::bind(&CMA_EE::MMI0, this); m_pOpSpecial2[0x09] = std::bind(&CMA_EE::MMI2, this); m_pOpSpecial2[0x10] = std::bind(&CMA_EE::MFHI1, this); m_pOpSpecial2[0x11] = std::bind(&CMA_EE::MTHI1, this); m_pOpSpecial2[0x12] = std::bind(&CMA_EE::MFLO1, this); m_pOpSpecial2[0x13] = std::bind(&CMA_EE::MTLO1, this); m_pOpSpecial2[0x18] = std::bind(&CMA_EE::MULT1, this); m_pOpSpecial2[0x19] = std::bind(&CMA_EE::MULTU1, this); m_pOpSpecial2[0x1A] = std::bind(&CMA_EE::DIV1, this); m_pOpSpecial2[0x1B] = std::bind(&CMA_EE::DIVU1, this); m_pOpSpecial2[0x20] = std::bind(&CMA_EE::MADD1, this); m_pOpSpecial2[0x21] = std::bind(&CMA_EE::MADDU1, this); m_pOpSpecial2[0x28] = std::bind(&CMA_EE::MMI1, this); m_pOpSpecial2[0x29] = std::bind(&CMA_EE::MMI3, this); m_pOpSpecial2[0x30] = std::bind(&CMA_EE::PMFHL, this); m_pOpSpecial2[0x34] = std::bind(&CMA_EE::PSLLH, this); m_pOpSpecial2[0x36] = std::bind(&CMA_EE::PSRLH, this); m_pOpSpecial2[0x37] = std::bind(&CMA_EE::PSRAH, this); m_pOpSpecial2[0x3C] = std::bind(&CMA_EE::PSLLW, this); m_pOpSpecial2[0x3E] = std::bind(&CMA_EE::PSRLW, this); m_pOpSpecial2[0x3F] = std::bind(&CMA_EE::PSRAW, this); SetupReflectionTables(); }
CMA_MIPSIV::CMA_MIPSIV(MIPS_REGSIZE nRegSize) : CMIPSArchitecture(nRegSize) { SetupInstructionTables(); SetupReflectionTables(); }