OpCodeT16MemLit.cs 738 B

1234567891011121314151617181920212223242526
  1. using ARMeilleure.State;
  2. namespace ARMeilleure.Decoders
  3. {
  4. class OpCodeT16MemLit : OpCodeT16, IOpCode32Mem
  5. {
  6. public int Rt { get; }
  7. public int Rn => RegisterAlias.Aarch32Pc;
  8. public bool WBack => false;
  9. public bool IsLoad => true;
  10. public bool Index => true;
  11. public bool Add => true;
  12. public int Immediate { get; }
  13. public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeT16MemLit(inst, address, opCode);
  14. public OpCodeT16MemLit(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  15. {
  16. Rt = (opCode >> 8) & 7;
  17. Immediate = (opCode & 0xff) << 2;
  18. }
  19. }
  20. }