OpCodeSimdRegElem.cs 727 B

1234567891011121314151617181920212223242526272829
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeSimdRegElem : OpCodeSimdReg
  4. {
  5. public int Index { get; private set; }
  6. public OpCodeSimdRegElem(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  7. {
  8. switch (Size)
  9. {
  10. case 1:
  11. Index = (opCode >> 20) & 3 |
  12. (opCode >> 9) & 4;
  13. Rm &= 0xf;
  14. break;
  15. case 2:
  16. Index = (opCode >> 21) & 1 |
  17. (opCode >> 10) & 2;
  18. break;
  19. default: Instruction = InstDescriptor.Undefined; break;
  20. }
  21. }
  22. }
  23. }