code wiki / (root) / smoke_asm_test6.nx

smoke_asm_test6.nx source

↩ module page · 15 lines · 434 B

1// smoke_asm_test6.nx -- like test5 but trailing space before newline. 2 3import "syscalls.nx" 4import "nxasm_v2.nx" 5 6func main() -> i64 { 7 let s: *u8 = ".text \nli a0, 30\nret\n" 8 var sl: i64 = 0 9 while s[sl] != 0 { sl = sl + 1 } 10 11 let out: *u8 = alloc(64) 12 let n: i64 = assemble(s, sl, out, 64) 13 if n < 0 { return __syscall(93, 200, 0, 0, 0, 0, 0) } 14 return __syscall(93, n & 0xFF, 0, 0, 0, 0, 0) 15}