#include "./prelude/kernel_prelude.hats" #define ATS_DYNLOADFLAG 0 staload "kernel/interrupts/idt.sats" staload "lib/SATS/writer.sats" staload UN = "prelude/SATS/unsafe.sats" %{^ void breakpoint(){ __asm__("int3"); } %} extern castfn char_arr2string {n:nat} (arr : &(@[char][n])) : string n extern fun breakpoint() :void = "mac#" extern fun main(p : ptr) : void = "ext#" implement main(p) = let prval size = $UN.ptr0_get(ptr_add(p, 8 + 16 + 16 + 4 + 4 (* 16 + *) (* 8 + *) (* 32 + *) (* 16 + 24 + 24 + 24 + 24 + 24 + 48 + // memory map *) (* 792 + // elf *) (* 4 + 4 + 4 *) )) in clear_screen(); println!("Start"); (* println!(size); *) // Initialize interrupt table idt_init(); // Throws breakpoint exception breakpoint(); println!("End"); end