aboutsummaryrefslogtreecommitdiff
path: root/src/cpu.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu.rs')
-rw-r--r--src/cpu.rs36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/cpu.rs b/src/cpu.rs
index 4fad73e..1b7f9fc 100644
--- a/src/cpu.rs
+++ b/src/cpu.rs
@@ -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"),
}
}
-
}