blob: 811e0cf1f674303f240237cbfd0d2e814bd28f3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
mod assembler;
mod cpu;
mod instructions;
mod memory;
use cpu::CPU;
use memory::Memory;
use crate::assembler::assembler;
fn main() {
let mut cpu = CPU::default();
let mut mem = Memory::new();
let asm = std::fs::read_to_string("program.asm").unwrap();
let program = assembler(&asm);
for (i, byte) in program.iter().enumerate() {
mem.write(i as u16, *byte);
}
while !cpu.halted {
cpu.step(&mut mem);
println!("{:?}", cpu);
}
}
|