2022-02-14 21:48:10 +00:00
|
|
|
using ARMeilleure.State;
|
|
|
|
|
2022-02-11 11:11:36 +00:00
|
|
|
namespace ARMeilleure.Decoders
|
|
|
|
{
|
|
|
|
class OpCodeT16AddSubSp : OpCodeT16, IOpCode32AluImm
|
|
|
|
{
|
2022-02-14 21:48:10 +00:00
|
|
|
public int Rd => RegisterAlias.Aarch32Sp;
|
|
|
|
public int Rn => RegisterAlias.Aarch32Sp;
|
2022-02-11 11:11:36 +00:00
|
|
|
|
2022-02-14 21:06:24 +00:00
|
|
|
public bool? SetFlags => false;
|
2022-02-11 11:11:36 +00:00
|
|
|
|
|
|
|
public int Immediate { get; }
|
|
|
|
|
|
|
|
public bool IsRotated => false;
|
|
|
|
|
2022-02-14 21:06:24 +00:00
|
|
|
public static new OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeT16AddSubSp(inst, address, opCode);
|
2022-02-11 11:11:36 +00:00
|
|
|
|
2022-02-14 21:06:24 +00:00
|
|
|
public OpCodeT16AddSubSp(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
|
2022-02-11 11:11:36 +00:00
|
|
|
{
|
2022-02-13 19:40:05 +00:00
|
|
|
Immediate = ((opCode >> 0) & 0x7f) << 2;
|
2022-02-11 11:11:36 +00:00
|
|
|
}
|
|
|
|
}
|
2022-02-14 21:06:24 +00:00
|
|
|
}
|