From 32b7dacc64b70c12096ecb4007465e41f3c2098a Mon Sep 17 00:00:00 2001
From: David Li
Date: Tue, 15 Dec 2015 13:38:54 -0500
Subject: Outline the simulator
---
src/memory.rs | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 src/memory.rs
(limited to 'src/memory.rs')
diff --git a/src/memory.rs b/src/memory.rs
new file mode 100644
index 0000000..854b0ea
--- /dev/null
+++ b/src/memory.rs
@@ -0,0 +1,21 @@
+use isa::{Instruction};
+
+pub struct Memory {
+ memory: Vec,
+}
+
+impl Memory {
+ pub fn new(size: usize) -> Memory {
+ Memory {
+ memory: Vec::with_capacity(size),
+ }
+ }
+
+ pub fn read_word(&self, address: usize) -> Option {
+ self.memory.get(address).map(Clone::clone)
+ }
+
+ pub fn read_instruction(&self, pc: usize) -> Option {
+ self.memory.get(pc).map(Clone::clone).map(Instruction::new)
+ }
+}
--
cgit v1.2.3