hex_patch/asm/assembler.rs
1use std::error::Error;
2
3use crate::headers::Header;
4
5pub fn assemble(
6 asm: &str,
7 starting_virtual_address: u64,
8 header: &Header,
9) -> Result<Vec<u8>, Box<dyn Error>> {
10 let encoder = header
11 .get_encoder()
12 .map_err(|e| t!("errors.create_encoder", e = e))?;
13
14 let out = encoder
15 .asm(asm.to_string(), starting_virtual_address)
16 .map_err(|e| t!("errors.assemble", e = e))?;
17 Ok(out.bytes)
18}