code wiki / _hdl_build / _lz77_authored.nx

_lz77_authored.nx source

↩ module page · 14 lines · 583 B

1// AUTHORED BY THE NISHI BUILDER (nx_module_author lz77 template) -- back-reference copy, bits-up 2import "nx_syscalls.nx" 3func lz_copy(out: *u8, outpos: i64, length: i64, distance: i64) -> i64 { 4 var i: i64 = 0 5 while i < length { out[outpos + i] = out[outpos + i - distance]; i = i + 1 } 6 return outpos + length 7} 8func main() -> i64 { 9 let out: *u8 = sys_mmap(64); out[0]=97 as u8; out[1]=98 as u8 10 let np: i64 = lz_copy(out, 2, 3, 2) 11 if np==5 { if out[2]==97 as u8 { if out[3]==98 as u8 { if out[4]==97 as u8 { sys_exit(0) } } } } 12 sys_exit(1) 13 return 1 14}