@ -36,6 +36,10 @@ impl Cpu {
}
pub fn next_instruction(&self) -> String {
format!("{:?}", decode(self.code[self.IP.0 as usize]))
fn load(&mut self, reg: Register, addr: u4) {
match reg {
Register::R0 => self.R0 = Wrapping(self.data[u8::from(addr) as usize]),
@ -35,6 +35,7 @@ fn main() -> Result<(), Box<dyn Error>> {
let code = read_code(args.code)?;
let mut cpu = Cpu::new(&code);
loop {
println!("{}", cpu.next_instruction());
if cpu.step() {
break;
@ -42,5 +43,6 @@ fn main() -> Result<(), Box<dyn Error>> {
cpu.visualize();
Ok(())