Struct lief::assembly::riscv::instruction::Instruction
pub struct Instruction { /* private fields */ }
Expand description
This structure represents a RISC-V (32 or 64 bit) instruction
Implementations§
§impl Instruction
impl Instruction
Trait Implementations§
§impl Instruction for Instruction
impl Instruction for Instruction
§fn to_string_no_address(&self) -> String
fn to_string_no_address(&self) -> String
Same as
Instruction::to_string
but without the address as prefix§fn is_terminator(&self) -> bool
fn is_terminator(&self) -> bool
True if the instruction marks the end of a basic block
§fn is_syscall(&self) -> bool
fn is_syscall(&self) -> bool
True if the instruction is a syscall
§fn is_memory_access(&self) -> bool
fn is_memory_access(&self) -> bool
True if the instruction performs a memory access
§fn is_move_reg(&self) -> bool
fn is_move_reg(&self) -> bool
True if the instruction is a register to register move.
§fn is_barrier(&self) -> bool
fn is_barrier(&self) -> bool
True if the instruction prevents executing the instruction
that immediatly follows the current. This includes return
or unconditional branch instructions
§fn is_indirect_branch(&self) -> bool
fn is_indirect_branch(&self) -> bool
True if the instruction is and indirect branch. Read more
§fn is_conditional_branch(&self) -> bool
fn is_conditional_branch(&self) -> bool
True if the instruction is conditionally jumping to the next
instruction or an instruction into some other basic block.
§fn is_unconditional_branch(&self) -> bool
fn is_unconditional_branch(&self) -> bool
True if the instruction is jumping (unconditionally) to some other
basic block.
§fn is_compare(&self) -> bool
fn is_compare(&self) -> bool
True if the instruction is a comparison
§fn is_move_immediate(&self) -> bool
fn is_move_immediate(&self) -> bool
True if the instruction is moving an immediate
§fn is_bitcast(&self) -> bool
fn is_bitcast(&self) -> bool
True if the instruction is doing a bitcast
§fn memory_access(&self) -> MemoryAccess
fn memory_access(&self) -> MemoryAccess
Memory access flags
§fn branch_target(&self) -> Result<u64, Error>
fn branch_target(&self) -> Result<u64, Error>
Given a
Instruction::is_branch
instruction, try to evaluate the address of the
destination.Auto Trait Implementations§
impl RefUnwindSafe for Instruction
impl !Send for Instruction
impl !Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
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