asmjit::BaseInst Class Reference

Instruction id, options, and extraReg in a single structure.

This structure exists mainly to simplify analysis and validation API that requires BaseInst and Operand[] array.

Member Functions

Construction & Destruction
Instruction id and modifiers
Instruction Options
Extra Register
ARM Specific

Static Functions



Member Enumeration Documentation

BaseInst::Id : uint32_tenum◆ 


Invalid or uninitialized instruction id.


Abstract instruction (BaseBuilder and BaseCompiler).

Constructor & Destructor Documentation

BaseInst::BaseInst(InstId instId = 0, InstOptions options = InstOptions::kNone)explicitnoexcept◆ 

Creates a new BaseInst instance with id and options set.

Default values of id and options are zero, which means 'none' instruction. Such instruction is guaranteed to never exist for any architecture supported by AsmJit.

Member Function Documentation

InstId BaseInst::id() constnoexcept◆ 

Returns the instruction id with modifiers.

void BaseInst::setId(InstId id)noexcept◆ 

Sets the instruction id and modiiers from id.

void BaseInst::resetId()noexcept◆ 

Resets the instruction id and modifiers to zero, see kIdNone.

InstId BaseInst::realId() constnoexcept◆ 

Returns a real instruction id that doesn't contain any modifiers.

Member Data Documentation

InstId BaseInst::_id◆ 

Instruction id with modifiers.

InstOptions BaseInst::_options◆ 

Instruction options.

RegOnly BaseInst::_extraReg◆ 

Extra register used by the instruction (either REP register or AVX-512 selector).