OpCodeMemReg.cs 686 B

1234567891011121314151617181920
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeMemReg : OpCodeMem
  4. {
  5. public bool Shift { get; }
  6. public int Rm { get; }
  7. public IntType IntType { get; }
  8. public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeMemReg(inst, address, opCode);
  9. public OpCodeMemReg(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  10. {
  11. Shift = ((opCode >> 12) & 0x1) != 0;
  12. IntType = (IntType)((opCode >> 13) & 0x7);
  13. Rm = (opCode >> 16) & 0x1f;
  14. Extend64 = ((opCode >> 22) & 0x3) == 2;
  15. }
  16. }
  17. }