#[repr(C)]pub struct Instruction {
pub unique_id: InstrId,
pub vram: u32,
pub in_handwritten_function: bool,
pub category: InstrCategory,
pub flags: u32,
/* private fields */
}
Fields§
§unique_id: InstrId
§vram: u32
§in_handwritten_function: bool
§category: InstrCategory
§flags: u32
Implementations§
Source§impl Instruction
impl Instruction
pub fn new(word: u32, vram: u32, instr_cat: InstrCategory) -> Self
pub fn get_opcode(&self) -> u32
pub fn get_rs(&self) -> u32
pub fn get_rs_o32(&self) -> GprO32
pub fn get_rs_n32(&self) -> GprN32
pub fn get_rt(&self) -> u32
pub fn get_rt_o32(&self) -> GprO32
pub fn get_rt_n32(&self) -> GprN32
pub fn get_rd(&self) -> u32
pub fn get_rd_o32(&self) -> GprO32
pub fn get_rd_n32(&self) -> GprN32
pub fn get_sa(&self) -> u32
pub fn get_function(&self) -> u32
pub fn get_cop0d(&self) -> u32
pub fn get_cop0d_cop0(&self) -> Cop0
pub fn get_instr_index(&self) -> u32
pub fn get_immediate(&self) -> u16
pub fn get_code(&self) -> u32
pub fn get_code_upper(&self) -> u32
pub fn get_code_lower(&self) -> u32
pub fn get_copraw(&self) -> u32
pub fn get_fs(&self) -> u32
pub fn get_fs_o32(&self) -> Cop1O32
pub fn get_fs_n32(&self) -> Cop1N32
pub fn get_fs_n64(&self) -> Cop1N64
pub fn get_ft(&self) -> u32
pub fn get_ft_o32(&self) -> Cop1O32
pub fn get_ft_n32(&self) -> Cop1N32
pub fn get_ft_n64(&self) -> Cop1N64
pub fn get_fd(&self) -> u32
pub fn get_fd_o32(&self) -> Cop1O32
pub fn get_fd_n32(&self) -> Cop1N32
pub fn get_fd_n64(&self) -> Cop1N64
pub fn get_cop1cs(&self) -> u32
pub fn get_cop1cs_cop1control(&self) -> Cop1Control
pub fn get_cop2t(&self) -> u32
pub fn get_cop2t_cop2(&self) -> Cop2
pub fn flags_get_r5900_disasm_as_data(&self) -> TrinaryValue
pub fn flags_set_r5900_disasm_as_data(&mut self, value: TrinaryValue)
pub fn flags_get_r5900_use_dollar(&self) -> TrinaryValue
pub fn flags_set_r5900_use_dollar(&mut self, value: TrinaryValue)
pub fn instr_id_type_name(&self) -> &'static str
pub fn raw(&self) -> u32
pub fn processed_immediate(&self) -> i32
pub fn instr_index_as_vram(&self) -> u32
pub fn branch_offset(&self) -> i32
pub fn branch_offset_generic(&self) -> i32
pub fn branch_vram_generic(&self) -> u32
pub fn destination_gpr(&self) -> Option<u32>
pub fn outputs_to_gpr_zero(&self) -> bool
pub fn opcode_name(&self) -> &'static str
pub fn blank_out(self)
pub fn is_implemented(&self) -> bool
👎Deprecated since 1.8.4: please use
is_valid
insteadpub fn is_likely_handwritten(&self) -> bool
pub fn is_nop(&self) -> bool
pub fn is_unconditional_branch(&self) -> bool
pub fn is_function_call(&self) -> bool
pub fn is_return(&self) -> bool
pub fn is_jumptable_jump(&self) -> bool
pub fn has_delay_slot(&self) -> bool
pub fn same_opcode(&self, other: &Instruction) -> bool
pub fn same_opcode_but_different_arguments(&self, other: &Instruction) -> bool
pub fn has_operand(&self, operand: OperandType) -> bool
pub fn has_operand_alias(&self, operand: OperandType) -> bool
pub fn is_valid(&self) -> bool
pub fn get_operand_type(&self, index: usize) -> OperandType
pub fn get_operands_slice(&self) -> &[OperandType]
pub fn instr_suffix(&self) -> InstrSuffix
pub fn is_branch(&self) -> bool
pub fn is_branch_likely(&self) -> bool
pub fn is_jump(&self) -> bool
pub fn is_jump_with_address(&self) -> bool
pub fn is_trap(&self) -> bool
pub fn is_float(&self) -> bool
pub fn is_double(&self) -> bool
pub fn is_unsigned(&self) -> bool
pub fn modifies_rs(&self) -> bool
pub fn modifies_rt(&self) -> bool
pub fn modifies_rd(&self) -> bool
pub fn reads_rs(&self) -> bool
pub fn reads_rt(&self) -> bool
pub fn reads_rd(&self) -> bool
pub fn reads_hi(&self) -> bool
pub fn reads_lo(&self) -> bool
pub fn modifies_hi(&self) -> bool
pub fn modifies_lo(&self) -> bool
pub fn modifies_fs(&self) -> bool
pub fn modifies_ft(&self) -> bool
pub fn modifies_fd(&self) -> bool
pub fn reads_fs(&self) -> bool
pub fn reads_ft(&self) -> bool
pub fn reads_fd(&self) -> bool
pub fn not_emited_by_compilers(&self) -> bool
pub fn not_emitted_by_compilers(&self) -> bool
pub fn can_be_hi(&self) -> bool
pub fn can_be_lo(&self) -> bool
pub fn does_link(&self) -> bool
pub fn does_dereference(&self) -> bool
pub fn does_load(&self) -> bool
pub fn does_store(&self) -> bool
pub fn maybe_is_move(&self) -> bool
pub fn is_pseudo(&self) -> bool
pub fn access_type(&self) -> AccessType
pub fn does_unsigned_memory_access(&self) -> bool
pub fn disassemble( &self, imm_override: Option<&str>, extra_l_just: c_int, ) -> String
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Instruction
impl Debug for Instruction
Auto Trait Implementations§
impl Freeze for Instruction
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