Website Summary Files Commits Branches @commit @diff @stats
path: root / assembler / src / parser / code_gen.rs
diff options
context:
space:
mode:
1 files changed, 11 insertions, 0 deletions
-rw-r--r--assembler/src/parser/code_gen.rs11
diff --git a/assembler/src/parser/code_gen.rs b/assembler/src/parser/code_gen.rs
index 77f2c2f..4352e9e 100644
--- a/assembler/src/parser/code_gen.rs
+++ b/assembler/src/parser/code_gen.rs
@@ -52,4 +52,15 @@ impl Program {
}
self.instructions.clear();
}
+
+ pub(crate) fn to_bytes(self, absolute_start: usize) -> Vec<u8> {
+ let mut res = Vec::new();
+ res.resize(absolute_start, Default::default());
+ res.extend(self.constants);
+ res
+ .into_iter()
+ .map(|x| x.to_be_bytes())
+ .flatten()
+ .collect()
+ }
}