Register

Trait Register 

Source
pub trait Register:
    Display
    + Debug
    + Eq
    + RegisterInternal<Self::Type>
    + Copy
    + Sized {
    type Type: Default + From<u8> + Into<u64> + Eq + Add + AddAssign + Sub + SubAssign + Display + Debug + Copy + Sized;

    const N: usize;

    // Required method
    fn from_bits(bits: u8) -> Option<Self>;
}
Expand description

Generic register

Required Associated Constants§

Source

const N: usize

The number of general purpose registers.

Canonically 32 unless E extension is used, in which case 16.

Required Associated Types§

Source

type Type: Default + From<u8> + Into<u64> + Eq + Add + AddAssign + Sub + SubAssign + Display + Debug + Copy + Sized

Register type.

u32 for RV32 and u64 for RV64.

Required Methods§

Source

fn from_bits(bits: u8) -> Option<Self>

Create a register from its bit representation

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Register for EReg<u32>

Source§

const N: usize = 16usize

Source§

type Type = u32

Source§

impl Register for EReg<u64>

Source§

const N: usize = 16usize

Source§

type Type = u64

Source§

impl Register for Reg<u32>

Source§

const N: usize = 32usize

Source§

type Type = u32

Source§

impl Register for Reg<u64>

Source§

const N: usize = 32usize

Source§

type Type = u64