vtl_rs/memory.rs
1pub struct Memory {
2 pub data: Vec<i64>, // Memory array, switchable in width based on config (e.g. 8, 16, or 64-bit)
3}
4
5impl Memory {
6 pub fn new(size: usize) -> Self {
7 Memory {
8 data: vec![0; size], // Initialize memory
9 }
10 }
11
12 pub fn read(&self, address: usize) -> i64 {
13 self.data[address]
14 }
15
16 pub fn write(&mut self, address: usize, value: i64) {
17 self.data[address] = value;
18 }
19}