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| format!("Failed to get encoder: {}", e))?;
13
14    let out = encoder
15        .asm(asm.to_string(), starting_virtual_address)
16        .map_err(|e| format!("Failed to assemble: {}", e))?;
17    Ok(out.bytes)
18}