diff options
| author | Samuel Perrouault <samuel.perrouault@gmail.com> | 2025-03-26 14:43:00 +0100 |
|---|---|---|
| committer | Samuel Perrouault <samuel.perrouault@gmail.com> | 2025-03-26 14:43:00 +0100 |
| commit | b535230464c06345ded0d378e2d976b522d6023d (patch) | |
| tree | 98d0c6a388d840dbcd5779f221627a1f77b1d1be /src | |
| parent | 0bea359bb52b55e805f0bbe5a2998da9f3cba66b (diff) | |
implement ADD Vx, Vy
Diffstat (limited to 'src')
| -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 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 => { |
