namespace X86Disassembler.X86.Operands; /// /// Base class for all memory operands in an x86 instruction /// public abstract class MemoryOperand : Operand { /// /// Gets or sets the segment override (if any) /// public string? SegmentOverride { get; set; } /// /// Initializes a new instance of the MemoryOperand class /// /// The size of the memory access in bits /// Optional segment override protected MemoryOperand(int size = 32, string? segmentOverride = null) { Size = size; SegmentOverride = segmentOverride; } /// /// Gets the segment prefix string for display /// /// The segment prefix string protected string GetSegmentPrefix() { return SegmentOverride != null ? $"{SegmentOverride}:" : ""; } }