1use uxn_tal::{Assembler, AssemblerError};
4
5fn main() -> Result<(), AssemblerError> {
6 let tal_source = r#"
7 ( Simple Counter Program )
8
9 |0100 @reset
10 #30 #18 DEO ( print '0' )
11 #31 #18 DEO ( print '1' )
12 #32 #18 DEO ( print '2' )
13 #0a #18 DEO ( newline )
14 BRK
15 "#;
16
17 let mut assembler = Assembler::new();
18 match assembler.assemble(tal_source, Some("counter.rs".to_owned())) {
19 Ok(rom) => {
20 println!(
21 "Successfully assembled counter program: {} bytes",
22 rom.len()
23 );
24 std::fs::write("counter.rom", &rom)?;
25 println!("ROM saved to counter.rom");
26 Ok(())
27 }
28 Err(e) => {
29 eprintln!("Assembly failed: {}", e);
30 Err(e)
31 }
32 }
33}