InstructionImpl

Class template for architecture-specific instructions

Note that all architecture-specific instances, like X86Instruction, instantiate and derive from this one.

abstract
class InstructionImpl : Instruction (
TId
TRegister
TDetail
) if (
is(TId == enum)
) {}

Members

Functions

id
auto id()

Retrieves instruction's id

Inherited Members

From Instruction

address
auto address()

Address (EIP) of this instruction

bytes
auto bytes()

Machine bytes of this instruction

mnemonic
auto mnemonic()

Ascii text of instruction mnemonic

opStr
auto opStr()

Ascii text of instruction operands

idAsInt
auto idAsInt()

Retrieves instruction's id as plain integer

name
string name()

Returns friendly string representation of an instruction's name

detail
const(Detail) detail()

More details about the instruction

isInGroup
bool isInGroup(in InstructionGroup group)

Checks whether the instruction belongs to the instruction group group

reads
bool reads(in Register reg)

Checks if the instruction IMPLICITLY uses a particular register

writes
bool writes(in Register reg)

Checks if the instruction IMPLICITLY modifies a particular register

writes
const(Register)[] writes()

Retrieves both the implicitly and explicitly written registers

reads
const(Register)[] reads()

Retrieves both the implicitly and explicitly read registers

Meta