diff options
Diffstat (limited to 'eater_cpu/cpp/Veater_computer__main.cpp')
| -rw-r--r-- | eater_cpu/cpp/Veater_computer__main.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/eater_cpu/cpp/Veater_computer__main.cpp b/eater_cpu/cpp/Veater_computer__main.cpp index b986029..c415454 100644 --- a/eater_cpu/cpp/Veater_computer__main.cpp +++ b/eater_cpu/cpp/Veater_computer__main.cpp @@ -10,20 +10,30 @@ #include "verilated_fst_c.h" #include "simpc_ui.h" +#include <algorithm> +#include <vector> //====================== void load_program(const std::unique_ptr<Veater_computer> &topp) { - // LDA 14 - topp->eater_computer->RAM->r_datastore[0] = 0x1e; - // ADD 15 - topp->eater_computer->RAM->r_datastore[1] = 0x2f; - // OUT - topp->eater_computer->RAM->r_datastore[2] = 0xe0; - // NOP - topp->eater_computer->RAM->r_datastore[3] = 0x00; - // HALT - topp->eater_computer->RAM->r_datastore[4] = 0xf0; + std::vector<uint8_t> instructions + // + {// LDA 14 + 0x1e, + // ADD 15 + 0x2f, + // SUB 13 + 0x3d, + // OUT + 0xe0, + // NOP + 0x00, + // HALT + 0xf0}; + std::copy(instructions.begin(), instructions.end(), + &topp->eater_computer->RAM->r_datastore[0]); + // Data @ 13 + topp->eater_computer->RAM->r_datastore[13] = 1; // Data @ 14 topp->eater_computer->RAM->r_datastore[14] = 14; // Data @ 15 |
