Struct rabbitizer::Instruction
source · #[repr(C)]pub struct Instruction {
pub unique_id: InstrId,
pub vram: u32,
pub in_handwritten_function: bool,
pub category: InstrCategory,
/* private fields */
}Fields§
§unique_id: InstrId§vram: u32§in_handwritten_function: bool§category: InstrCategoryImplementations§
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 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) -> i32
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
pub fn is_likely_handwritten(&self) -> bool
pub fn is_nop(&self) -> bool
pub fn is_unconditional_branch(&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: i32 ) -> 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 more