diff options
| -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), }, |
