diff options
Diffstat (limited to 'src/cpu.rs')
| -rw-r--r-- | src/cpu.rs | 36 |
1 files changed, 17 insertions, 19 deletions
@@ -89,7 +89,6 @@ impl CPU { self.sp = self.sp.wrapping_sub(1); } - pub fn halt(&mut self) { self.halted = true; } @@ -114,7 +113,7 @@ impl CPU { pub fn mov_rr(&mut self, mem: &Memory) { let dest = mem.read(self.pc); self.inc_pc(); - let src= mem.read(self.pc); + let src = mem.read(self.pc); self.inc_pc(); let val = self.get_reg(src); @@ -123,7 +122,6 @@ impl CPU { self.zero = val == 0; } - pub fn add_rr(&mut self, mem: &Memory) { let dest = mem.read(self.pc); self.pc += 1; @@ -166,7 +164,6 @@ impl CPU { self.carry = carry; } pub fn add_ri(&mut self, mem: &Memory) { - let dest = mem.read(self.pc); self.pc += 1; let imm = mem.read(self.pc); @@ -192,7 +189,6 @@ impl CPU { self.carry = carry; } - pub fn sub_rr(&mut self, mem: &Memory) { let dest = mem.read(self.pc); self.pc += 1; @@ -235,7 +231,7 @@ impl CPU { self.carry = borrow; } - pub fn sub_ri(&mut self, mem: &Memory) { + pub fn sub_ri(&mut self, mem: &Memory) { let dest = mem.read(self.pc); self.pc += 1; let imm = mem.read(self.pc); @@ -261,7 +257,6 @@ impl CPU { self.carry = borrow; } - pub fn jmp(&mut self, mem: &Memory) { let low = mem.read(self.pc) as u16; self.inc_pc(); @@ -329,24 +324,28 @@ impl CPU { } pub fn mul(&mut self, mem: &Memory) { - let dest = mem.read(self.pc); self.inc_pc(); - let src = mem.read(self.pc); self.inc_pc(); + let dest = mem.read(self.pc); + self.inc_pc(); + let src = mem.read(self.pc); + self.inc_pc(); let lhs = self.get_reg(dest); let rhs = self.get_reg(src); let result16 = (lhs as u16) * (rhs as u16); - let result8 = (result16 & 0xFF) as u8; + let result8 = (result16 & 0xFF) as u8; self.set_reg(dest, result8); - self.zero = result8 == 0; + self.zero = result8 == 0; self.carry = result16 > 0xFF; } pub fn div(&mut self, mem: &Memory) { - let dest = mem.read(self.pc); self.inc_pc(); - let src = mem.read(self.pc); self.inc_pc(); + let dest = mem.read(self.pc); + self.inc_pc(); + let src = mem.read(self.pc); + self.inc_pc(); let lhs = self.get_reg(dest); let rhs = self.get_reg(src); @@ -365,16 +364,17 @@ impl CPU { // carry unchanged } - pub fn call(&mut self, mem: &mut Memory ) { - let low = mem.read(self.pc) as u16; self.inc_pc(); - let high = mem.read(self.pc) as u16; self.inc_pc(); + pub fn call(&mut self, mem: &mut Memory) { + let low = mem.read(self.pc) as u16; + self.inc_pc(); + let high = mem.read(self.pc) as u16; + self.inc_pc(); let addr = (high << 8) | low; let return_addr = self.pc; self.push16(mem, return_addr); self.pc = addr; - } pub fn ret(&mut self, mem: &mut Memory) { @@ -382,7 +382,6 @@ impl CPU { self.pc = addr; } - pub fn syscall(&mut self, mem: &Memory) { let num = mem.read(self.pc); self.pc = self.pc.wrapping_add(1); @@ -422,5 +421,4 @@ impl CPU { _ => panic!("Invalid register"), } } - } |
