include fib: "./lib/maths/fib.dsa" include maths: "./lib/maths/core.dsa" include print: "./lib/io/print.dsa" dw idt: 0xFFFF0000 dw stack: 0x10000 init: // setup interrupt handlers ldw idt, idr lwi handle_hard_fault, rg0 stw rg0, idr, 4 // set up a stack. ldw stack, bpr mov bpr, spr dw string: "hello world" start: lwi 100, rg0 lwi 10, rg1 push rg1 push rg0 call maths::new_divide pop rg0 pop rg1 hlt pop rg0 pop zero push rg0 call print::print_num pop zero hlt // fault handler in case we fail DSA. dw hard_fault_err: "FATAL: Illegal Instruction or Memory Access!" handle_hard_fault: call print::clear call print::reset lwi hard_fault_err, rg0 push rg0 call print::print pop zero hlt