OpCodeT16AluRegHigh.cs 683 B

1234567891011121314151617181920
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeT16AluRegHigh : OpCodeT16, IOpCode32AluReg
  4. {
  5. public int Rm { get; }
  6. public int Rd { get; }
  7. public int Rn { get; }
  8. public bool? SetFlags => false;
  9. public static new OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeT16AluRegHigh(inst, address, opCode);
  10. public OpCodeT16AluRegHigh(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  11. {
  12. Rd = ((opCode >> 0) & 0x7) | ((opCode >> 4) & 0x8);
  13. Rn = ((opCode >> 0) & 0x7) | ((opCode >> 4) & 0x8);
  14. Rm = (opCode >> 3) & 0xf;
  15. }
  16. }
  17. }