diff options
Diffstat (limited to 'src/chip8.rs')
| -rw-r--r-- | src/chip8.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/chip8.rs b/src/chip8.rs index 83139f4..988dc6e 100644 --- a/src/chip8.rs +++ b/src/chip8.rs @@ -64,6 +64,8 @@ impl Chip8 { } 0x000E => { eprintln!("RET"); + self.sp -= 1; + self.pc = self.stack[self.sp as usize]; } _ => unknown_opcode(opcode), }, @@ -71,6 +73,12 @@ impl Chip8 { eprintln!("JP {}", nnn); self.pc = nnn; } + 0x2000 => { + eprintln!("CALL {}", nnn); + self.stack[self.sp as usize] = self.pc; + self.sp += 1; + self.pc = nnn; + } 0x3000 => { eprintln!("SE V{}, {}", x, nn); if self.v[x] == nn { |
