OpCode32AluUx.cs 576 B

123456789101112131415161718
  1. using ARMeilleure.State;
  2. namespace ARMeilleure.Decoders
  3. {
  4. class OpCode32AluUx : OpCode32AluReg, IOpCode32AluUx
  5. {
  6. public int Rotate { get; }
  7. public int RotateBits => Rotate * 8;
  8. public bool Add => Rn != RegisterAlias.Aarch32Pc;
  9. public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32AluUx(inst, address, opCode);
  10. public OpCode32AluUx(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  11. {
  12. Rotate = (opCode >> 10) & 0x3;
  13. }
  14. }
  15. }