Fix 64-bit memory dereferencing.

This commit is contained in:
Unknown W. Brackets 2013-01-19 15:47:32 -08:00
parent 90e6f0b7df
commit 5e8f1917ee

View File

@ -55,7 +55,13 @@ namespace MIPSComp
{
void *data = Memory::GetPointer(gpr.R(rs).GetImmValue() + offset);
if (data)
{
#ifdef _M_IX86
MOVZX(32, bits, gpr.RX(rt), M(data));
#else
MOVZX(32, bits, gpr.RX(rt), MDisp(RBX, gpr.R(rs).GetImmValue() + offset));
#endif
}
else
MOV(32, gpr.R(rt), Imm32(0));
}
@ -120,7 +126,13 @@ namespace MIPSComp
{
void *data = Memory::GetPointer(gpr.R(rs).GetImmValue() + offset);
if (data)
{
#ifdef _M_IX86
MOV(bits, M(data), gpr.R(rt));
#else
MOV(bits, MDisp(RBX, gpr.R(rs).GetImmValue() + offset), gpr.R(rt));
#endif
}
else if (bits == 8)
MOV(bits, M(data), Imm8(0));
else if (bits == 16)