nx_emu_mips64_main.nx source
↩ module page · 16 lines · 617 B
1// nx_emu_mips64_main.nx -- CLI for NX-EMU mips64: load + run a static MIPS64
2// ELF. Usage: nx_emu_mips64 <prog.elf> (exit = guest exit). Nishi CARRIES
3// mips64 on its own interpreter -- NO qemu (qemu = benchmark). license_tier: ORIGINAL
4
5import "nx_emu_mips64.nx"
6import "nx_syscalls_x86_64.nx"
7
8func main(argc: i64, argv: *i64) -> i64 {
9 if argc < 2 { return 200 }
10 let path: *u8 = argv[1] as *u8
11 let lenbox: *i64 = sys_mmap(16) as *i64
12 let buf: *u8 = sys_read_file_x86_64(path, lenbox)
13 if (buf as i64) == 0 { return 201 }
14 let r: i64 = emu_mips64_load_elf(buf, lenbox[0])
15 return r
16}