30 lines
490 B
Rust
30 lines
490 B
Rust
#[derive(Clone, Debug)]
|
|
pub struct Memory {
|
|
pub array: [u8; 64],
|
|
}
|
|
|
|
impl Default for Memory {
|
|
fn default() -> Self {
|
|
Memory {
|
|
array: [0; 64],
|
|
}
|
|
}
|
|
}
|
|
|
|
pub struct In {
|
|
addr: u8,
|
|
op1: u8,
|
|
op2: u8,
|
|
}
|
|
|
|
impl Memory {
|
|
pub fn write(&mut self, addr: u8, val: u8) {
|
|
if addr == 0 { /* nop */ }
|
|
else { self.array[addr as usize] = val & 0b111111; }
|
|
}
|
|
|
|
pub fn read(&mut self, addr: u8) -> u8 {
|
|
if addr == 0 { 0 }
|
|
else { self.array[addr as usize] }
|
|
}
|
|
} |