diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp index a270abd8c..2e07c334a 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp @@ -6629,7 +6629,7 @@ void CX86RecompilerOps::SPECIAL_SLTU() } else { - m_Assembler.CompConstToVariable((GetMipsRegLo_S(KnownReg) >> 31), &_GPR[UnknownReg].W[1], CRegName::GPR_Hi[UnknownReg]); + m_Assembler.CompConstToVariable(&_GPR[UnknownReg].W[1], CRegName::GPR_Hi[UnknownReg], (GetMipsRegLo_S(KnownReg) >> 31)); } } else diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp index 012242e3b..768be93c4 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp @@ -740,26 +740,6 @@ void CX86Ops::LeaSourceAndOffset(x86Reg x86DestReg, x86Reg x86SourceReg, int32_t } } -void CX86Ops::MoveConstByteToN64Mem(uint8_t Const, x86Reg AddrReg) -{ - CodeLog(" mov byte ptr [%s+N64mem], %Xh", x86_Name(AddrReg), Const); - switch (AddrReg) - { - case x86_EAX: AddCode16(0x80C6); break; - case x86_EBX: AddCode16(0x83C6); break; - case x86_ECX: AddCode16(0x81C6); break; - case x86_EDX: AddCode16(0x82C6); break; - case x86_ESI: AddCode16(0x86C6); break; - case x86_EDI: AddCode16(0x87C6); break; - case x86_ESP: AddCode16(0x84C6); break; - case x86_EBP: AddCode16(0x85C6); break; - default: - g_Notify->BreakPoint(__FILE__, __LINE__); - } - AddCode32((uint32_t)g_MMU->Rdram()); - AddCode8(Const); -} - void CX86Ops::MoveConstByteToVariable(uint8_t Const, void * Variable, const char * VariableName) { CodeLog(" mov byte ptr [%s], %Xh", VariableName, Const); @@ -768,27 +748,6 @@ void CX86Ops::MoveConstByteToVariable(uint8_t Const, void * Variable, const char AddCode8(Const); } -void CX86Ops::MoveConstHalfToN64Mem(uint16_t Const, x86Reg AddrReg) -{ - CodeLog(" mov word ptr [%s+N64mem], %Xh", x86_Name(AddrReg), Const); - AddCode8(0x66); - switch (AddrReg) - { - case x86_EAX: AddCode16(0x80C7); break; - case x86_EBX: AddCode16(0x83C7); break; - case x86_ECX: AddCode16(0x81C7); break; - case x86_EDX: AddCode16(0x82C7); break; - case x86_ESI: AddCode16(0x86C7); break; - case x86_EDI: AddCode16(0x87C7); break; - case x86_ESP: AddCode16(0x84C7); break; - case x86_EBP: AddCode16(0x85C7); break; - default: - g_Notify->BreakPoint(__FILE__, __LINE__); - } - AddCode32((uint32_t)g_MMU->Rdram()); - AddCode16(Const); -} - void CX86Ops::MoveConstHalfToVariable(uint16_t Const, void * Variable, const char * VariableName) { CodeLog(" mov word ptr [%s], %Xh", VariableName, Const); @@ -856,46 +815,6 @@ void CX86Ops::MoveConstToMemoryDisp(uint32_t Const, x86Reg AddrReg, uint32_t Dis AddCode32(Const); } -void CX86Ops::MoveConstToN64Mem(uint32_t Const, x86Reg AddrReg) -{ - CodeLog(" mov dword ptr [%s+N64mem], %Xh", x86_Name(AddrReg), Const); - switch (AddrReg) - { - case x86_EAX: AddCode16(0x80C7); break; - case x86_EBX: AddCode16(0x83C7); break; - case x86_ECX: AddCode16(0x81C7); break; - case x86_EDX: AddCode16(0x82C7); break; - case x86_ESI: AddCode16(0x86C7); break; - case x86_EDI: AddCode16(0x87C7); break; - case x86_ESP: AddCode16(0x84C7); break; - case x86_EBP: AddCode16(0x85C7); break; - default: - g_Notify->BreakPoint(__FILE__, __LINE__); - } - AddCode32((uint32_t)g_MMU->Rdram()); - AddCode32(Const); -} - -void CX86Ops::MoveConstToN64MemDisp(uint32_t Const, x86Reg AddrReg, uint8_t Disp) -{ - CodeLog(" mov dword ptr [%s+N64mem+%Xh], %Xh", x86_Name(AddrReg), Const, Disp); - switch (AddrReg) - { - case x86_EAX: AddCode16(0x80C7); break; - case x86_EBX: AddCode16(0x83C7); break; - case x86_ECX: AddCode16(0x81C7); break; - case x86_EDX: AddCode16(0x82C7); break; - case x86_ESI: AddCode16(0x86C7); break; - case x86_EDI: AddCode16(0x87C7); break; - case x86_ESP: AddCode16(0x84C7); break; - case x86_EBP: AddCode16(0x85C7); break; - default: - g_Notify->BreakPoint(__FILE__, __LINE__); - } - AddCode32((uint32_t)g_MMU->Rdram() + Disp); - AddCode32(Const); -} - void CX86Ops::MoveConstToVariable(uint32_t Const, void * Variable, const char * VariableName) { CodeLog(" mov dword ptr [%s], %Xh", VariableName, Const); diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86ops.h b/Source/Project64-core/N64System/Recompiler/x86/x86ops.h index a2d88e46a..c088e99b8 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86ops.h +++ b/Source/Project64-core/N64System/Recompiler/x86/x86ops.h @@ -127,15 +127,11 @@ public: void LeaRegReg(x86Reg RegDest, x86Reg RegSrc, uint32_t Const, Multipler multiplier); void LeaRegReg2(x86Reg RegDest, x86Reg RegSrc, x86Reg RegSrc2, Multipler multiplier); void LeaSourceAndOffset(x86Reg x86DestReg, x86Reg x86SourceReg, int32_t offset); - void MoveConstByteToN64Mem(uint8_t Const, x86Reg AddrReg); - void MoveConstHalfToN64Mem(uint16_t Const, x86Reg AddrReg); void MoveConstByteToVariable(uint8_t Const, void * Variable, const char * VariableName); void MoveConstByteToX86regPointer(uint8_t Const, x86Reg AddrReg1, x86Reg AddrReg2); void MoveConstHalfToVariable(uint16_t Const, void * Variable, const char * VariableName); void MoveConstHalfToX86regPointer(uint16_t Const, x86Reg AddrReg1, x86Reg AddrReg2); void MoveConstToMemoryDisp(uint32_t Const, x86Reg AddrReg, uint32_t Disp); - void MoveConstToN64Mem(uint32_t Const, x86Reg AddrReg); - void MoveConstToN64MemDisp(uint32_t Const, x86Reg AddrReg, uint8_t Disp); void MoveConstToVariable(uint32_t Const, void * Variable, const char * VariableName); void MoveConstToX86Pointer(x86Reg X86Pointer, uint32_t Const); void MoveConstToX86reg(x86Reg Reg, uint32_t Const);