asmjit::InstNode Class Reference [¶]

Instruction node.
Wraps an instruction with its options and operands.
Instruction node.
Wraps an instruction with its options and operands.
Creates a new InstNode
instance.
Returns the instruction real id, see BaseInst::Id
.
Returns instruction options, see InstOptions for more details.
Tests whether instruction has the given option
set/enabled.
Sets instruction options
to the provided value, resetting all others.
Adds instruction options
to the instruction.
Clears instruction options
of the instruction (disables the given options).
Resets instruction options to none - disabling all instruction options.
Tests whether the node has an extra register operand.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets extra register operand to reg
.
Resets extra register operand.
Returns all operands instruction uses as Span<Operand>
.
Returns all operands instruction uses as Span<const Operand>
.
Returns operands array (const).
Returns operand count.
Returns operand capacity.
Sets operand count.
Returns operand at the given index
(const).
Sets operand at the given index
to op
.
Resets operand at the given index
to none.
Resets operands at [start, end)
range.
Tests whether the given operand type op_type
is used by the instruction.
Tests whether the instruction uses at least one register operand.
Tests whether the instruction uses at least one memory operand.
Tests whether the instruction uses at least one immediate operand.
Tests whether the instruction uses at least one label operand.
Returns the index of the given operand type op_type
.
If the operand type wa found, the value returned represents its index in operands() array, otherwise Globals::kNPos is returned to signalize that the operand was not found.
A shortcut that calls index_of_op_type(OperandType::kMem)
.
A shortcut that calls index_of_op_type(OperandType::kImm)
.
A shortcut that calls index_of_op_type(OperandType::kLabel)
.
The number of embedded operands for a default InstNode instance that are always allocated as a part of the instruction itself. Minimum embedded operands is 4, but in 32-bit more pointers are smaller and we can embed 5. The rest (up to 6 operands) is considered extended.
The number of operands InstNode holds is decided when InstNode is created.
Count of maximum number of operands InstNode can hold.