Update StoreConstantToMemory to match StoreConstantToAddress on value read (#6642)
This commit is contained in:
parent
9480e5c5ce
commit
22e3ff06b5
1 changed files with 4 additions and 2 deletions
|
@ -15,7 +15,8 @@ namespace Ryujinx.HLE.HOS.Tamper.CodeEmitters
|
||||||
private const int OffsetRegisterIndex = 6;
|
private const int OffsetRegisterIndex = 6;
|
||||||
private const int ValueImmediateIndex = 8;
|
private const int ValueImmediateIndex = 8;
|
||||||
|
|
||||||
private const int ValueImmediateSize = 16;
|
private const int ValueImmediateSize8 = 8;
|
||||||
|
private const int ValueImmediateSize16 = 16;
|
||||||
|
|
||||||
public static void Emit(byte[] instruction, CompilationContext context)
|
public static void Emit(byte[] instruction, CompilationContext context)
|
||||||
{
|
{
|
||||||
|
@ -31,7 +32,8 @@ namespace Ryujinx.HLE.HOS.Tamper.CodeEmitters
|
||||||
Register sourceRegister = context.GetRegister(instruction[AddressRegisterIndex]);
|
Register sourceRegister = context.GetRegister(instruction[AddressRegisterIndex]);
|
||||||
byte incrementAddressRegister = instruction[IncrementAddressRegisterIndex];
|
byte incrementAddressRegister = instruction[IncrementAddressRegisterIndex];
|
||||||
byte useOffsetRegister = instruction[UseOffsetRegisterIndex];
|
byte useOffsetRegister = instruction[UseOffsetRegisterIndex];
|
||||||
ulong immediate = InstructionHelper.GetImmediate(instruction, ValueImmediateIndex, ValueImmediateSize);
|
int valueImmediateSize = operationWidth <= 4 ? ValueImmediateSize8 : ValueImmediateSize16;
|
||||||
|
ulong immediate = InstructionHelper.GetImmediate(instruction, ValueImmediateIndex, valueImmediateSize);
|
||||||
Value<ulong> storeValue = new(immediate);
|
Value<ulong> storeValue = new(immediate);
|
||||||
|
|
||||||
Pointer destinationMemory;
|
Pointer destinationMemory;
|
||||||
|
|
Reference in a new issue