Struct iced_x86::InstructionInfo[][src]

pub struct InstructionInfo { /* fields omitted */ }
Expand description

Contains information about an instruction, eg. read/written registers, read/written RFLAGS bits, CPUID feature bit, etc. Created by an InstructionInfoFactory.

Implementations

Gets all accessed registers. This method doesn’t return all accessed registers if is_save_restore_instruction() is true.

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

Gets all accessed memory locations

👎 Deprecated since 1.11.0:

Use Instruction::is_privileged() instead

true if it’s a privileged instruction (all CPL=0 instructions (except VMCALL) and IOPL instructions IN, INS, OUT, OUTS, CLI, STI)

👎 Deprecated since 1.11.0:

Use Instruction::is_stack_instruction() instead

true if this is an instruction that implicitly uses the stack pointer (SP/ESP/RSP), eg. CALL, PUSH, POP, RET, etc. See also Instruction::stack_pointer_increment()

👎 Deprecated since 1.11.0:

Use Instruction::is_save_restore_instruction() instead

true if it’s an instruction that saves or restores too many registers (eg. FXRSTOR, XSAVE, etc). used_registers() won’t return all accessed registers.

👎 Deprecated since 1.11.0:

Use Instruction::encoding() instead

Instruction encoding, eg. Legacy, 3DNow!, VEX, EVEX, XOP

👎 Deprecated since 1.11.0:

Use Instruction::cpuid_features() instead

Gets the CPU or CPUID feature flags

👎 Deprecated since 1.11.0:

Use Instruction::flow_control() instead

Control flow info

Operand #0 access

Operand #1 access

Operand #2 access

Operand #3 access

Operand #4 access

👎 Deprecated since 1.11.0:

This method can panic, use try_op_access() instead

Gets operand access

Panics

Panics if operand is invalid

Arguments

  • operand: Operand number, 0-4

Gets operand access

Errors

Fails if operand is invalid

Arguments

  • operand: Operand number, 0-4
👎 Deprecated since 1.11.0:

Use Instruction::rflags_read() instead

All flags that are read by the CPU when executing the instruction. This method returns a RflagsBits value. See also rflags_modified().

👎 Deprecated since 1.11.0:

Use Instruction::rflags_written() instead

All flags that are written by the CPU, except those flags that are known to be undefined, always set or always cleared. This method returns a RflagsBits value. See also rflags_modified().

👎 Deprecated since 1.11.0:

Use Instruction::rflags_cleared() instead

All flags that are always cleared by the CPU. This method returns a RflagsBits value. See also rflags_modified().

👎 Deprecated since 1.11.0:

Use Instruction::rflags_set() instead

All flags that are always set by the CPU. This method returns a RflagsBits value. See also rflags_modified().

👎 Deprecated since 1.11.0:

Use Instruction::rflags_undefined() instead

All flags that are undefined after executing the instruction. This method returns a RflagsBits value. See also rflags_modified().

👎 Deprecated since 1.11.0:

Use Instruction::rflags_modified() instead

All flags that are modified by the CPU. This is rflags_written() + rflags_cleared() + rflags_set() + rflags_undefined(). This method returns a RflagsBits value.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.