code wiki / (root) / nx_hex_dump_kat_test.nx

nx_hex_dump_kat_test.nx source

↩ module page · 32 lines · 906 B

1// nx_hex_dump_kat_test.nx -- visual KAT for the bits-up hex dump 2// primitive. Dumps "Hello, World!" + a 32-byte all-zero buffer + 3// a partial-tail buffer to stdout via fd 1. Operator visually 4// inspects format (expected: xxd-compatible). 5// 6// expect_exit: 0. 7// license_tier: ORIGINAL 8 9import "nx_syscalls.nx" 10import "nx_hex_dump.nx" 11 12func main() -> i64 { 13 let s: *u8 = "Hello, World!\n" 14 let lbl1: *u8 = "[hello]" 15 nx_hex_dump_to_fd(1, lbl1, 7, s, 14) 16 17 // 32-byte sequential pattern 18 let pat: *u8 = sys_mmap(32) 19 var i: i64 = 0 20 while i < 32 { pat[i] = i as u8; i = i + 1 } 21 let lbl2: *u8 = "[pattern]" 22 nx_hex_dump_to_fd(1, lbl2, 9, pat, 32) 23 24 // 23-byte partial line 25 let pt: *u8 = sys_mmap(32) 26 i = 0 27 while i < 23 { pt[i] = (0x41 + i) as u8; i = i + 1 } // A..W 28 let lbl3: *u8 = "[partial]" 29 nx_hex_dump_to_fd(1, lbl3, 9, pt, 23) 30 31 return 0 32}