c64524a240
* Add ADD (zx imm12), NOP, MOV (register shifted), LDA, TBB, TBH, MOV (zx imm16) and CLZ thumb instructions, fix LDRD, STRD, CBZ, CBNZ and BLX (reg) * Bump PPTC version
19 lines
636 B
C#
19 lines
636 B
C#
using ARMeilleure.Common;
|
|
using System.Runtime.Intrinsics;
|
|
|
|
namespace ARMeilleure.Decoders
|
|
{
|
|
class OpCodeT32MovImm16 : OpCodeT32Alu, IOpCode32AluImm
|
|
{
|
|
public int Immediate { get; }
|
|
|
|
public bool IsRotated => false;
|
|
|
|
public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeT32MovImm16(inst, address, opCode);
|
|
|
|
public OpCodeT32MovImm16(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
|
|
{
|
|
Immediate = (opCode & 0xff) | ((opCode >> 4) & 0x700) | ((opCode >> 15) & 0x800) | ((opCode >> 4) & 0xf000);
|
|
}
|
|
}
|
|
} |