namespace X86Disassembler.X86;
using System.Collections.Generic;
/// 
/// Represents an x86 instruction
/// 
public class Instruction
{
    /// 
    /// Gets or sets the address of the instruction
    /// 
    public ulong Address { get; set; }
    
    /// 
    /// Gets or sets the type of the instruction
    /// 
    public InstructionType Type { get; set; } = InstructionType.Unknown;
    /// 
    /// Gets or sets the structured operands of the instruction
    /// 
    public List StructuredOperands { get; set; } = [];
    
    /// 
    /// Returns a string representation of the instruction
    /// 
    /// A string representation of the instruction
    public override string ToString()
    {
        return $"{Address:X8} {Type:G} {string.Join(",", StructuredOperands)}";
    }
}