[−][src]Enum riscv_asm::Instr
Variants
Fields of Fence
Jumps to a target address and saves the return address
The target address is obtained by adding the sign-extended imm12
to the register rs1
then setting the LSB to 0.
The instruction following the jump (pc + 4) is written to register rd
The standard software calling convention uses x1
as the return address
register and x5
as an alternative link register.
Jumps to a relative address
imm20
is sign-extended and added to the address of the jump
instruction to form the jump target address.
The standard software calling convention uses x1
as the return address
register and x5
as an alternative link register.
Make a service request to the execution environment
The EEI will define how parameters for the service request are passed, but usually these will be in define locations in the integer register file.
Return control to a debugging environment
Fields of Wfi
Fields of Mret
Fields of Csrrc
rs1: Reg
Fields of Csrrwi
rd: Reg
Fields of Hint
hint: ()
TODO: Encode hint instructions Most of them use rd == x0 as a reserved space
Trait Implementations
impl Clone for Instr
[src]
impl Copy for Instr
[src]
impl Debug for Instr
[src]
impl Eq for Instr
[src]
impl PartialEq<Instr> for Instr
[src]
impl StructuralEq for Instr
[src]
impl StructuralPartialEq for Instr
[src]
Auto Trait Implementations
impl RefUnwindSafe for Instr
impl Send for Instr
impl Sync for Instr
impl Unpin for Instr
impl UnwindSafe for Instr
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,