Interface IArchitecture<TInstruction>
Provides members for describing an instruction set.
public interface IArchitecture<TInstruction> where TInstruction : notnull
Type Parameters
TInstructionThe type of the instruction model this architecture describes.
- Extension Methods
Methods
GetFlowControl(in TInstruction)
Gets attributes associated to the flow control behaviour of the provided instruction.
InstructionFlowControl GetFlowControl(in TInstruction instruction)
Parameters
instructionTInstructionThe instruction to get the attributes from.
Returns
- InstructionFlowControl
The flow control attributes.
GetOffset(in TInstruction)
Gets the offset of an instruction.
long GetOffset(in TInstruction instruction)
Parameters
instructionTInstructionThe instruction to get the offset from.
Returns
- long
The offset.
GetReadVariables(in TInstruction, ICollection<IVariable>)
Gets a collection of variables that an instruction reads from.
void GetReadVariables(in TInstruction instruction, ICollection<IVariable> variablesBuffer)
Parameters
instructionTInstructionThe instruction to get the variables from.
variablesBufferICollection<IVariable>The output buffer to add the read variables into.
GetSize(in TInstruction)
Gets the size in bytes of an instruction.
int GetSize(in TInstruction instruction)
Parameters
instructionTInstructionThe instruction to measure.
Returns
- int
The size.
GetStackPopCount(in TInstruction)
Gets a value indicating the number of values an instruction pops from the stack.
int GetStackPopCount(in TInstruction instruction)
Parameters
instructionTInstructionThe instruction to get the stack pop count from.
Returns
- int
The number of stack slots the instruction pops.
GetStackPushCount(in TInstruction)
Gets a value indicating the number of values an instruction pushes on the stack.
int GetStackPushCount(in TInstruction instruction)
Parameters
instructionTInstructionThe instruction to get the stack push count from.
Returns
- int
The number of stack slots the instruction pushes.
GetWrittenVariables(in TInstruction, ICollection<IVariable>)
Gets a collection of variables that an instruction writes to.
void GetWrittenVariables(in TInstruction instruction, ICollection<IVariable> variablesBuffer)
Parameters
instructionTInstructionThe instruction to get the variables from.
variablesBufferICollection<IVariable>The output buffer to add the written variables into.