[−][src]Trait riscv_sandbox::memory::Memory
Represents the main memory. It can be implemented by any structure which can handle loads and stores.
Using a trait enables us to implement direct-mapped memory, RAM with MMU, or any other kind of memory interface.
Required methods
fn get_8(&self, addr: usize) -> u8
fn get_16(&self, addr: usize) -> u16
fn get_32(&self, addr: usize) -> u32
fn set_8(&mut self, addr: usize, value: u8)
fn set_16(&mut self, addr: usize, value: u16)
fn set_32(&mut self, addr: usize, value: u32)
Implementations on Foreign Types
impl<'a> Memory for &'a mut [u8]
[src]
Simple Memory implementation for u8 slices
fn get_8(&self, addr: usize) -> u8
[src]
fn get_16(&self, addr: usize) -> u16
[src]
fn get_32(&self, addr: usize) -> u32
[src]
fn set_8(&mut self, addr: usize, value: u8)
[src]
fn set_16(&mut self, addr: usize, value: u16)
[src]
fn set_32(&mut self, addr: usize, value: u32)
[src]
impl Memory for Vec<u8>
[src]
Simple Memory implementation for u8 dynamic arrays (Vec
fn get_8(&self, addr: usize) -> u8
[src]
fn get_16(&self, addr: usize) -> u16
[src]
fn get_32(&self, addr: usize) -> u32
[src]
fn set_8(&mut self, addr: usize, value: u8)
[src]
fn set_16(&mut self, addr: usize, value: u16)
[src]
fn set_32(&mut self, addr: usize, value: u32)
[src]
impl Memory for Vec<u32>
[src]
Simple Memory implementation for u32 dynamic arrays (Vec