smoke_asm_test18.nx source
↩ module page · 17 lines · 535 B
1// smoke_asm_test18.nx -- .text then label.
2
3import "syscalls.nx"
4import "nxasm_v2.nx"
5
6func main() -> i64 {
7 let s: *u8 = ".text\nmain:\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 == -2 { return __syscall(93, 202, 0, 0, 0, 0, 0) }
14 if n == -3 { return __syscall(93, 203, 0, 0, 0, 0, 0) }
15 if n < 0 { return __syscall(93, 200, 0, 0, 0, 0, 0) }
16 return __syscall(93, n & 0xFF, 0, 0, 0, 0, 0)
17}