OpCodeSimdMemLit.cs 791 B

1234567891011121314151617181920212223242526272829
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeSimdMemLit : OpCode, IOpCodeSimd, IOpCodeLit
  4. {
  5. public int Rt { get; private set; }
  6. public long Immediate { get; private set; }
  7. public int Size { get; private set; }
  8. public bool Signed => false;
  9. public bool Prefetch => false;
  10. public OpCodeSimdMemLit(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  11. {
  12. int opc = (opCode >> 30) & 3;
  13. if (opc == 3)
  14. {
  15. Instruction = InstDescriptor.Undefined;
  16. return;
  17. }
  18. Rt = opCode & 0x1f;
  19. Immediate = (long)address + DecoderHelper.DecodeImmS19_2(opCode);
  20. Size = opc + 2;
  21. }
  22. }
  23. }