[−][src]Struct xori::arch::x86::archx86::Instructionx86
pub struct Instructionx86<'a> { pub cinfo: CodeInfo<'a>, pub start: u64, pub cursor: u64, pub end: u64, pub length: usize, pub size: Sizesx86, pub mode: Modex86, pub prefix: PrefixStatex86, pub opcode: Opcodex86, pub register: Option<Registerx86>, pub immediates: Option<Immediatex86>, pub mod_rm: Option<ModRmx86>, pub display: Option<OperandDisplay>, pub instr_index: u16, pub instr_spec: Option<u16>, pub operand_size: u16, pub operands: Option<[OperandSetPair; 6]>, }
The internal instruction container
Fields
cinfo: CodeInfo<'a>
start: u64
The start of the instruction, usable with the reader
cursor: u64
the current position in the reader
end: u64
The last byte of the opcode, not counting any ModR/M extension
length: usize
The length of the instruction, in bytes
size: Sizesx86
mode: Modex86
The mode to disassemble for (64-bit, protected, real)
prefix: PrefixStatex86
holds the state of the prefixes
opcode: Opcodex86
opcode state
register: Option<Registerx86>
various critical pieces of data, in bytes
immediates: Option<Immediatex86>
Immediates. There can be two in some cases
mod_rm: Option<ModRmx86>
Portions of the ModR/M byte
display: Option<OperandDisplay>
The specification for how to extract and interpret one operand.
instr_index: u16
instr_spec: Option<u16>
operand_size: u16
operands: Option<[OperandSetPair; 6]>
Methods
impl<'a> Instructionx86<'a>
[src]
impl<'a> Instructionx86<'a>
pub fn new(_code: CodeInfo<'a>) -> Instructionx86<'a>
[src]
pub fn new(_code: CodeInfo<'a>) -> Instructionx86<'a>
Trait Implementations
impl<'a> Debug for Instructionx86<'a>
[src]
impl<'a> Debug for Instructionx86<'a>
Auto Trait Implementations
impl<'a> Send for Instructionx86<'a>
impl<'a> Send for Instructionx86<'a>
impl<'a> Sync for Instructionx86<'a>
impl<'a> Sync for Instructionx86<'a>
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more