summaryrefslogtreecommitdiff
path: root/src/storage
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-26 12:21:52 -0400
committerbd <bdunahu@operationnull.com>2025-03-26 12:21:52 -0400
commitb81c86b438123457be86af2e7c24375856afa742 (patch)
tree74f271585bce27de2434d8cd826fee09f6a71738 /src/storage
parent9eeea1ab8bf4eb17e5da46d57a6c1d455a0a262e (diff)
Add fetch stage implementation, tests, program loading, DTO object
Diffstat (limited to 'src/storage')
-rw-r--r--src/storage/dram.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/storage/dram.cc b/src/storage/dram.cc
index 371503d..f90f8db 100644
--- a/src/storage/dram.cc
+++ b/src/storage/dram.cc
@@ -56,6 +56,16 @@ Response Dram::read_word(Accessor accessor, int address, signed int &data)
});
}
+// TODO load a file instead and test this method
+void Dram::load(std::vector<signed int> program) {
+ unsigned long i;
+ for (i = 0; i < program.size(); ++i) {
+ int line, word;
+ get_memory_index(i, line, word);
+ this->data->at(line).at(word) = program[i];
+ }
+}
+
Response Dram::process(
Accessor accessor,
int address,