Struct zydis::ffi::DecodedInstruction
source · #[repr(C)]pub struct DecodedInstruction {Show 17 fields
pub machine_mode: MachineMode,
pub mnemonic: Mnemonic,
pub length: u8,
pub encoding: InstructionEncoding,
pub opcode_map: OpcodeMap,
pub opcode: u8,
pub stack_width: u8,
pub operand_width: u8,
pub address_width: u8,
pub operand_count: u8,
pub operand_count_visible: u8,
pub attributes: InstructionAttributes,
pub cpu_flags: &'static AccessedFlags<CpuFlag>,
pub fpu_flags: &'static AccessedFlags<FpuFlag>,
pub avx: AvxInfo,
pub meta: MetaInfo,
pub raw: RawInfo,
}
Fields§
§machine_mode: MachineMode
The machine mode used to decode this instruction.
mnemonic: Mnemonic
The instruction-mnemonic.
length: u8
The length of the decoded instruction.
encoding: InstructionEncoding
The instruction-encoding.
opcode_map: OpcodeMap
The opcode map.
opcode: u8
The instruction opcode.
stack_width: u8
The stack width.
operand_width: u8
The effective operand width.
address_width: u8
The effective address width.
operand_count: u8
The number of instruction operands.
operand_count_visible: u8
The number of explicit (visible) instruction operands.
attributes: InstructionAttributes
Instruction attributes.
cpu_flags: &'static AccessedFlags<CpuFlag>
Information about CPU flags accessed by the instruction.
The bits in the masks correspond to the actual bits in the
FLAGS/EFLAGS/RFLAGS
register.
fpu_flags: &'static AccessedFlags<FpuFlag>
Information about FPU flags accessed by the instruction.
avx: AvxInfo
Extended information for AVX
instructions.
meta: MetaInfo
Meta info.
raw: RawInfo
Detailed information about different instruction-parts.
Implementations§
source§impl DecodedInstruction
impl DecodedInstruction
sourcepub fn calc_absolute_address(
&self,
address: u64,
operand: &DecodedOperand
) -> Result<u64>
pub fn calc_absolute_address( &self, address: u64, operand: &DecodedOperand ) -> Result<u64>
Calculates the absolute address for the given instruction operand,
using the given address
as the address for this instruction.
sourcepub fn calc_absolute_address_ex(
&self,
address: u64,
operand: &DecodedOperand,
context: &RegisterContext
) -> Result<u64>
pub fn calc_absolute_address_ex( &self, address: u64, operand: &DecodedOperand, context: &RegisterContext ) -> Result<u64>
Behaves like calc_absolute_address
, but takes runtime-known values of
registers passed in the context
into account.
Trait Implementations§
source§impl Clone for DecodedInstruction
impl Clone for DecodedInstruction
source§fn clone(&self) -> DecodedInstruction
fn clone(&self) -> DecodedInstruction
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DecodedInstruction
impl Debug for DecodedInstruction
source§impl Hash for DecodedInstruction
impl Hash for DecodedInstruction
source§impl PartialEq for DecodedInstruction
impl PartialEq for DecodedInstruction
source§fn eq(&self, other: &DecodedInstruction) -> bool
fn eq(&self, other: &DecodedInstruction) -> bool
self
and other
values to be equal, and is used
by ==
.