diff --git a/ARMeilleure/Decoders/OpCode32Mem.cs b/ARMeilleure/Decoders/OpCode32Mem.cs index f4e88d5924..b749f3dbe5 100644 --- a/ARMeilleure/Decoders/OpCode32Mem.cs +++ b/ARMeilleure/Decoders/OpCode32Mem.cs @@ -4,7 +4,7 @@ namespace ARMeilleure.Decoders { class OpCode32Mem : OpCode32, IOpCode32Mem { - public int Rt { get; private set; } + public int Rt { get; protected set; } public int Rn { get; private set; } public int Immediate { get; protected set; } diff --git a/ARMeilleure/Decoders/OpCode32MemStEx.cs b/ARMeilleure/Decoders/OpCode32MemStEx.cs index 4f2ad5cefb..6fd8b9472c 100644 --- a/ARMeilleure/Decoders/OpCode32MemStEx.cs +++ b/ARMeilleure/Decoders/OpCode32MemStEx.cs @@ -7,7 +7,6 @@ namespace ARMeilleure.Decoders class OpCode32MemStEx : OpCode32Mem, IOpCode32MemEx { public int Rd { get; internal set; } - public new int Rt { get; private set; } public OpCode32MemStEx(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode) { Rd = (opCode >> 12) & 0xf; diff --git a/ARMeilleure/Instructions/InstEmitMemoryEx32.cs b/ARMeilleure/Instructions/InstEmitMemoryEx32.cs index 9fade9317c..764c9cf0b8 100644 --- a/ARMeilleure/Instructions/InstEmitMemoryEx32.cs +++ b/ARMeilleure/Instructions/InstEmitMemoryEx32.cs @@ -203,7 +203,7 @@ namespace ARMeilleure.Instructions context.BranchIfTrue(lblBigEndian, GetFlag(PState.EFlag)); Operand leResult = context.BitwiseOr(lo, context.ShiftLeft(hi, Const(32))); - Operand leS = EmitExStore(context, address, leResult, true, size); + Operand leS = EmitExStore(context, address, leResult, exclusive, size); if (exclusive) SetIntA32(context, op.Rd, leS); context.Branch(lblEnd); @@ -211,7 +211,7 @@ namespace ARMeilleure.Instructions context.MarkLabel(lblBigEndian); Operand beResult = context.BitwiseOr(hi, context.ShiftLeft(lo, Const(32))); - Operand beS = EmitExStore(context, address, beResult, true, size); + Operand beS = EmitExStore(context, address, beResult, exclusive, size); if (exclusive) SetIntA32(context, op.Rd, beS); context.MarkLabel(lblEnd); @@ -219,7 +219,7 @@ namespace ARMeilleure.Instructions else { - s = EmitExStore(context, address, context.ZeroExtend32(OperandType.I64, GetIntA32(context, op.Rt)), true, size); + s = EmitExStore(context, address, context.ZeroExtend32(OperandType.I64, GetIntA32(context, op.Rt)), exclusive, size); // This is only needed for exclusive stores. The function returns 0 // when the store is successful, and 1 otherwise. if (exclusive) SetIntA32(context, op.Rd, s);