Struct capstone::InsnDetail
source · pub struct InsnDetail<'a>(/* private fields */);
Expand description
Contains architecture-independent details about an Insn
.
To get more detail about the instruction, enable extra details for the
Capstone
instance with
Capstone::set_detail(True)
and use
Capstone::insn_detail()
.
let cs = Capstone::new()
.x86()
.mode(arch::x86::ArchMode::Mode32)
.detail(true) // needed to enable detail
.build()
.unwrap();
let insns = cs.disasm_all(b"\x90", 0x1000).unwrap();
for insn in insns.as_ref() {
println!("{}", insn);
let insn_detail: InsnDetail = cs.insn_detail(insn).unwrap();
println!(" {:?}", insn_detail.groups());
}
§Arch-specific detail
To get additional architecture-specific information, use the
.arch_detail()
method to get an ArchDetail
enum.
Implementations§
source§impl<'a> InsnDetail<'a>
impl<'a> InsnDetail<'a>
sourcepub fn regs_write(&self) -> &[RegId]
pub fn regs_write(&self) -> &[RegId]
Returns the implicit write registers
sourcepub fn groups(&self) -> &[InsnGroupId]
pub fn groups(&self) -> &[InsnGroupId]
Returns the groups to which this instruction belongs
sourcepub fn arch_detail(&self) -> ArchDetail<'_>
pub fn arch_detail(&self) -> ArchDetail<'_>
Architecture-specific detail
Trait Implementations§
Auto Trait Implementations§
impl<'a> RefUnwindSafe for InsnDetail<'a>
impl<'a> Send for InsnDetail<'a>
impl<'a> Sync for InsnDetail<'a>
impl<'a> Unpin for InsnDetail<'a>
impl<'a> UnwindSafe for InsnDetail<'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