stn := @use("../../../libraries/stn/src/lib.hb"); log := stn.log; mem := stn.memory; page := 0 main := fn(): void { page += mem.request_page(1); port_str := "\0\{46}\0"; a := @eca(u8, 3, 3, port_str, 2); log.debug(&a); n := 5000000; loop { if n == 0 break; n -= 1; stack_reclamation_edge_case := 0; } td := display_int(100); log.debug(td); return; } display_int := fn(num: int): ^u8 { p := page; i := 0; if num == 0 { set(p, 48); return p; } loop { if num == 0 break; set(p + i, num % 10 + 48); num /= 10; i += 1; } reverse(p); //null terminate set(p + i, 0); return p; } reverse := fn(s: ^u8): void { //reverse a string, don't remove digits len := 0; loop { if *(s + len) == 0 break; len += 1; } i := 0; j := len - 1; loop { if i >= j break; temp := *(s + i); *(s + i) = *(s + j); *(s + j) = temp; i += 1; j -= 1; } return; } set := fn(change: ^int, new: int): void { *(change) = new; return; }