mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-06-20 16:18:37 +03:00
Updated instruction handlers to use Type and StructuredOperands instead of Mnemonic and Operands
This commit is contained in:
32
X86Disassembler/X86/Operands/MemoryOperand.cs
Normal file
32
X86Disassembler/X86/Operands/MemoryOperand.cs
Normal file
@ -0,0 +1,32 @@
|
||||
namespace X86Disassembler.X86.Operands;
|
||||
|
||||
/// <summary>
|
||||
/// Base class for all memory operands in an x86 instruction
|
||||
/// </summary>
|
||||
public abstract class MemoryOperand : Operand
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the segment override (if any)
|
||||
/// </summary>
|
||||
public string? SegmentOverride { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the MemoryOperand class
|
||||
/// </summary>
|
||||
/// <param name="size">The size of the memory access in bits</param>
|
||||
/// <param name="segmentOverride">Optional segment override</param>
|
||||
protected MemoryOperand(int size = 32, string? segmentOverride = null)
|
||||
{
|
||||
Size = size;
|
||||
SegmentOverride = segmentOverride;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the segment prefix string for display
|
||||
/// </summary>
|
||||
/// <returns>The segment prefix string</returns>
|
||||
protected string GetSegmentPrefix()
|
||||
{
|
||||
return SegmentOverride != null ? $"{SegmentOverride}:" : "";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user