diff options
Diffstat (limited to 'ARMeilleure/Decoders/OpCode32SimdMemMult.cs')
-rw-r--r-- | ARMeilleure/Decoders/OpCode32SimdMemMult.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ARMeilleure/Decoders/OpCode32SimdMemMult.cs b/ARMeilleure/Decoders/OpCode32SimdMemMult.cs index 33caf092..a16a03d3 100644 --- a/ARMeilleure/Decoders/OpCode32SimdMemMult.cs +++ b/ARMeilleure/Decoders/OpCode32SimdMemMult.cs @@ -12,10 +12,13 @@ public bool DoubleWidth { get; } public bool Add { get; } - public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMemMult(inst, address, opCode); + public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMemMult(inst, address, opCode, false); + public static OpCode CreateT32(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMemMult(inst, address, opCode, true); - public OpCode32SimdMemMult(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode) + public OpCode32SimdMemMult(InstDescriptor inst, ulong address, int opCode, bool isThumb) : base(inst, address, opCode) { + IsThumb = isThumb; + Rn = (opCode >> 16) & 0xf; bool isLoad = (opCode & (1 << 20)) != 0; |