f468db7602
* Implement Thumb (32-bit) memory (ordered), multiply and bitfield instructions * Remove public from interface * Fix T32 BL immediate and implement signed and unsigned extend instructions
17 lines
548 B
C#
17 lines
548 B
C#
namespace ARMeilleure.Decoders
|
|
{
|
|
class OpCode32AluImm16 : OpCode32Alu, IOpCode32AluImm16
|
|
{
|
|
public int Immediate { get; }
|
|
|
|
public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32AluImm16(inst, address, opCode);
|
|
|
|
public OpCode32AluImm16(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
|
|
{
|
|
int imm12 = opCode & 0xfff;
|
|
int imm4 = (opCode >> 16) & 0xf;
|
|
|
|
Immediate = (imm4 << 12) | imm12;
|
|
}
|
|
}
|
|
}
|