summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/chip8.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/chip8.rs b/src/chip8.rs
index eae4a4f..ea3790b 100644
--- a/src/chip8.rs
+++ b/src/chip8.rs
@@ -140,6 +140,11 @@ impl Chip8 {
self.v[0xF] = if self.v[x] & 1 == 1 { 1 } else { 0 };
self.v[x] /= 2;
}
+ 0x0007 => {
+ eprintln!("SUBN V{}, V{}", x, y);
+ self.v[0xF] = if self.v[y] > self.v[x] { 1 } else { 0 };
+ self.v[x] = self.v[y].wrapping_sub(self.v[x]);
+ }
0x000E => {
eprintln!("SHL V{}", x);
self.v[0xF] = if (self.v[x] >> 7) & 1 == 1 { 1 } else { 0 };