MemoryOperand.cs 721 B

12345678910111213141516171819202122232425
  1. namespace ARMeilleure.IntermediateRepresentation
  2. {
  3. class MemoryOperand : Operand
  4. {
  5. public Operand BaseAddress { get; set; }
  6. public Operand Index { get; set; }
  7. public Multiplier Scale { get; }
  8. public int Displacement { get; }
  9. public MemoryOperand(
  10. OperandType type,
  11. Operand baseAddress,
  12. Operand index = null,
  13. Multiplier scale = Multiplier.x1,
  14. int displacement = 0) : base(OperandKind.Memory, type)
  15. {
  16. BaseAddress = baseAddress;
  17. Index = index;
  18. Scale = scale;
  19. Displacement = displacement;
  20. }
  21. }
  22. }