Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / parser / code_gen.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/parser/code_gen.rs
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.tar
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.tar.gz
tonkobali-13bc44e09c4e0cb2f4e9f90843716624e4c1cde1.zip
Parentcf56360e18a05da6c55148b2011fd22f8224bfef (diff)
fix(assembler): Fix addressing
1 files changed, 3 insertions, 1 deletions
-rw-r--r--assembler/src/parser/code_gen.rs4
diff --git a/assembler/src/parser/code_gen.rs b/assembler/src/parser/code_gen.rs
index 92bf1d1..7d6fc45 100644
--- a/assembler/src/parser/code_gen.rs
+++ b/assembler/src/parser/code_gen.rs
@@ -27,8 +27,10 @@ impl Program {
/* Machine code generation */
- pub(crate) fn instructions_to_constants(&mut self, absolute_start: usize) {
+ pub(crate) fn instructions_to_constants(&mut self, mut absolute_start: usize) {
+ absolute_start += 1;
let constlen = self.constants.len();
+ self.constants.insert(0, (absolute_start + constlen) as Word);
for instr in &mut self.instructions {
for arg in &mut instr.args {