_lens0_probe.nx source
↩ module page · 28 lines · 1056 B
1import "nx_syscalls.nx"
2func _p(v: i64) -> i64 {
3 let b: *u8 = sys_mmap(28); var n: i64 = v; var neg: i64 = 0
4 if n < 0 { neg = 1; n = 0 - n }
5 let t2: *u8 = sys_mmap(28); var t: i64 = 0
6 if n == 0 { t2[0] = 48; t = 1 }
7 while n > 0 { t2[t] = 48 + (n % 10); n = n / 10; t = t + 1 }
8 var o: i64 = 0
9 if neg == 1 { b[0] = 45; o = 1 }
10 var i: i64 = 0; while i < t { b[o+i] = t2[t-1-i]; i = i + 1 }
11 b[o+t] = 32; sys_write(1, b, o+t+1); return 0
12}
13func _nl() -> i64 { let z: *u8 = sys_mmap(2); z[0]=10; sys_write(1,z,1); return 0 }
14func main() -> i64 {
15 var mism: i64 = 0
16 let imin: i64 = 0 - 9223372036854775807 - 1
17 let imax: i64 = 9223372036854775807
18 if (imin * 8) != (imin << 3) { mism = mism + 1 }
19 if (imax * 8) != (imax << 3) { mism = mism + 1 }
20 let hv: i64 = 1152921504606846976
21 if (hv * 8) != (hv << 3) { mism = mism + 1 }
22 _p(imin * 8); _p(imin << 3); _nl()
23 _p(hv * 8); _p(hv << 3); _nl()
24 _p(mism); _nl()
25 let x: i64 = 7
26 _p(x << 64); _p(x << 65); _nl()
27 sys_exit(0); return 0
28}