Formatter

Struct Formatter 

Source
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<'_, '_>

Source§

fn options(&self) -> &Options

Source§

fn write_space(&mut self) -> Result

Source§

fn write_separator(&mut self) -> Result

Source§

fn write_s(&mut self, s: bool) -> Result

Mnemonic suffix, updates status flags when present
Source§

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

In LDM/STM, write the last accessed address back to the base register
Source§

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

In LDR/STR and similar, subtract the index register from the base register
Source§

fn write_uimm(&mut self, uimm: u32) -> Result

Unsigned immediate
Source§

fn write_simm(&mut self, simm: i32) -> Result

Signed immediate
Source§

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

The destination of a BLX instruction, which can be direct (immediate) or indirect (register)
Source§

fn write_cond(&mut self, cond: Cond) -> Result

Mnemonic suffix, specifies the condition for whether to execute the instruction
Source§

fn write_reg(&mut self, reg: Reg) -> Result

General-purpose register
Source§

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

Status register
Source§

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

Second operand of the MSR instruction, can be an immediate or a register
Source§

fn write_shift_op(&mut self, shift_op: ShiftOp) -> Result

Shift operation
Source§

fn write_coproc(&mut self, coproc: Coproc) -> Result

Coprocessor
Source§

fn write_co_reg(&mut self, co_reg: CoReg) -> Result

Coprocessor register
Source§

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

Register shifted by another register
Source§

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

Second operand of a shift instruction, can be an immediate or a register
Source§

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

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

The memory address of an LDC/STC instruction
Source§

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

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

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

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

The memory address of a miscellaneous load/store instruction
Source§

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

Mnemonic suffix for SRS/RFE, specifies how to step the stack pointer
Source§

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

Mnemonic suffix, specifies which half of a register to use as an operand
Source§

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

Mnemonic suffix, round the multiplication result instead of truncating
Source§

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

General-purpose register for single-precision floating-point numbers
Source§

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

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

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

Second operand of a VCMP.F64 instruction, can be zero or a register
Source§

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

List of general-purpose double-precision floation-point registers, used by VLDM/VSTM
Source§

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

Floating-Point Status and Control Register
Source§

fn write_vldm_vstm_mode(&mut self, vldm_vstm_mode: VldmVstmMode) -> Result

Mnemonic suffix for VLDM/VSTM, specifies how to step the base address
Source§

fn write_ins(&mut self, ins: &Ins) -> Result

Source§

impl Write for Formatter<'_, '_>

Source§

fn write_str(&mut self, s: &str) -> Result

Writes a string slice into this writer, returning whether the write succeeded. Read more
1.1.0 · Source§

fn write_char(&mut self, c: char) -> Result<(), Error>

Writes a char into this writer, returning whether the write succeeded. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Glue for usage of the write! macro with implementors of this trait. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.