code wiki / (root) / smoke_asm_b18.nx

smoke_asm_b18.nx source

↩ module page · 12 lines · 415 B

1// directives + label + 4 inst, but use a longer label name 2import "syscalls.nx" 3import "nxasm_v2.nx" 4 5func main() -> i64 { 6 let s: *u8 = ".text\n.globl mainfn\nmainfn:\naddi sp, sp, -16\nsd ra, 8(sp)\nli a0, 30\nret\n" 7 var sl: i64 = 0 8 while s[sl] != 0 { sl = sl + 1 } 9 let out: *u8 = alloc(64) 10 let n: i64 = assemble(s, sl, out, 64) 11 return __syscall(93, n & 0xFF, 0, 0, 0, 0, 0) 12}