macro_rules! aluasm {
($( $tt:tt )+) => { ... };
}
Expand description
Macro compiler for AluVM assembler.
Example
let code = aluasm! {
clr r1024[5] ;
put 378,a16[8] ;
putif 0xaf67937b5498dc,r128[5] ;
swp a8[1],a8[2] ;
swp f256[8],f256[7] ;
dup a256[1],a256[7] ;
mov a16[1],a16[2] ;
mov r256[8],r256[7] ;
cpy a256[1],a256[7] ;
ret ;
jmp 0 ;
};
let lib = Lib::assemble(&code).unwrap();
let program = Program::new(lib);
let mut vm = Vm::<Instr>::new();
match vm.run(&program) {
true => println!("success"),
false => println!("failure"),
}