code wiki / (root) / smoke_asm_b1.nx

smoke_asm_b1.nx source

↩ module page · 15 lines · 471 B

1// Bisect: how many bytes does the assembler return for various 2// .text+.globl+label+N-instruction inputs? Each test returns the 3// byte count; we want N*4. 4 5import "syscalls.nx" 6import "nxasm_v2.nx" 7 8func main() -> i64 { 9 let s: *u8 = ".text\n.globl main\nmain:\nret\n" 10 var sl: i64 = 0 11 while s[sl] != 0 { sl = sl + 1 } 12 let out: *u8 = alloc(64) 13 let n: i64 = assemble(s, sl, out, 64) 14 return __syscall(93, n & 0xFF, 0, 0, 0, 0, 0) 15}