microprobe.code.ins.Instruction

class Instruction[source]

Bases: Pickable

Class to represent an instruction

__init__()[source]

Methods

__init__()

add_allow_register(reg)

param reg:

add_comment(comment)

param comment:

add_decorator(name, value)

param key:

decorator name

allows(reg)

param reg:

assembly()

Assembly representation of the instruction.

binary()

Binary representation of the instruction.

check_context(context)

param context:

copy()

Return a copy of the instruction.

memory_operands()

Instruction memory operands.

operand_by_field(fieldname)

param fieldname:

operand_fields()

Instruction field names of the operands.

operands()

Instruction operands.

register_context_callback(key, ...)

param key:

rm_decorator(name)

set_address(address)

param address:

set_arch_type(instrtype)

param instrtype:

set_label(label)

param label:

set_operands(values[, context, check])

param values:

sets()

Return the list of registers set by the instruction.

unset_address()

Unset instruction address.

uses()

Return the list of registers used by the instruction.

Attributes

address

Instruction address (InstructionAddress)

allowed_regs

List of allowed registers of the instructon.

architecture_type

Instruction architecture type (InstructionType).

comments

List of comments of the instruction (list).

context_callbacks

Returns the list of context callbacks registered.

decorators

Instruction decorators (dict).

label

Instruction label (str).




set_arch_type(instrtype)[source]
Parameters:

instrtype

register_context_callback(key, checking_function, fixing_function)[source]
Parameters:
  • key

  • checking_function

  • fixing_function

property context_callbacks

Returns the list of context callbacks registered.

check_context(context: Context)[source]
Parameters:

context

property architecture_type

Instruction architecture type (InstructionType).

property decorators

Instruction decorators (dict).

memory_operands()[source]

Instruction memory operands.

Return type:

list of MemoryOperands

operands()[source]

Instruction operands.

Return type:

list of Operands

copy()[source]

Return a copy of the instruction.

Return type:

Instruction

operand_by_field(fieldname)[source]
Parameters:

fieldname

operand_fields()[source]

Instruction field names of the operands.

Return type:

list of str

set_operands(values, context=None, check=True)[source]
Parameters:

values

sets()[source]

Return the list of registers set by the instruction.

Return type:

list of Register

uses()[source]

Return the list of registers used by the instruction.

Return type:

list of Register

add_allow_register(reg)[source]
Parameters:

reg

add_comment(comment)[source]
Parameters:

comment

add_decorator(name, value)[source]
Parameters:
  • key – decorator name

  • value – decorator value

rm_decorator(name)[source]
property comments

List of comments of the instruction (list).

allows(reg)[source]
Parameters:

reg

property allowed_regs

List of allowed registers of the instructon.

set_label(label: str | None)[source]
Parameters:

label

property label

Instruction label (str).

assembly()[source]

Assembly representation of the instruction.

Return type:

str

binary()[source]

Binary representation of the instruction.

Return type:

str

property address

Instruction address (InstructionAddress)

set_address(address: Address)[source]
Parameters:

address

unset_address()[source]

Unset instruction address.