nxasm_v2.nx
buildroot/runtime/nxasm_v2.nx
about
dependencies 1 imports · 128 importers
diagram shows first 10 each side; +0 more imports, +118 more importers in the complete lists below.
imports: nx_syscalls.nx
imported by: _offc_asm_probe.nx_offc_nxc_small.nxnx_nxasm_main.nxnx_nxc.nxnx_smoke_asm_b1.nxnx_smoke_asm_b10.nxnx_smoke_asm_b11.nxnx_smoke_asm_b12.nxnx_smoke_asm_b13.nxnx_smoke_asm_b14.nxnx_smoke_asm_b15.nxnx_smoke_asm_b16.nxnx_smoke_asm_b17.nxnx_smoke_asm_b18.nxnx_smoke_asm_b19.nxnx_smoke_asm_b2.nxnx_smoke_asm_b20.nxnx_smoke_asm_b21.nxnx_smoke_asm_b22.nxnx_smoke_asm_b3.nxnx_smoke_asm_b4.nxnx_smoke_asm_b5.nxnx_smoke_asm_b6.nxnx_smoke_asm_b7.nxnx_smoke_asm_b8.nxnx_smoke_asm_b9.nxnx_smoke_asm_d1.nxnx_smoke_asm_d2.nxnx_smoke_asm_d3.nxnx_smoke_asm_d4.nxnx_smoke_asm_d5.nxnx_smoke_asm_d6.nxnx_smoke_asm_test10.nxnx_smoke_asm_test11.nxnx_smoke_asm_test12.nxnx_smoke_asm_test13.nxnx_smoke_asm_test14.nxnx_smoke_asm_test15.nxnx_smoke_asm_test16.nxnx_smoke_asm_test17.nxnx_smoke_asm_test18.nxnx_smoke_asm_test19.nxnx_smoke_asm_test2.nxnx_smoke_asm_test20.nxnx_smoke_asm_test21.nxnx_smoke_asm_test22.nxnx_smoke_asm_test23.nxnx_smoke_asm_test24.nxnx_smoke_asm_test25.nxnx_smoke_asm_test26.nxnx_smoke_asm_test3.nxnx_smoke_asm_test4.nxnx_smoke_asm_test5.nxnx_smoke_asm_test6.nxnx_smoke_asm_test7.nxnx_smoke_asm_test8.nxnx_smoke_asm_test9.nxnx_smoke_nxasm_demo.nxnx_smoke_nxasm_demo2.nxnx_smoke_nxc_pipeline.nxnx_smoke_nxc_pipeline2.nxnx_smoke_nxc_pipeline7.nxnx_smoke_nxc_pipeline8.nxnx_smoke_nxc_pipeline9.nxnx_smoke_nxc_tilde.nxnxasm_main.nxnxc.nxsmoke_asm_b1.nxsmoke_asm_b10.nxsmoke_asm_b11.nxsmoke_asm_b12.nxsmoke_asm_b13.nxsmoke_asm_b14.nxsmoke_asm_b15.nxsmoke_asm_b16.nxsmoke_asm_b17.nxsmoke_asm_b18.nxsmoke_asm_b19.nxsmoke_asm_b2.nxsmoke_asm_b20.nxsmoke_asm_b21.nxsmoke_asm_b22.nxsmoke_asm_b3.nxsmoke_asm_b4.nxsmoke_asm_b5.nxsmoke_asm_b6.nxsmoke_asm_b7.nxsmoke_asm_b8.nxsmoke_asm_b9.nxsmoke_asm_d1.nxsmoke_asm_d2.nxsmoke_asm_d3.nxsmoke_asm_d4.nxsmoke_asm_d5.nxsmoke_asm_d6.nxsmoke_asm_test.nxsmoke_asm_test10.nxsmoke_asm_test11.nxsmoke_asm_test12.nxsmoke_asm_test13.nx +28 more (shown cap 100 declared)
structs
| 74 | struct AsmTok |
| 306 | struct Label |
| 313 | struct Asm |
consts
| 354 | const LABELS_CAP: i64 = 8192 |
functions
| 26 | func enc_r(opcode: i64, funct3: i64, funct7: i64, |
| 32 | func enc_i(opcode: i64, funct3: i64, |
| 39 | func enc_s(opcode: i64, funct3: i64, called by 1: parse_mem |
| 47 | func enc_u(opcode: i64, rd: i64, imm20: i64) -> i64 |
| 52 | func enc_j(opcode: i64, rd: i64, imm: i64) -> i64 called by 1: parse_j_label |
| 62 | func enc_b(opcode: i64, funct3: i64, |
| 81 | func asm_is_alpha(c: i64) -> i64 called by 1: lex_one |
| 88 | func asm_is_digit(c: i64) -> i64 |
| 92 | func is_hex(c: i64) -> i64 |
| 98 | func hexv(c: i64) -> i64 called by 1: lex_one |
| 104 | func is_space(c: i64) -> i64 called by 1: lex_one |
| 112 | func lex_one(src: *u8, pos: i64, len: i64, out: *AsmTok) -> i64 |
| 203 | func s_eq2(src: *u8, off: i64, len: i64, a: i64, b: i64) -> i64 |
| 209 | func s_eq3(src: *u8, off: i64, len: i64, a: i64, b: i64, c: i64) -> i64 |
| 216 | func s_eq4(src: *u8, off: i64, len: i64, a: i64, b: i64, c: i64, d: i64) -> i64 |
| 224 | func s_eq5(src: *u8, off: i64, len: i64, a: i64, b: i64, c: i64, d: i64, e: i64) -> i64 |
| 241 | func s_eq6(src: *u8, off: i64, len: i64, pat: *u8, plen: i64) -> i64 |
| 251 | func reg_lookup(src: *u8, off: i64, len: i64) -> i64 |
| 325 | func label_eq(src: *u8, a_off: i64, a_len: i64, called by 1: label_find |
| 337 | func label_find(A: *Asm, name_off: i64, name_len: i64) -> i64 |
| 356 | func label_define(A: *Asm, name_off: i64, name_len: i64) -> i64 |
| 375 | func emit_u32(A: *Asm, v: i64) -> i64 |
| 389 | func emit_byte(A: *Asm, v: i64) -> i64 |
| 402 | func next_tok(A: *Asm, t: *AsmTok) -> i64 called by 13: expect_punctexpect_regexpect_intparse_j_labelparse_branch_zeroparse_branch+7 calls 1: lex_one |
| 406 | func expect_punct(A: *Asm, t: *AsmTok, c: i64) -> i64 |
| 412 | func expect_reg(A: *Asm, t: *AsmTok) -> i64 |
| 417 | func expect_int(A: *Asm, t: *AsmTok, err: *i64) -> i64 |
| 429 | func parse_rrr(A: *Asm, t: *AsmTok, |
| 438 | func parse_rri(A: *Asm, t: *AsmTok, opcode: i64, funct3: i64) -> i64 |
| 448 | func parse_mem(A: *Asm, t: *AsmTok, is_store: i64, funct3: i64) -> i64 |
| 477 | func parse_li(A: *Asm, t: *AsmTok) -> i64 |
| 548 | func parse_mv(A: *Asm, t: *AsmTok) -> i64 |
| 563 | func parse_srai(A: *Asm, t: *AsmTok) -> i64 |
| 582 | func parse_j_label(A: *Asm, t: *AsmTok, rd: i64) -> i64 |
| 625 | func parse_branch_zero(A: *Asm, t: *AsmTok, funct3: i64) -> i64 |
| 641 | func parse_ret(A: *Asm, t: *AsmTok) -> i64 { return enc_i(0x67, 0, 0, 1, 0) } |
| 642 | func parse_ecall(A: *Asm, t: *AsmTok) -> i64 { return enc_i(0x73, 0, 0, 0, 0) } |
| 649 | func parse_branch(A: *Asm, t: *AsmTok, funct3: i64) -> i64 |
| 687 | func expect_csr_or_int(A: *Asm, t: *AsmTok, err: *i64) -> i64 |
| 728 | func parse_csr_full(A: *Asm, t: *AsmTok, funct3: i64) -> i64 |
| 739 | func parse_csrr(A: *Asm, t: *AsmTok) -> i64 |
| 749 | func parse_csr_write(A: *Asm, t: *AsmTok, funct3: i64) -> i64 |
| 758 | func parse_seqz(A: *Asm, t: *AsmTok) -> i64 |
| 766 | func parse_snez(A: *Asm, t: *AsmTok) -> i64 |
| 778 | func parse_la(A: *Asm, t: *AsmTok) -> i64 |
| 816 | func parse_tail(A: *Asm, t: *AsmTok) -> i64 |
| 839 | func handle_byte(A: *Asm, t: *AsmTok) -> i64 |
| 879 | func handle_skip(A: *Asm, t: *AsmTok) -> i64 |
| 892 | func handle_asciz(A: *Asm, t: *AsmTok) -> i64 |
| 980 | func handle_word(A: *Asm, t: *AsmTok) -> i64 |
| 1003 | func skip_to_newline(A: *Asm) -> i64 called by 1: assemble_pass |
| 1014 | func assemble_mnemonic(A: *Asm, t: *AsmTok, off: i64, n: i64) -> i64 |
| 1124 | func alloc(size: i64) -> *u8; called by 1: assemble |
| 1126 | func assemble_pass(A: *Asm, t: *AsmTok) -> i64 called by 3: mainassemblemain calls 13: next_tokskip_to_newlinelabel_defines_eq5handle_wordhandle_byte+7 |
| 1248 | func alloc(size: i64) -> *u8 |
| 1261 | func nxasm_diag_pass1(A: *Asm, src_len: i64) -> i64 |
| 1313 | func assemble(src: *u8, src_len: i64, out_buf: *u8, out_cap: i64) -> i64 called by 124: mainnxc_compilemainnxc_compilemainmain+118 calls 3: allocassemble_passnxasm_diag_pass1 |