code wiki / (root) / nx_fbench_t1a2.nx

nx_fbench_t1a2.nx source

↩ module page · 78 lines · 1373 B

1func main() -> i64 { 2 var fa = 1 3 var fb = 1 4 var ft = 0 5 var fi = 3 6 while fi <= 10 { 7 ft = fa + fb 8 fa = fb 9 fb = ft 10 fi = fi + 1 11 } 12 var total = 0 13 var n = 1 14 while n <= 100 { 15 total = total + n 16 n = n + 1 17 } 18 let outb: *u8 = sys_mmap(4096) as *u8 19 let digb: *u8 = sys_mmap(4096) as *u8 20 var o = 0 21 var i = 0 22 var c = 0 23 var v = 0 24 var q = 0 25 var m = 0 26 var r = 0 27 var dn = 0 28 let s1: *u8 = "FBENCH-T1 fib10=" as *u8 29 while s1[i] != 0 { 30 c = s1[i] 31 outb[o] = c 32 o = o + 1 33 i = i + 1 34 } 35 v = fb 36 while v > 0 { 37 q = v / 10 38 m = q * 10 39 r = v - m 40 digb[dn] = r + 48 41 dn = dn + 1 42 v = q 43 } 44 while dn > 0 { 45 dn = dn - 1 46 c = digb[dn] 47 outb[o] = c 48 o = o + 1 49 } 50 let s2: *u8 = " sum100=" as *u8 51 i = 0 52 while s2[i] != 0 { 53 c = s2[i] 54 outb[o] = c 55 o = o + 1 56 i = i + 1 57 } 58 v = total 59 dn = 0 60 while v > 0 { 61 q = v / 10 62 m = q * 10 63 r = v - m 64 digb[dn] = r + 48 65 dn = dn + 1 66 v = q 67 } 68 while dn > 0 { 69 dn = dn - 1 70 c = digb[dn] 71 outb[o] = c 72 o = o + 1 73 } 74 outb[o] = 10 75 o = o + 1 76 sys_write(1, outb, o) 77 return 0 78}