Struct capstone::arch::x86::X86InsnDetail
source · pub struct X86InsnDetail<'a>(/* private fields */);
Expand description
Contains X86-specific details for an instruction
Implementations§
source§impl<'a> X86InsnDetail<'a>
impl<'a> X86InsnDetail<'a>
sourcepub fn prefix(&self) -> &[u8; 4]
pub fn prefix(&self) -> &[u8; 4]
Instruction prefix, which can be up to 4 bytes.
A prefix byte gets value 0 when irrelevant.
See X86Prefix
for details.
prefix[0]
indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP
/REPNE
/LOCK
)
prefix[1]
indicates segment override (irrelevant for x86_64):
See X86_PREFIX_CS
/SS
/DS
/ES
/FS
/GS
.
prefix[2]
indicates operand-size override (X86_PREFIX_OPSIZE
)
prefix[3]
indicates address-size override (X86_PREFIX_ADDRSIZE
)
sourcepub fn opcode(&self) -> &[u8; 4]
pub fn opcode(&self) -> &[u8; 4]
Instruction opcode, which can be from 1 to 4 bytes in size. This contains VEX opcode as well. A trailing opcode byte gets value 0 when irrelevant.
sourcepub fn sib_index(&self) -> RegId
pub fn sib_index(&self) -> RegId
Scaled Index Byte (SIB) index, or X86_REG_INVALID when irrelevant
sourcepub fn sib_scale(&self) -> i8
pub fn sib_scale(&self) -> i8
Scaled Index Byte (SIB) scale, or X86_REG_INVALID when irrelevant
Trait Implementations§
source§impl<'a> Debug for X86InsnDetail<'a>
impl<'a> Debug for X86InsnDetail<'a>
source§impl<'a> DetailsArchInsn for X86InsnDetail<'a>
impl<'a> DetailsArchInsn for X86InsnDetail<'a>
type OperandIterator = X86OperandIterator<'a>
type Operand = X86Operand
fn operands(&self) -> X86OperandIterator<'a> ⓘ
Auto Trait Implementations§
impl<'a> RefUnwindSafe for X86InsnDetail<'a>
impl<'a> Send for X86InsnDetail<'a>
impl<'a> Sync for X86InsnDetail<'a>
impl<'a> Unpin for X86InsnDetail<'a>
impl<'a> UnwindSafe for X86InsnDetail<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more