InstructionInfo

class iced_x86.InstructionInfo

Contains accessed registers and memory locations

op0_access

Operand #0 access

Type:

OpAccess

op1_access

Operand #1 access

Type:

OpAccess

op2_access

Operand #2 access

Type:

OpAccess

op3_access

Operand #3 access

Type:

OpAccess

op4_access

Operand #4 access

Type:

OpAccess

op_access(operand)

Gets operand access

Parameters:

operand (int) – Operand number, 0-4

Returns:

Operand access

Return type:

OpAccess

Raises:

ValueError – If operand is invalid

used_memory()

Gets all accessed memory locations

Returns:

All accessed memory locations

Return type:

List[UsedMemory]

used_registers()

Gets all accessed registers.

This method doesn’t return all accessed registers if Instruction.is_save_restore_instruction is True.

Returns:

All accessed registers

Return type:

List[UsedRegister]

Some instructions have a r16/r32 operand but only use the low 8 bits of the register. In that case this method returns the 8-bit register even if it’s SPL, BPL, SIL, DIL and the instruction was decoded in 16 or 32-bit mode. This is more accurate than returning the r16/r32 register. Example instructions that do this: PINSRB, ARPL