Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / main.rs
diff options
context:
space:
mode:
Commit13bc44e09c4e0cb2f4e9f90843716624e4c1cde1 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-02-14 00:45:40 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-02-14 00:45:40 +0200
Filesdceff1a98062d9887b30d8586a1d6466faa6ef01 /assembler/src/main.rs
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.tar
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.tar.gz
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.zip
Parentcf56360e18a05da6c55148b2011fd22f8224bfef (diff)
fix(assembler): Fix addressing
1 files changed, 6 insertions, 3 deletions
-rw-r--r--assembler/src/main.rs9
diff --git a/assembler/src/main.rs b/assembler/src/main.rs
index 7c68d1d..9df9dbd 100644
--- a/assembler/src/main.rs
+++ b/assembler/src/main.rs
@@ -2,12 +2,12 @@ mod lexer;
mod parser;
use std::fs::File;
-use std::io::{BufRead, BufReader};
+use std::io::{Write, BufRead, BufReader};
use parser::Program;
pub(crate) type Word = i64;
-static PROGRAM_START: usize = 10;
+static PROGRAM_START: usize = 2;
fn main() {
let file_path = "./example.s";
@@ -35,10 +35,13 @@ fn main() {
println!("");
prog.collapse_instructions();
println!("{}", prog);
+ println!("");
/* Machine code gen */
prog.instructions_to_constants(PROGRAM_START);
+ println!("{}", prog);
let binary = prog.to_bytes(PROGRAM_START);
-
+ let mut out = File::create("program.bin").unwrap();
+ out.write_all(&binary).unwrap();
}