pub struct Formatter<'a, 'b> {
pub options: &'a Options,
pub formatter: &'a mut Formatter<'b>,
}Fields§
§options: &'a Options§formatter: &'a mut Formatter<'b>Trait Implementations§
Source§impl FormatIns for Formatter<'_, '_>
impl FormatIns for Formatter<'_, '_>
fn options(&self) -> &Options
fn write_space(&mut self) -> Result
fn write_separator(&mut self) -> Result
Source§fn write_l(&mut self, l: bool) -> Result
fn write_l(&mut self, l: bool) -> Result
Mnemonic suffix, specifies a long load/store for LDC/STC instructions
Source§fn write_wb(&mut self, wb: bool) -> Result
fn write_wb(&mut self, wb: bool) -> Result
In LDM/STM, write the last accessed address back to the base register
Source§fn write_user_mode(&mut self, user_mode: bool) -> Result
fn write_user_mode(&mut self, user_mode: bool) -> Result
In LDM/STM, access user mode registers while in a privileged mode
Source§fn write_subtract(&mut self, subtract: bool) -> Result
fn write_subtract(&mut self, subtract: bool) -> Result
In LDR/STR and similar, subtract the index register from the base register
Source§fn write_uimm(&mut self, uimm: u32) -> Result
fn write_uimm(&mut self, uimm: u32) -> Result
Unsigned immediate
Source§fn write_simm(&mut self, simm: i32) -> Result
fn write_simm(&mut self, simm: i32) -> Result
Signed immediate
Source§fn write_branch_target(&mut self, branch_target: BranchTarget) -> Result
fn write_branch_target(&mut self, branch_target: BranchTarget) -> Result
The direct destination address of a branch instruction
Source§fn write_blx_target(&mut self, blx_target: BlxTarget) -> Result
fn write_blx_target(&mut self, blx_target: BlxTarget) -> Result
The destination of a BLX instruction, which can be direct (immediate) or indirect (register)
Source§fn write_cond(&mut self, cond: Cond) -> Result
fn write_cond(&mut self, cond: Cond) -> Result
Mnemonic suffix, specifies the condition for whether to execute the instruction
Source§fn write_reg_list(&mut self, reg_list: RegList) -> Result
fn write_reg_list(&mut self, reg_list: RegList) -> Result
List of general-purpose registers, used by LDM/STM
Source§fn write_status_reg(&mut self, status_reg: StatusReg) -> Result
fn write_status_reg(&mut self, status_reg: StatusReg) -> Result
Status register
Source§fn write_status_fields(&mut self, status_fields: StatusFields) -> Result
fn write_status_fields(&mut self, status_fields: StatusFields) -> Result
Status register with field masks
Source§fn write_msr_op2(&mut self, msr_op2: MsrOp2) -> Result
fn write_msr_op2(&mut self, msr_op2: MsrOp2) -> Result
Second operand of the MSR instruction, can be an immediate or a register
Source§fn write_shift_op(&mut self, shift_op: ShiftOp) -> Result
fn write_shift_op(&mut self, shift_op: ShiftOp) -> Result
Shift operation
Source§fn write_coproc(&mut self, coproc: Coproc) -> Result
fn write_coproc(&mut self, coproc: Coproc) -> Result
Coprocessor
Source§fn write_co_reg(&mut self, co_reg: CoReg) -> Result
fn write_co_reg(&mut self, co_reg: CoReg) -> Result
Coprocessor register
Source§fn write_op2(&mut self, op2: Op2) -> Result
fn write_op2(&mut self, op2: Op2) -> Result
Second operand of a data-processing operation, can be an immediate, an immediate-shifted register or a register-shifted register.
Source§fn write_shift_reg(&mut self, shift_reg: ShiftReg) -> Result
fn write_shift_reg(&mut self, shift_reg: ShiftReg) -> Result
Register shifted by another register
Source§fn write_shift_imm(&mut self, shift_imm: ShiftImm) -> Result
fn write_shift_imm(&mut self, shift_imm: ShiftImm) -> Result
Register shifted by an immediate
Source§fn write_op2_shift(&mut self, op2_shift: Op2Shift) -> Result
fn write_op2_shift(&mut self, op2_shift: Op2Shift) -> Result
Second operand of a shift instruction, can be an immediate or a register
Source§fn write_cps_effect(&mut self, cps_effect: CpsEffect) -> Result
fn write_cps_effect(&mut self, cps_effect: CpsEffect) -> Result
Mnemonic suffix for CPS, specifies whether to enable/disable interrupt bits or just set the processor mode
Source§fn write_aif_flags(&mut self, aif_flags: AifFlags) -> Result
fn write_aif_flags(&mut self, aif_flags: AifFlags) -> Result
In a CPS instruction, specifies which interrupt bits to enable or disable
Source§fn write_addr_ldc_stc(&mut self, addr_ldc_stc: AddrLdcStc) -> Result
fn write_addr_ldc_stc(&mut self, addr_ldc_stc: AddrLdcStc) -> Result
The memory address of an LDC/STC instruction
Source§fn write_ldm_stm_mode(&mut self, ldm_stm_mode: LdmStmMode) -> Result
fn write_ldm_stm_mode(&mut self, ldm_stm_mode: LdmStmMode) -> Result
Mnemonic suffix for LDM/STM, specifies how to step the base address
Source§fn write_addr_ldr_str(&mut self, addr_ldr_str: AddrLdrStr) -> Result
fn write_addr_ldr_str(&mut self, addr_ldr_str: AddrLdrStr) -> Result
The memory address of an LDR(B)/STR(B)/PLD instruction
Source§fn write_addr_ldr_str_post(
&mut self,
addr_ldr_str_post: AddrLdrStrPost,
) -> Result
fn write_addr_ldr_str_post( &mut self, addr_ldr_str_post: AddrLdrStrPost, ) -> Result
A post-indexed memory address for LDR(B)(T)/STR(B)(T)
Source§fn write_ldr_str_offset(&mut self, ldr_str_offset: LdrStrOffset) -> Result
fn write_ldr_str_offset(&mut self, ldr_str_offset: LdrStrOffset) -> Result
The offset value in the memory address of a LDR(B)/STR(B) instruction, can be an immediate or a register
Source§fn write_addr_misc_load(&mut self, addr_misc_load: AddrMiscLoad) -> Result
fn write_addr_misc_load(&mut self, addr_misc_load: AddrMiscLoad) -> Result
The memory address of a miscellaneous load/store instruction
Source§fn write_misc_load_offset(&mut self, misc_load_offset: MiscLoadOffset) -> Result
fn write_misc_load_offset(&mut self, misc_load_offset: MiscLoadOffset) -> Result
The offset value in the memory address of a miscellaneous load/store instruction, can be an immediate or a register
Source§fn write_srs_rfe_mode(&mut self, srs_rfe_mode: SrsRfeMode) -> Result
fn write_srs_rfe_mode(&mut self, srs_rfe_mode: SrsRfeMode) -> Result
Mnemonic suffix for SRS/RFE, specifies how to step the stack pointer
Source§fn write_endianness(&mut self, endianness: Endianness) -> Result
fn write_endianness(&mut self, endianness: Endianness) -> Result
Used by SETEND, specifies the endianness for data accesses
Source§fn write_reg_side(&mut self, reg_side: RegSide) -> Result
fn write_reg_side(&mut self, reg_side: RegSide) -> Result
Mnemonic suffix, specifies which half of a register to use as an operand
Source§fn write_swap_rm(&mut self, swap_rm: bool) -> Result
fn write_swap_rm(&mut self, swap_rm: bool) -> Result
Mnemonic suffix, when performing two 16x16 bit multiplications, swap the two halfwords of Rm
Source§fn write_round(&mut self, round: bool) -> Result
fn write_round(&mut self, round: bool) -> Result
Mnemonic suffix, round the multiplication result instead of truncating
Source§fn write_round_zero(&mut self, round_zero: bool) -> Result
fn write_round_zero(&mut self, round_zero: bool) -> Result
Mnemonic suffix, when converting a floating-point number to an integer, round the result towards zero
Source§fn write_sreg(&mut self, sreg: Sreg) -> Result
fn write_sreg(&mut self, sreg: Sreg) -> Result
General-purpose register for single-precision floating-point numbers
Source§fn write_dreg(&mut self, dreg: Dreg) -> Result
fn write_dreg(&mut self, dreg: Dreg) -> Result
General-purpose register for double-precision floating-point numbers
Source§fn write_nan_exc(&mut self, nan_exc: bool) -> Result
fn write_nan_exc(&mut self, nan_exc: bool) -> Result
Mnemonic suffix, specifies that a comparison operation should cause an exception if any operand is NaN
Source§fn write_vcmp_f32_op2(&mut self, vcmp_f32_op2: VcmpF32Op2) -> Result
fn write_vcmp_f32_op2(&mut self, vcmp_f32_op2: VcmpF32Op2) -> Result
Second operand of a VCMP.F32 instruction, can be zero or a register
Source§fn write_vcmp_f64_op2(&mut self, vcmp_f64_op2: VcmpF64Op2) -> Result
fn write_vcmp_f64_op2(&mut self, vcmp_f64_op2: VcmpF64Op2) -> Result
Second operand of a VCMP.F64 instruction, can be zero or a register
Source§fn write_sreg_list(&mut self, sreg_list: SregList) -> Result
fn write_sreg_list(&mut self, sreg_list: SregList) -> Result
List of general-purpose single-precision floation-point registers, used by VLDM/VSTM
Source§fn write_dreg_list(&mut self, dreg_list: DregList) -> Result
fn write_dreg_list(&mut self, dreg_list: DregList) -> Result
List of general-purpose double-precision floation-point registers, used by VLDM/VSTM
Source§fn write_dreg_index(&mut self, dreg_index: DregIndex) -> Result
fn write_dreg_index(&mut self, dreg_index: DregIndex) -> Result
A double-precision floating-point register and index (0 or 1) to move to/from
Source§fn write_fpscr(&mut self, fpscr: Fpscr) -> Result
fn write_fpscr(&mut self, fpscr: Fpscr) -> Result
Floating-Point Status and Control Register
Source§fn write_vldm_vstm_mode(&mut self, vldm_vstm_mode: VldmVstmMode) -> Result
fn write_vldm_vstm_mode(&mut self, vldm_vstm_mode: VldmVstmMode) -> Result
Mnemonic suffix for VLDM/VSTM, specifies how to step the base address
fn write_ins(&mut self, ins: &Ins) -> Result
Auto Trait Implementations§
impl<'a, 'b> Freeze for Formatter<'a, 'b>
impl<'a, 'b> !RefUnwindSafe for Formatter<'a, 'b>
impl<'a, 'b> !Send for Formatter<'a, 'b>
impl<'a, 'b> !Sync for Formatter<'a, 'b>
impl<'a, 'b> Unpin for Formatter<'a, 'b>
impl<'a, 'b> !UnwindSafe for Formatter<'a, 'b>
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