OpCodeAlu.cs 637 B

123456789101112131415161718192021
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeAlu : OpCode, IOpCodeAlu
  4. {
  5. public int Rd { get; protected set; }
  6. public int Rn { get; private set; }
  7. public DataOp DataOp { get; private set; }
  8. public OpCodeAlu(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  9. {
  10. Rd = (opCode >> 0) & 0x1f;
  11. Rn = (opCode >> 5) & 0x1f;
  12. DataOp = (DataOp)((opCode >> 24) & 0x3);
  13. RegisterSize = (opCode >> 31) != 0
  14. ? RegisterSize.Int64
  15. : RegisterSize.Int32;
  16. }
  17. }
  18. }