summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Perrouault <samuel.perrouault@gmail.com>2025-03-26 14:43:00 +0100
committerSamuel Perrouault <samuel.perrouault@gmail.com>2025-03-26 14:43:00 +0100
commitb535230464c06345ded0d378e2d976b522d6023d (patch)
tree98d0c6a388d840dbcd5779f221627a1f77b1d1be
parent0bea359bb52b55e805f0bbe5a2998da9f3cba66b (diff)
implement ADD Vx, Vy
-rw-r--r--src/chip8.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/chip8.rs b/src/chip8.rs
index 22c8570..8dca81e 100644
--- a/src/chip8.rs
+++ b/src/chip8.rs
@@ -122,6 +122,14 @@ impl Chip8 {
eprintln!("XOR V{}, V{}", x, y);
self.v[x] = self.v[x] ^ self.v[y];
}
+ 0x0004 => {
+ eprintln!("ADD V{}, V{}", x, y);
+ let vx = self.v[x] as u16;
+ let vy = self.v[y] as u16;
+ let v = vx + vy;
+ self.v[0xF] = if v > 255 { 1 } else { 0 };
+ self.v[x] = v as u8;
+ }
_ => unknown_opcode(opcode),
},
0x9000 => {