void Interpreter::stfs(UGeckoInstruction _inst) { //double value = rPS0(_inst.FS); //float fTemp = (float)value; //Memory::Write_U32(*(u32*)&fTemp, Helper_Get_EA(_inst)); Memory::Write_U32(ConvertToSingle(riPS0(_inst.FS)), Helper_Get_EA(_inst)); }
void Interpreter::stfsux(UGeckoInstruction _inst) { u32 uAddress = Helper_Get_EA_UX(_inst); Memory::Write_U32(ConvertToSingle(riPS0(_inst.FS)), uAddress); if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI)) { m_GPR[_inst.RA] = uAddress; } }
void Interpreter::stfsx(UGeckoInstruction inst) { const u32 address = Helper_Get_EA_X(inst); if ((address & 0b11) != 0) { GenerateAlignmentException(address); return; } PowerPC::Write_U32(ConvertToSingle(riPS0(inst.FS)), address); }
void Interpreter::stfsux(UGeckoInstruction inst) { const u32 address = Helper_Get_EA_UX(inst); if ((address & 0b11) != 0) { GenerateAlignmentException(address); return; } PowerPC::Write_U32(ConvertToSingle(riPS0(inst.FS)), address); if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI)) { rGPR[inst.RA] = address; } }
void Interpreter::stfsx(UGeckoInstruction _inst) { Memory::Write_U32(ConvertToSingle(riPS0(_inst.FS)), Helper_Get_EA_X(_inst)); }
void Interpreter::stfs(UGeckoInstruction _inst) { PowerPC::Write_U32(ConvertToSingle(riPS0(_inst.FS)), Helper_Get_EA(_inst)); }