formatting

This commit is contained in:
krolxon 2026-01-13 19:21:22 +05:30
parent 5d34df5e38
commit 425184747c
4 changed files with 28 additions and 32 deletions

View File

@ -104,7 +104,6 @@ pub fn assembler(source: &str) -> Vec<u8> {
bytes.push(r1);
bytes.push(imm);
}
}
"sub" => {
@ -161,7 +160,6 @@ pub fn assembler(source: &str) -> Vec<u8> {
bytes.push(Instruction::MUL as u8);
bytes.push(r1);
bytes.push(r2);
}
"div" => {
@ -174,9 +172,7 @@ pub fn assembler(source: &str) -> Vec<u8> {
}
"call" => {
let addr = *symbols
.get(&tokens[1])
.expect("Unknown label");
let addr = *symbols.get(&tokens[1]).expect("Unknown label");
bytes.push(Instruction::CALL as u8);
bytes.push((addr & 0xFF) as u8); // low

View File

@ -89,7 +89,6 @@ impl CPU {
self.sp = self.sp.wrapping_sub(1);
}
pub fn halt(&mut self) {
self.halted = true;
}
@ -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;
@ -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,8 +324,10 @@ 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);
@ -345,8 +342,10 @@ impl CPU {
}
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);
@ -366,15 +365,16 @@ impl CPU {
}
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 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"),
}
}
}

View File

@ -5,10 +5,10 @@ mod memory;
use std::io;
use crate::assembler::assembler;
use clap::Parser;
use cpu::CPU;
use memory::Memory;
use clap::Parser;
use crate::assembler::assembler;
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
@ -17,11 +17,13 @@ struct Args {
filename: String,
}
fn main() {
let args = Args::parse();
let mut cpu = CPU {sp: 0xFFFE, ..Default::default( )};
let mut cpu = CPU {
sp: 0xFFFE,
..Default::default()
};
let mut mem = Memory::new();
let asm = std::fs::read_to_string(args.filename).unwrap();