Croissant Runtime
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
crsn/crsn/src/main.rs

36 lines
722 B

#[macro_use]
extern crate log;
use simple_logger::SimpleLogger;
use runtime::run_thread::{RunThread, ThreadToken};
use runtime::program::Program;
use asm::data::literal::Addr;
fn main() {
SimpleLogger::new().init().unwrap();
// ;(dec r0 (z? (ret)))
let program = "
(
(main
(ld r0 2)
(:again)
(dec r0)
(jif nz :again)
(fault \"that's it\")
)
)
";
let parsed = asm::assemble(program).unwrap();
debug!("---");
for op in &parsed {
debug!("{:?}", op);
}
debug!("---");
let thread = RunThread::new(ThreadToken(0), Program::new(parsed), Addr(0), &[]);
thread.start().join().unwrap();
}