diff options
| author | Samuel Perrouault <samuel.perrouault@gmail.com> | 2025-03-26 16:18:33 +0100 |
|---|---|---|
| committer | Samuel Perrouault <samuel.perrouault@gmail.com> | 2025-03-26 16:18:33 +0100 |
| commit | db98835fea3bcb8a04530e612cca5081e5c2682a (patch) | |
| tree | 08d5177dbee2d4d94c7f09e102b3ae3a01669bac /src | |
| parent | 7e9aa203cd7fea1644ed71055c9e5601d1daca39 (diff) | |
turn LD [I] into a single memcpy
Diffstat (limited to 'src')
| -rw-r--r-- | src/chip8.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/chip8.rs b/src/chip8.rs index a48b86a..b245861 100644 --- a/src/chip8.rs +++ b/src/chip8.rs @@ -184,15 +184,13 @@ impl Chip8 { 0xF000 => match opcode & 0x00FF { 0x0055 => { eprintln!("LD [I], V{}", x); - for i in 0..=x { - self.memory[self.i as usize + i] = self.v[i]; - } + let i = self.i as usize; + self.memory[i..=i + x].copy_from_slice(&self.v[..=x]); } 0x0065 => { eprintln!("LD V{}, [I]", x); - for i in 0..=x { - self.v[i] = self.memory[self.i as usize + i]; - } + let i = self.i as usize; + self.v[..=x].copy_from_slice(&self.memory[i..=i + x]); } _ => unknown_opcode(opcode), }, |
