29 lines
824 B
C#
29 lines
824 B
C#
namespace ARMeilleure.IntermediateRepresentation
|
|
{
|
|
class MemoryOperand : Operand
|
|
{
|
|
public Operand BaseAddress { get; set; }
|
|
public Operand Index { get; set; }
|
|
|
|
public Multiplier Scale { get; private set; }
|
|
|
|
public int Displacement { get; private set; }
|
|
|
|
public MemoryOperand() { }
|
|
|
|
public MemoryOperand With(
|
|
OperandType type,
|
|
Operand baseAddress,
|
|
Operand index = null,
|
|
Multiplier scale = Multiplier.x1,
|
|
int displacement = 0)
|
|
{
|
|
With(OperandKind.Memory, type);
|
|
BaseAddress = baseAddress;
|
|
Index = index;
|
|
Scale = scale;
|
|
Displacement = displacement;
|
|
return this;
|
|
}
|
|
}
|
|
} |