OpCodeAlu64.cs 681 B

1234567891011121314151617181920212223
  1. using ChocolArm64.Instructions;
  2. namespace ChocolArm64.Decoders
  3. {
  4. class OpCodeAlu64 : OpCode64, IOpCodeAlu64
  5. {
  6. public int Rd { get; protected set; }
  7. public int Rn { get; private set; }
  8. public DataOp DataOp { get; private set; }
  9. public OpCodeAlu64(Inst inst, long position, int opCode) : base(inst, position, opCode)
  10. {
  11. Rd = (opCode >> 0) & 0x1f;
  12. Rn = (opCode >> 5) & 0x1f;
  13. DataOp = (DataOp)((opCode >> 24) & 0x3);
  14. RegisterSize = (opCode >> 31) != 0
  15. ? State.RegisterSize.Int64
  16. : State.RegisterSize.Int32;
  17. }
  18. }
  19. }