package core:rexcode/isa/mos6502
Overview
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
rexcode · Brendan Punsky (dotbmp@github), original author
Index
Types (28)
- Address_Mode
- CPU
- Decode_Entry
- Decode_Index
- Encode_Run
- Encoding
- Encoding_Flags
- Error
- Error_Code
- GP
- Instruction
- Instruction_Flags
- Instruction_Info
- Label_Definition
- Label_Map
- Memory
- Mnemonic
- Operand
- Operand_Encoding
- Operand_Kind
- Operand_Type
- Print_Options
- Print_Result
- Register
- Relocation
- Relocation_Type
- Token
- Token_Kind
Constants (13)
Variables (4)
Procedures (637)
- aprint
- aprintln
- bprint
- bprintln
- decode
- decode_estimate_instruction_count
- decode_max_instruction_count
- decode_reserve
- emit_adc_imm8
- emit_adc_m
- emit_alr
- emit_alr_imm8
- emit_anc
- emit_anc_imm8
- emit_and_imm8
- emit_and_m
- emit_ane
- emit_ane_imm8
- emit_arr
- emit_arr_imm8
- emit_asl_a
- emit_asl_m
- emit_axs
- emit_axs_imm8
- emit_bbr0
- emit_bbr0_zp_rel
- emit_bbr1
- emit_bbr1_zp_rel
- emit_bbr2
- emit_bbr2_zp_rel
- emit_bbr3
- emit_bbr3_zp_rel
- emit_bbr4
- emit_bbr4_zp_rel
- emit_bbr5
- emit_bbr5_zp_rel
- emit_bbr6
- emit_bbr6_zp_rel
- emit_bbr7
- emit_bbr7_zp_rel
- emit_bbs0
- emit_bbs0_zp_rel
- emit_bbs1
- emit_bbs1_zp_rel
- emit_bbs2
- emit_bbs2_zp_rel
- emit_bbs3
- emit_bbs3_zp_rel
- emit_bbs4
- emit_bbs4_zp_rel
- emit_bbs5
- emit_bbs5_zp_rel
- emit_bbs6
- emit_bbs6_zp_rel
- emit_bbs7
- emit_bbs7_zp_rel
- emit_bcc
- emit_bcc_rel
- emit_bcs
- emit_bcs_rel
- emit_beq
- emit_beq_rel
- emit_bit_imm8
- emit_bit_m
- emit_bmi
- emit_bmi_rel
- emit_bne
- emit_bne_rel
- emit_bpl
- emit_bpl_rel
- emit_bra
- emit_bra_rel
- emit_brk
- emit_brk_none
- emit_bsr
- emit_bsr_rel
- emit_bvc
- emit_bvc_rel
- emit_bvs
- emit_bvs_rel
- emit_cla
- emit_cla_none
- emit_clc
- emit_clc_none
- emit_cld
- emit_cld_none
- emit_cli
- emit_cli_none
- emit_clv
- emit_clv_none
- emit_clx
- emit_clx_none
- emit_cly
- emit_cly_none
- emit_cmp_imm8
- emit_cmp_m
- emit_cpx_imm8
- emit_cpx_m
- emit_cpy_imm8
- emit_cpy_m
- emit_csh
- emit_csh_none
- emit_csl
- emit_csl_none
- emit_dcp
- emit_dcp_m
- emit_dea
- emit_dea_a
- emit_dec_a
- emit_dec_m
- emit_dex
- emit_dex_none
- emit_dey
- emit_dey_none
- emit_dop_imm8
- emit_dop_m
- emit_eor_imm8
- emit_eor_m
- emit_ina
- emit_ina_a
- emit_inc_a
- emit_inc_m
- emit_inx
- emit_inx_none
- emit_iny
- emit_iny_none
- emit_isc
- emit_isc_m
- emit_jam
- emit_jam_none
- emit_jmp
- emit_jmp_m
- emit_jsr
- emit_jsr_m
- emit_las
- emit_las_m
- emit_lax
- emit_lax_m
- emit_lda_imm8
- emit_lda_m
- emit_ldx_imm8
- emit_ldx_m
- emit_ldy_imm8
- emit_ldy_m
- emit_lsr_a
- emit_lsr_m
- emit_lxa
- emit_lxa_imm8
- emit_nop
- emit_nop_none
- emit_ora_imm8
- emit_ora_m
- emit_pha
- emit_pha_none
- emit_php
- emit_php_none
- emit_phx
- emit_phx_none
- emit_phy
- emit_phy_none
- emit_pla
- emit_pla_none
- emit_plp
- emit_plp_none
- emit_plx
- emit_plx_none
- emit_ply
- emit_ply_none
- emit_rla
- emit_rla_m
- emit_rmb0
- emit_rmb0_m
- emit_rmb1
- emit_rmb1_m
- emit_rmb2
- emit_rmb2_m
- emit_rmb3
- emit_rmb3_m
- emit_rmb4
- emit_rmb4_m
- emit_rmb5
- emit_rmb5_m
- emit_rmb6
- emit_rmb6_m
- emit_rmb7
- emit_rmb7_m
- emit_rol_a
- emit_rol_m
- emit_ror_a
- emit_ror_m
- emit_rra
- emit_rra_m
- emit_rti
- emit_rti_none
- emit_rts
- emit_rts_none
- emit_sax
- emit_sax_nmos
- emit_sax_nmos_m
- emit_sax_none
- emit_say
- emit_say_none
- emit_sbc_imm8
- emit_sbc_m
- emit_sec
- emit_sec_none
- emit_sed
- emit_sed_none
- emit_sei
- emit_sei_none
- emit_set
- emit_set_none
- emit_sha
- emit_sha_m
- emit_shx
- emit_shx_m
- emit_shy
- emit_shy_m
- emit_slo
- emit_slo_m
- emit_smb0
- emit_smb0_m
- emit_smb1
- emit_smb1_m
- emit_smb2
- emit_smb2_m
- emit_smb3
- emit_smb3_m
- emit_smb4
- emit_smb4_m
- emit_smb5
- emit_smb5_m
- emit_smb6
- emit_smb6_m
- emit_smb7
- emit_smb7_m
- emit_sre
- emit_sre_m
- emit_st0
- emit_st0_imm8
- emit_st1
- emit_st1_imm8
- emit_st2
- emit_st2_imm8
- emit_sta
- emit_sta_m
- emit_stp
- emit_stp_none
- emit_stx
- emit_stx_m
- emit_sty
- emit_sty_m
- emit_stz
- emit_stz_m
- emit_sxy
- emit_sxy_none
- emit_tai
- emit_tai_block
- emit_tam
- emit_tam_imm8
- emit_tas
- emit_tas_m
- emit_tax
- emit_tax_none
- emit_tay
- emit_tay_none
- emit_tdd
- emit_tdd_block
- emit_tia
- emit_tia_block
- emit_tii
- emit_tii_block
- emit_tin
- emit_tin_block
- emit_tma
- emit_tma_imm8
- emit_top
- emit_top_m
- emit_trb
- emit_trb_m
- emit_tsb
- emit_tsb_m
- emit_tst
- emit_tst_tst
- emit_tsx
- emit_tsx_none
- emit_txa
- emit_txa_none
- emit_txs
- emit_txs_none
- emit_tya
- emit_tya_none
- emit_usbc
- emit_usbc_imm8
- emit_wai
- emit_wai_none
- encode
- encode_max_code_size
- encode_max_relocation_count
- encode_reserve
- fprint
- fprintln
- inst_a
- inst_adc_imm8
- inst_adc_m
- inst_alr
- inst_alr_imm8
- inst_anc
- inst_anc_imm8
- inst_and_imm8
- inst_and_m
- inst_ane
- inst_ane_imm8
- inst_arr
- inst_arr_imm8
- inst_asl_a
- inst_asl_m
- inst_axs
- inst_axs_imm8
- inst_bbr0
- inst_bbr0_zp_rel
- inst_bbr1
- inst_bbr1_zp_rel
- inst_bbr2
- inst_bbr2_zp_rel
- inst_bbr3
- inst_bbr3_zp_rel
- inst_bbr4
- inst_bbr4_zp_rel
- inst_bbr5
- inst_bbr5_zp_rel
- inst_bbr6
- inst_bbr6_zp_rel
- inst_bbr7
- inst_bbr7_zp_rel
- inst_bbs0
- inst_bbs0_zp_rel
- inst_bbs1
- inst_bbs1_zp_rel
- inst_bbs2
- inst_bbs2_zp_rel
- inst_bbs3
- inst_bbs3_zp_rel
- inst_bbs4
- inst_bbs4_zp_rel
- inst_bbs5
- inst_bbs5_zp_rel
- inst_bbs6
- inst_bbs6_zp_rel
- inst_bbs7
- inst_bbs7_zp_rel
- inst_bcc
- inst_bcc_rel
- inst_bcs
- inst_bcs_rel
- inst_beq
- inst_beq_rel
- inst_bit_imm8
- inst_bit_m
- inst_block
- inst_bmi
- inst_bmi_rel
- inst_bne
- inst_bne_rel
- inst_bpl
- inst_bpl_rel
- inst_bra
- inst_bra_rel
- inst_brk
- inst_brk_none
- inst_bsr
- inst_bsr_rel
- inst_bvc
- inst_bvc_rel
- inst_bvs
- inst_bvs_rel
- inst_cla
- inst_cla_none
- inst_clc
- inst_clc_none
- inst_cld
- inst_cld_none
- inst_cli
- inst_cli_none
- inst_clv
- inst_clv_none
- inst_clx
- inst_clx_none
- inst_cly
- inst_cly_none
- inst_cmp_imm8
- inst_cmp_m
- inst_cpx_imm8
- inst_cpx_m
- inst_cpy_imm8
- inst_cpy_m
- inst_csh
- inst_csh_none
- inst_csl
- inst_csl_none
- inst_dcp
- inst_dcp_m
- inst_dea
- inst_dea_a
- inst_dec_a
- inst_dec_m
- inst_dex
- inst_dex_none
- inst_dey
- inst_dey_none
- inst_dop_imm8
- inst_dop_m
- inst_eor_imm8
- inst_eor_m
- inst_i
- inst_ina
- inst_ina_a
- inst_inc_a
- inst_inc_m
- inst_inx
- inst_inx_none
- inst_iny
- inst_iny_none
- inst_isc
- inst_isc_m
- inst_jam
- inst_jam_none
- inst_jmp
- inst_jmp_m
- inst_jsr
- inst_jsr_m
- inst_las
- inst_las_m
- inst_lax
- inst_lax_m
- inst_lda_imm8
- inst_lda_m
- inst_ldx_imm8
- inst_ldx_m
- inst_ldy_imm8
- inst_ldy_m
- inst_lsr_a
- inst_lsr_m
- inst_lxa
- inst_lxa_imm8
- inst_m
- inst_none
- inst_nop
- inst_nop_none
- inst_ora_imm8
- inst_ora_m
- inst_pha
- inst_pha_none
- inst_php
- inst_php_none
- inst_phx
- inst_phx_none
- inst_phy
- inst_phy_none
- inst_pla
- inst_pla_none
- inst_plp
- inst_plp_none
- inst_plx
- inst_plx_none
- inst_ply
- inst_ply_none
- inst_rel
- inst_rla
- inst_rla_m
- inst_rmb0
- inst_rmb0_m
- inst_rmb1
- inst_rmb1_m
- inst_rmb2
- inst_rmb2_m
- inst_rmb3
- inst_rmb3_m
- inst_rmb4
- inst_rmb4_m
- inst_rmb5
- inst_rmb5_m
- inst_rmb6
- inst_rmb6_m
- inst_rmb7
- inst_rmb7_m
- inst_rol_a
- inst_rol_m
- inst_ror_a
- inst_ror_m
- inst_rra
- inst_rra_m
- inst_rti
- inst_rti_none
- inst_rts
- inst_rts_none
- inst_sax
- inst_sax_nmos
- inst_sax_nmos_m
- inst_sax_none
- inst_say
- inst_say_none
- inst_sbc_imm8
- inst_sbc_m
- inst_sec
- inst_sec_none
- inst_sed
- inst_sed_none
- inst_sei
- inst_sei_none
- inst_set
- inst_set_none
- inst_sha
- inst_sha_m
- inst_shx
- inst_shx_m
- inst_shy
- inst_shy_m
- inst_slo
- inst_slo_m
- inst_smb0
- inst_smb0_m
- inst_smb1
- inst_smb1_m
- inst_smb2
- inst_smb2_m
- inst_smb3
- inst_smb3_m
- inst_smb4
- inst_smb4_m
- inst_smb5
- inst_smb5_m
- inst_smb6
- inst_smb6_m
- inst_smb7
- inst_smb7_m
- inst_sre
- inst_sre_m
- inst_st0
- inst_st0_imm8
- inst_st1
- inst_st1_imm8
- inst_st2
- inst_st2_imm8
- inst_sta
- inst_sta_m
- inst_stp
- inst_stp_none
- inst_stx
- inst_stx_m
- inst_sty
- inst_sty_m
- inst_stz
- inst_stz_m
- inst_sxy
- inst_sxy_none
- inst_tai
- inst_tai_block
- inst_tam
- inst_tam_imm8
- inst_tas
- inst_tas_m
- inst_tax
- inst_tax_none
- inst_tay
- inst_tay_none
- inst_tdd
- inst_tdd_block
- inst_tia
- inst_tia_block
- inst_tii
- inst_tii_block
- inst_tin
- inst_tin_block
- inst_tma
- inst_tma_imm8
- inst_top
- inst_top_m
- inst_trb
- inst_trb_m
- inst_tsb
- inst_tsb_m
- inst_tst
- inst_tst_tst
- inst_tsx
- inst_tsx_none
- inst_txa
- inst_txa_none
- inst_txs
- inst_txs_none
- inst_tya
- inst_tya_none
- inst_usbc
- inst_usbc_imm8
- inst_wai
- inst_wai_none
- inst_zp_rel
- mem_abs
- mem_abs_x
- mem_abs_y
- mem_ind
- mem_ind_abs_x
- mem_ind_x
- mem_ind_y
- mem_ind_zp
- mem_zp
- mem_zp_x
- mem_zp_y
- mnemonic_to_string
- op_abs
- op_abs_x
- op_abs_y
- op_imm16
- op_imm8
- op_ind
- op_ind_abs_x
- op_ind_x
- op_ind_y
- op_ind_zp
- op_label
- op_mem
- op_reg
- op_rel_offset
- op_zp
- op_zp_x
- op_zp_y
- println
- reg_class
- reg_hw
- reg_is_gp
- sbprint
- sbprintln
- tprint
- tprintln
- wprint
- wprintln
Procedure Groups (38)
- emit_adc
- emit_and
- emit_asl
- emit_bit
- emit_cmp
- emit_cpx
- emit_cpy
- emit_dec
- emit_dop
- emit_eor
- emit_inc
- emit_lda
- emit_ldx
- emit_ldy
- emit_lsr
- emit_ora
- emit_rol
- emit_ror
- emit_sbc
- inst_adc
- inst_and
- inst_asl
- inst_bit
- inst_cmp
- inst_cpx
- inst_cpy
- inst_dec
- inst_dop
- inst_eor
- inst_inc
- inst_lda
- inst_ldx
- inst_ldy
- inst_lsr
- inst_ora
- inst_rol
- inst_ror
- inst_sbc
Types
Address_Mode ¶
Address_Mode :: enum u8 { ZP, // $nn ZP_X, // $nn,X ZP_Y, // $nn,Y ABS, // $nnnn ABS_X, // $nnnn,X ABS_Y, // $nnnn,Y IND, // ($nnnn) -- JMP only IND_X, // ($nn,X) IND_Y, // ($nn),Y IND_ZP, // ($nn) -- 65C02 IND_ABS_X, // ($nnnn,X) -- 65C02 JMP only }
Decode_Entry ¶
Decode_Entry :: struct #packed { mnemonic: Mnemonic, // 2 ops: [3]Operand_Type, // 3 enc: [3]Operand_Encoding, // 3 opcode: u8, // 1 length: u8, // 1 cpu: CPU, // 1 flags: Encoding_Flags, }
One reverse-decode entry. Differs from Encoding: carries the instruction's total byte length and only [3] operand slots (no 6502 instruction uses 4).
Encode_Run ¶
Companion run index: ENCODE_RUNS[mnemonic] -> contiguous run in ENCODE_FORMS.
Encoding ¶
Encoding :: struct #packed { mnemonic: Mnemonic, // 2 ops: [4]Operand_Type, // 4 enc: [4]Operand_Encoding, // 4 opcode: u8, // 1 length: u8, // 1 cpu: CPU, // 1 flags: Encoding_Flags, }
A single instruction encoding form. The opcode byte is always at offset 0.
ops/enc are [4] for cross-arch parity even though no real 6502 instruction uses more than 3 operands (HuC6280's block-transfer ops).
Error_Code ¶
Error_Code :: rexcode_isa.Error_Code
Instruction ¶
Instruction :: struct #packed { ops: [3]Operand `fmt:"v,operand_count"`, // 30 bytes mnemonic: Mnemonic, // 2 operand_count: u8, // 1 flags: Instruction_Flags, // 1 length: u8, // 1 (filled by decoder; 1..7) _: [1]u8, }
Related Procedures With Returns
- inst_a
- inst_adc_imm8
- inst_adc_m
- inst_alr_imm8
- inst_anc_imm8
- inst_and_imm8
- inst_and_m
- inst_ane_imm8
- inst_arr_imm8
- inst_asl_a
- inst_asl_m
- inst_axs_imm8
- inst_bbr0_zp_rel
- inst_bbr1_zp_rel
- inst_bbr2_zp_rel
- inst_bbr3_zp_rel
- inst_bbr4_zp_rel
- inst_bbr5_zp_rel
- inst_bbr6_zp_rel
- inst_bbr7_zp_rel
- inst_bbs0_zp_rel
- inst_bbs1_zp_rel
- inst_bbs2_zp_rel
- inst_bbs3_zp_rel
- inst_bbs4_zp_rel
- inst_bbs5_zp_rel
- inst_bbs6_zp_rel
- inst_bbs7_zp_rel
- inst_bcc_rel
- inst_bcs_rel
- inst_beq_rel
- inst_bit_imm8
- inst_bit_m
- inst_block
- inst_bmi_rel
- inst_bne_rel
- inst_bpl_rel
- inst_bra_rel
- inst_brk_none
- inst_bsr_rel
- inst_bvc_rel
- inst_bvs_rel
- inst_cla_none
- inst_clc_none
- inst_cld_none
- inst_cli_none
- inst_clv_none
- inst_clx_none
- inst_cly_none
- inst_cmp_imm8
- inst_cmp_m
- inst_cpx_imm8
- inst_cpx_m
- inst_cpy_imm8
- inst_cpy_m
- inst_csh_none
- inst_csl_none
- inst_dcp_m
- inst_dea_a
- inst_dec_a
- inst_dec_m
- inst_dex_none
- inst_dey_none
- inst_dop_imm8
- inst_dop_m
- inst_eor_imm8
- inst_eor_m
- inst_i
- inst_ina_a
- inst_inc_a
- inst_inc_m
- inst_inx_none
- inst_iny_none
- inst_isc_m
- inst_jam_none
- inst_jmp_m
- inst_jsr_m
- inst_las_m
- inst_lax_m
- inst_lda_imm8
- inst_lda_m
- inst_ldx_imm8
- inst_ldx_m
- inst_ldy_imm8
- inst_ldy_m
- inst_lsr_a
- inst_lsr_m
- inst_lxa_imm8
- inst_m
- inst_none
- inst_nop_none
- inst_ora_imm8
- inst_ora_m
- inst_pha_none
- inst_php_none
- inst_phx_none
- inst_phy_none
- inst_pla_none
- inst_plp_none
- inst_plx_none
- inst_ply_none
- inst_rel
- inst_rla_m
- inst_rmb0_m
- inst_rmb1_m
- inst_rmb2_m
- inst_rmb3_m
- inst_rmb4_m
- inst_rmb5_m
- inst_rmb6_m
- inst_rmb7_m
- inst_rol_a
- inst_rol_m
- inst_ror_a
- inst_ror_m
- inst_rra_m
- inst_rti_none
- inst_rts_none
- inst_sax_nmos_m
- inst_sax_none
- inst_say_none
- inst_sbc_imm8
- inst_sbc_m
- inst_sec_none
- inst_sed_none
- inst_sei_none
- inst_set_none
- inst_sha_m
- inst_shx_m
- inst_shy_m
- inst_slo_m
- inst_smb0_m
- inst_smb1_m
- inst_smb2_m
- inst_smb3_m
- inst_smb4_m
- inst_smb5_m
- inst_smb6_m
- inst_smb7_m
- inst_sre_m
- inst_st0_imm8
- inst_st1_imm8
- inst_st2_imm8
- inst_sta_m
- inst_stp_none
- inst_stx_m
- inst_sty_m
- inst_stz_m
- inst_sxy_none
- inst_tai_block
- inst_tam_imm8
- inst_tas_m
- inst_tax_none
- inst_tay_none
- inst_tdd_block
- inst_tia_block
- inst_tii_block
- inst_tin_block
- inst_tma_imm8
- inst_top_m
- inst_trb_m
- inst_tsb_m
- inst_tst_tst
- inst_tsx_none
- inst_txa_none
- inst_txs_none
- inst_tya_none
- inst_usbc_imm8
- inst_wai_none
- inst_zp_rel
- inst_adc (procedure groups)
- inst_and (procedure groups)
- inst_asl (procedure groups)
- inst_bit (procedure groups)
- inst_cmp (procedure groups)
- inst_cpx (procedure groups)
- inst_cpy (procedure groups)
- inst_dec (procedure groups)
- inst_dop (procedure groups)
- inst_eor (procedure groups)
- inst_inc (procedure groups)
- inst_lda (procedure groups)
- inst_ldx (procedure groups)
- inst_ldy (procedure groups)
- inst_lsr (procedure groups)
- inst_ora (procedure groups)
- inst_rol (procedure groups)
- inst_ror (procedure groups)
- inst_sbc (procedure groups)
Label_Map ¶
Label_Map :: rexcode_isa.Label_Map
Memory ¶
Memory :: struct #packed { address: u16, mode: Address_Mode, _: u8, }
Related Procedures With Parameters
- emit_adc_m
- emit_and_m
- emit_asl_m
- emit_bit_m
- emit_cmp_m
- emit_cpx_m
- emit_cpy_m
- emit_dcp_m
- emit_dec_m
- emit_dop_m
- emit_eor_m
- emit_inc_m
- emit_isc_m
- emit_jmp_m
- emit_jsr_m
- emit_las_m
- emit_lax_m
- emit_lda_m
- emit_ldx_m
- emit_ldy_m
- emit_lsr_m
- emit_ora_m
- emit_rla_m
- emit_rmb0_m
- emit_rmb1_m
- emit_rmb2_m
- emit_rmb3_m
- emit_rmb4_m
- emit_rmb5_m
- emit_rmb6_m
- emit_rmb7_m
- emit_rol_m
- emit_ror_m
- emit_rra_m
- emit_sax_nmos_m
- emit_sbc_m
- emit_sha_m
- emit_shx_m
- emit_shy_m
- emit_slo_m
- emit_smb0_m
- emit_smb1_m
- emit_smb2_m
- emit_smb3_m
- emit_smb4_m
- emit_smb5_m
- emit_smb6_m
- emit_smb7_m
- emit_sre_m
- emit_sta_m
- emit_stx_m
- emit_sty_m
- emit_stz_m
- emit_tas_m
- emit_top_m
- emit_trb_m
- emit_tsb_m
- emit_tst_tst
- inst_adc_m
- inst_and_m
- inst_asl_m
- inst_bit_m
- inst_cmp_m
- inst_cpx_m
- inst_cpy_m
- inst_dcp_m
- inst_dec_m
- inst_dop_m
- inst_eor_m
- inst_inc_m
- inst_isc_m
- inst_jmp_m
- inst_jsr_m
- inst_las_m
- inst_lax_m
- inst_lda_m
- inst_ldx_m
- inst_ldy_m
- inst_lsr_m
- inst_m
- inst_ora_m
- inst_rla_m
- inst_rmb0_m
- inst_rmb1_m
- inst_rmb2_m
- inst_rmb3_m
- inst_rmb4_m
- inst_rmb5_m
- inst_rmb6_m
- inst_rmb7_m
- inst_rol_m
- inst_ror_m
- inst_rra_m
- inst_sax_nmos_m
- inst_sbc_m
- inst_sha_m
- inst_shx_m
- inst_shy_m
- inst_slo_m
- inst_smb0_m
- inst_smb1_m
- inst_smb2_m
- inst_smb3_m
- inst_smb4_m
- inst_smb5_m
- inst_smb6_m
- inst_smb7_m
- inst_sre_m
- inst_sta_m
- inst_stx_m
- inst_sty_m
- inst_stz_m
- inst_tas_m
- inst_top_m
- inst_trb_m
- inst_tsb_m
- inst_tst_tst
- op_mem
- emit_adc (procedure groups)
- emit_and (procedure groups)
- emit_asl (procedure groups)
- emit_bit (procedure groups)
- emit_cmp (procedure groups)
- emit_cpx (procedure groups)
- emit_cpy (procedure groups)
- emit_dec (procedure groups)
- emit_dop (procedure groups)
- emit_eor (procedure groups)
- emit_inc (procedure groups)
- emit_lda (procedure groups)
- emit_ldx (procedure groups)
- emit_ldy (procedure groups)
- emit_lsr (procedure groups)
- emit_ora (procedure groups)
- emit_rol (procedure groups)
- emit_ror (procedure groups)
- emit_sbc (procedure groups)
- inst_adc (procedure groups)
- inst_and (procedure groups)
- inst_asl (procedure groups)
- inst_bit (procedure groups)
- inst_cmp (procedure groups)
- inst_cpx (procedure groups)
- inst_cpy (procedure groups)
- inst_dec (procedure groups)
- inst_dop (procedure groups)
- inst_eor (procedure groups)
- inst_inc (procedure groups)
- inst_lda (procedure groups)
- inst_ldx (procedure groups)
- inst_ldy (procedure groups)
- inst_lsr (procedure groups)
- inst_ora (procedure groups)
- inst_rol (procedure groups)
- inst_ror (procedure groups)
- inst_sbc (procedure groups)
Mnemonic ¶
Mnemonic :: enum u16 { INVALID = 0, // Arithmetic / logical ADC, AND, ASL, BIT, CMP, CPX, CPY, DEC, DEX, DEY, EOR, INC, INX, INY, LSR, ORA, ROL, ROR, SBC, // Branches BCC, BCS, BEQ, BMI, BNE, BPL, BVC, BVS, // Jumps / subroutines / interrupts JMP, JSR, RTI, RTS, BRK, // Flag ops CLC, CLD, CLI, CLV, SEC, SED, SEI, // Loads / stores LDA, LDX, LDY, STA, STX, STY, // Stack / transfer PHA, PHP, PLA, PLP, TAX, TAY, TSX, TXA, TXS, TYA, // NOP NOP, LAX, // LDA + LDX (load A and X from memory) SAX_NMOS, // store A AND X to memory (also called AAX / AXS-undoc) DCP, // DEC + CMP (memory) ISC, // INC + SBC (also ISB) RLA, // ROL + AND RRA, // ROR + ADC SLO, // ASL + ORA SRE, // LSR + EOR ALR, // AND #imm + LSR A ANC, // AND #imm with carry from N ARR, // AND #imm + ROR A AXS, // X = (A AND X) - imm (also SBX) LAS, // LDA / TSX / AND with stack pointer ANE, // A = (A | $EE) AND X AND imm -- unstable (also XAA) LXA, // A = X = (A | $EE) AND imm -- unstable SHA, // store A AND X AND high+1 SHX, // store X AND high+1 SHY, // store Y AND high+1 TAS, // S = A AND X; store S AND high+1 JAM, // halt the CPU (also KIL / HLT) USBC, // same as SBC #imm but at $EB (an undocumented alias) DOP, // double NOP (skips one operand byte) TOP, // triple NOP (skips two operand bytes) BRA, // branch always INA, // INC A DEA, // DEC A PHX, PHY, PLX, PLY, STZ, // store zero TRB, TSB, // test-and-reset / test-and-set bits STP, WAI, // WDC: stop, wait-for-interrupt // 65C02 Rockwell bit ops -- 32 distinct opcodes RMB0, RMB1, RMB2, RMB3, RMB4, RMB5, RMB6, RMB7, SMB0, SMB1, SMB2, SMB3, SMB4, SMB5, SMB6, SMB7, BBR0, BBR1, BBR2, BBR3, BBR4, BBR5, BBR6, BBR7, BBS0, BBS1, BBS2, BBS3, BBS4, BBS5, BBS6, BBS7, SXY, // swap X, Y SAX, // swap A, X (NB: distinct from undocumented NMOS SAX_NMOS) SAY, // swap A, Y CLA, CLX, CLY, // clear A / X / Y CSH, CSL, // CPU speed high / low (7.16 MHz vs 1.79 MHz) SET, // set T flag (next op uses zp address as accumulator) ST0, ST1, ST2, // store immediate to MMR0/1/2 TAM, TMA, // transfer A to/from MMR (immediate-selected) TST, // bit test of immediate against memory BSR, // branch to subroutine (PC-relative) // HuC6280 block transfer instructions (7-byte encoding) // src(2) -> dst(2), len(2) bytes TII, // transfer increment-increment (memcpy ascending) TDD, // transfer decrement-decrement (memcpy descending) TIN, // transfer increment-no-change (fill from src) TIA, // transfer increment-alternate (interleaved) TAI, // transfer alternate-increment (interleaved) }
Related Procedures With Parameters
Operand ¶
Operand_Encoding ¶
Operand_Encoding :: enum u8 { NONE, IMPL, // implicit / accumulator -- no bytes emitted BYTE_1_IMM, // 8-bit immediate at offset 1 BYTE_1_ADDR, // 8-bit zero-page address at offset 1 BYTE_1_REL, // signed 8-bit PC-rel at offset 1 WORD_1_ADDR, // 16-bit little-endian absolute at offset 1 BYTE_2_REL, // signed 8-bit PC-rel at offset 2 (BBR/BBS) WORD_1, // 16-bit LE at offset 1 (HuC block xfer src) WORD_3, // 16-bit LE at offset 3 (HuC block xfer dst) WORD_5, // 16-bit LE at offset 5 (HuC block xfer len) BYTE_2_ADDR, // 8-bit zero-page address at offset 2 (HuC TST # zp) WORD_2_ADDR, // 16-bit LE absolute at offset 2 (HuC TST # abs) }
Where the operand's bytes go inside the instruction word stream.
Operand_Kind ¶
Operand_Kind :: enum u8 { NONE, REGISTER, // mostly used for `A` in `ROL A` (implicit; rarely needed) IMMEDIATE, MEMORY, RELATIVE, // PC-relative target (label or raw byte offset) }
Operand_Type ¶
Operand_Type :: enum u8 { NONE, A_IMPL, // accumulator (e.g. ROL A) -- no operand bytes encoded IMM_8, // #$nn REL, // signed byte PC-rel branch target MEM_ZP, // $nn MEM_ZP_X, // $nn,X MEM_ZP_Y, // $nn,Y MEM_ABS, // $nnnn MEM_ABS_X, // $nnnn,X MEM_ABS_Y, // $nnnn,Y MEM_IND, // ($nnnn) -- NMOS/65C02 JMP only MEM_IND_X, // ($nn,X) MEM_IND_Y, // ($nn),Y MEM_IND_ZP, // ($nn) -- 65C02 MEM_IND_ABS_X, // ($nnnn,X) -- 65C02 JMP only IMM_16, // unsigned 16-bit literal (HuC6280 block xfer operands) }
What the user passes in.
Print_Options ¶
Print_Options :: rexcode_isa.Print_Options
Related Procedures With Parameters
Related Constants
Print_Result ¶
Print_Result :: rexcode_isa.Print_Result
Relocation_Type ¶
Relocation_Type :: enum u8 { NONE = 0, ABS16, REL8, }
Token_Kind ¶
Token_Kind :: rexcode_isa.Token_Kind
Constants
DEFAULT_PRINT_OPTIONS ¶
DEFAULT_PRINT_OPTIONS: rexcode_isa.Print_Options : isa.DEFAULT_PRINT_OPTIONS
LABEL_UNDEFINED ¶
LABEL_UNDEFINED: rexcode_isa.Label_Definition : isa.LABEL_UNDEFINED
REG_NONE ¶
REG_NONE :: 0x0000
Variables
DECODE_ENTRIES ¶
@(rodata) DECODE_ENTRIES: []Decode_Entry = …
DECODE_INDEX_OPCODE ¶
@(rodata) DECODE_INDEX_OPCODE: []Decode_Index = …
ENCODE_FORMS ¶
@(rodata) ENCODE_FORMS: []Encoding = …
ENCODE_RUNS ¶
@(rodata) ENCODE_RUNS: []Encode_Run = …
Procedures
aprint ¶
aprint :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, allocator := context.allocator, ) -> string {…}
aprintln ¶
aprintln :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, allocator := context.allocator, ) -> string {…}
bprint ¶
bprint :: proc( buf: []u8, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) -> string {…}
bprintln ¶
bprintln :: proc( buf: []u8, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) -> string {…}
decode ¶
decode :: proc( data: []u8, relocs: []Relocation, instructions: ^[dynamic]Instruction, inst_info: ^[dynamic]Instruction_Info, label_defs: ^[dynamic]rexcode_isa.Label_Definition, errors: ^[dynamic]rexcode_isa.Error, cpu: CPU = .NMOS, ) -> (byte_count: u32, ok: bool) {…}
decode_estimate_instruction_count ¶
Typical-case estimate of the instruction count for data.
decode_max_instruction_count ¶
Instruction-count ceiling for data (shortest instruction is 1 byte).
decode_reserve ¶
decode_reserve :: proc(instructions: ^[dynamic]Instruction, inst_info: ^[dynamic]Instruction_Info, label_defs: ^[dynamic]rexcode_isa.Label_Definition, data: []u8, exact: bool = false) {…}
Pre-size the caller's decode output arrays for data (reserves on top of any
existing elements; nil to skip; exact=true for the ceiling, else the estimate).
emit_adc_imm8 ¶
emit_adc_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_adc_m ¶
emit_adc_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_alr ¶
emit_alr :: emit_alr_imm8
emit_alr_imm8 ¶
emit_alr_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_anc ¶
emit_anc :: emit_anc_imm8
emit_anc_imm8 ¶
emit_anc_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_and_imm8 ¶
emit_and_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_and_m ¶
emit_and_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_ane ¶
emit_ane :: emit_ane_imm8
emit_ane_imm8 ¶
emit_ane_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_arr ¶
emit_arr :: emit_arr_imm8
emit_arr_imm8 ¶
emit_arr_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_asl_m ¶
emit_asl_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_axs ¶
emit_axs :: emit_axs_imm8
emit_axs_imm8 ¶
emit_axs_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_bbr0 ¶
emit_bbr0 :: emit_bbr0_zp_rel
emit_bbr0_zp_rel ¶
emit_bbr0_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr1 ¶
emit_bbr1 :: emit_bbr1_zp_rel
emit_bbr1_zp_rel ¶
emit_bbr1_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr2 ¶
emit_bbr2 :: emit_bbr2_zp_rel
emit_bbr2_zp_rel ¶
emit_bbr2_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr3 ¶
emit_bbr3 :: emit_bbr3_zp_rel
emit_bbr3_zp_rel ¶
emit_bbr3_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr4 ¶
emit_bbr4 :: emit_bbr4_zp_rel
emit_bbr4_zp_rel ¶
emit_bbr4_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr5 ¶
emit_bbr5 :: emit_bbr5_zp_rel
emit_bbr5_zp_rel ¶
emit_bbr5_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr6 ¶
emit_bbr6 :: emit_bbr6_zp_rel
emit_bbr6_zp_rel ¶
emit_bbr6_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbr7 ¶
emit_bbr7 :: emit_bbr7_zp_rel
emit_bbr7_zp_rel ¶
emit_bbr7_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs0 ¶
emit_bbs0 :: emit_bbs0_zp_rel
emit_bbs0_zp_rel ¶
emit_bbs0_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs1 ¶
emit_bbs1 :: emit_bbs1_zp_rel
emit_bbs1_zp_rel ¶
emit_bbs1_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs2 ¶
emit_bbs2 :: emit_bbs2_zp_rel
emit_bbs2_zp_rel ¶
emit_bbs2_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs3 ¶
emit_bbs3 :: emit_bbs3_zp_rel
emit_bbs3_zp_rel ¶
emit_bbs3_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs4 ¶
emit_bbs4 :: emit_bbs4_zp_rel
emit_bbs4_zp_rel ¶
emit_bbs4_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs5 ¶
emit_bbs5 :: emit_bbs5_zp_rel
emit_bbs5_zp_rel ¶
emit_bbs5_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs6 ¶
emit_bbs6 :: emit_bbs6_zp_rel
emit_bbs6_zp_rel ¶
emit_bbs6_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bbs7 ¶
emit_bbs7 :: emit_bbs7_zp_rel
emit_bbs7_zp_rel ¶
emit_bbs7_zp_rel :: proc(instructions: ^[dynamic]Instruction, zp: u8, label_id: u32) {…}
emit_bcc ¶
emit_bcc :: emit_bcc_rel
emit_bcc_rel ¶
emit_bcc_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bcs ¶
emit_bcs :: emit_bcs_rel
emit_bcs_rel ¶
emit_bcs_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_beq ¶
emit_beq :: emit_beq_rel
emit_beq_rel ¶
emit_beq_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bit_imm8 ¶
emit_bit_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_bit_m ¶
emit_bit_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_bmi ¶
emit_bmi :: emit_bmi_rel
emit_bmi_rel ¶
emit_bmi_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bne ¶
emit_bne :: emit_bne_rel
emit_bne_rel ¶
emit_bne_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bpl ¶
emit_bpl :: emit_bpl_rel
emit_bpl_rel ¶
emit_bpl_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bra ¶
emit_bra :: emit_bra_rel
emit_bra_rel ¶
emit_bra_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_brk ¶
emit_brk :: emit_brk_none
emit_brk_none ¶
emit_brk_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_bsr ¶
emit_bsr :: emit_bsr_rel
emit_bsr_rel ¶
emit_bsr_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bvc ¶
emit_bvc :: emit_bvc_rel
emit_bvc_rel ¶
emit_bvc_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_bvs ¶
emit_bvs :: emit_bvs_rel
emit_bvs_rel ¶
emit_bvs_rel :: proc(instructions: ^[dynamic]Instruction, label_id: u32) {…}
emit_cla ¶
emit_cla :: emit_cla_none
emit_cla_none ¶
emit_cla_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_clc ¶
emit_clc :: emit_clc_none
emit_clc_none ¶
emit_clc_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_cld ¶
emit_cld :: emit_cld_none
emit_cld_none ¶
emit_cld_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_cli ¶
emit_cli :: emit_cli_none
emit_cli_none ¶
emit_cli_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_clv ¶
emit_clv :: emit_clv_none
emit_clv_none ¶
emit_clv_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_clx ¶
emit_clx :: emit_clx_none
emit_clx_none ¶
emit_clx_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_cly ¶
emit_cly :: emit_cly_none
emit_cly_none ¶
emit_cly_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_cmp_imm8 ¶
emit_cmp_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_cmp_m ¶
emit_cmp_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_cpx_imm8 ¶
emit_cpx_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_cpx_m ¶
emit_cpx_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_cpy_imm8 ¶
emit_cpy_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_cpy_m ¶
emit_cpy_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_csh ¶
emit_csh :: emit_csh_none
emit_csh_none ¶
emit_csh_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_csl ¶
emit_csl :: emit_csl_none
emit_csl_none ¶
emit_csl_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dcp ¶
emit_dcp :: emit_dcp_m
emit_dcp_m ¶
emit_dcp_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_dea ¶
emit_dea :: emit_dea_a
emit_dea_a ¶
emit_dea_a :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dec_m ¶
emit_dec_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_dex ¶
emit_dex :: emit_dex_none
emit_dex_none ¶
emit_dex_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dey ¶
emit_dey :: emit_dey_none
emit_dey_none ¶
emit_dey_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_dop_imm8 ¶
emit_dop_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_dop_m ¶
emit_dop_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_eor_imm8 ¶
emit_eor_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_eor_m ¶
emit_eor_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_ina ¶
emit_ina :: emit_ina_a
emit_ina_a ¶
emit_ina_a :: proc(instructions: ^[dynamic]Instruction) {…}
emit_inc_m ¶
emit_inc_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_inx ¶
emit_inx :: emit_inx_none
emit_inx_none ¶
emit_inx_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_iny ¶
emit_iny :: emit_iny_none
emit_iny_none ¶
emit_iny_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_isc ¶
emit_isc :: emit_isc_m
emit_isc_m ¶
emit_isc_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_jam ¶
emit_jam :: emit_jam_none
emit_jam_none ¶
emit_jam_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_jmp ¶
emit_jmp :: emit_jmp_m
emit_jmp_m ¶
emit_jmp_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_jsr ¶
emit_jsr :: emit_jsr_m
emit_jsr_m ¶
emit_jsr_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_las ¶
emit_las :: emit_las_m
emit_las_m ¶
emit_las_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_lax ¶
emit_lax :: emit_lax_m
emit_lax_m ¶
emit_lax_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_lda_imm8 ¶
emit_lda_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_lda_m ¶
emit_lda_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_ldx_imm8 ¶
emit_ldx_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_ldx_m ¶
emit_ldx_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_ldy_imm8 ¶
emit_ldy_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_ldy_m ¶
emit_ldy_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_lsr_m ¶
emit_lsr_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_lxa ¶
emit_lxa :: emit_lxa_imm8
emit_lxa_imm8 ¶
emit_lxa_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_nop ¶
emit_nop :: emit_nop_none
emit_nop_none ¶
emit_nop_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_ora_imm8 ¶
emit_ora_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_ora_m ¶
emit_ora_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_pha ¶
emit_pha :: emit_pha_none
emit_pha_none ¶
emit_pha_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_php ¶
emit_php :: emit_php_none
emit_php_none ¶
emit_php_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_phx ¶
emit_phx :: emit_phx_none
emit_phx_none ¶
emit_phx_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_phy ¶
emit_phy :: emit_phy_none
emit_phy_none ¶
emit_phy_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_pla ¶
emit_pla :: emit_pla_none
emit_pla_none ¶
emit_pla_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_plp ¶
emit_plp :: emit_plp_none
emit_plp_none ¶
emit_plp_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_plx ¶
emit_plx :: emit_plx_none
emit_plx_none ¶
emit_plx_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_ply ¶
emit_ply :: emit_ply_none
emit_ply_none ¶
emit_ply_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_rla ¶
emit_rla :: emit_rla_m
emit_rla_m ¶
emit_rla_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb0 ¶
emit_rmb0 :: emit_rmb0_m
emit_rmb0_m ¶
emit_rmb0_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb1 ¶
emit_rmb1 :: emit_rmb1_m
emit_rmb1_m ¶
emit_rmb1_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb2 ¶
emit_rmb2 :: emit_rmb2_m
emit_rmb2_m ¶
emit_rmb2_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb3 ¶
emit_rmb3 :: emit_rmb3_m
emit_rmb3_m ¶
emit_rmb3_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb4 ¶
emit_rmb4 :: emit_rmb4_m
emit_rmb4_m ¶
emit_rmb4_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb5 ¶
emit_rmb5 :: emit_rmb5_m
emit_rmb5_m ¶
emit_rmb5_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb6 ¶
emit_rmb6 :: emit_rmb6_m
emit_rmb6_m ¶
emit_rmb6_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rmb7 ¶
emit_rmb7 :: emit_rmb7_m
emit_rmb7_m ¶
emit_rmb7_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rol_m ¶
emit_rol_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_ror_m ¶
emit_ror_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_rra ¶
emit_rra :: emit_rra_m
emit_rra_m ¶
emit_rra_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_rti ¶
emit_rti :: emit_rti_none
emit_rti_none ¶
emit_rti_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_rts ¶
emit_rts :: emit_rts_none
emit_rts_none ¶
emit_rts_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sax ¶
emit_sax :: emit_sax_none
emit_sax_nmos ¶
emit_sax_nmos :: emit_sax_nmos_m
emit_sax_nmos_m ¶
emit_sax_nmos_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_sax_none ¶
emit_sax_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_say ¶
emit_say :: emit_say_none
emit_say_none ¶
emit_say_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sbc_imm8 ¶
emit_sbc_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
Related Procedure Groups
emit_sbc_m ¶
emit_sbc_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
Related Procedure Groups
emit_sec ¶
emit_sec :: emit_sec_none
emit_sec_none ¶
emit_sec_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sed ¶
emit_sed :: emit_sed_none
emit_sed_none ¶
emit_sed_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sei ¶
emit_sei :: emit_sei_none
emit_sei_none ¶
emit_sei_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_set ¶
emit_set :: emit_set_none
emit_set_none ¶
emit_set_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_sha ¶
emit_sha :: emit_sha_m
emit_sha_m ¶
emit_sha_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_shx ¶
emit_shx :: emit_shx_m
emit_shx_m ¶
emit_shx_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_shy ¶
emit_shy :: emit_shy_m
emit_shy_m ¶
emit_shy_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_slo ¶
emit_slo :: emit_slo_m
emit_slo_m ¶
emit_slo_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb0 ¶
emit_smb0 :: emit_smb0_m
emit_smb0_m ¶
emit_smb0_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb1 ¶
emit_smb1 :: emit_smb1_m
emit_smb1_m ¶
emit_smb1_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb2 ¶
emit_smb2 :: emit_smb2_m
emit_smb2_m ¶
emit_smb2_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb3 ¶
emit_smb3 :: emit_smb3_m
emit_smb3_m ¶
emit_smb3_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb4 ¶
emit_smb4 :: emit_smb4_m
emit_smb4_m ¶
emit_smb4_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb5 ¶
emit_smb5 :: emit_smb5_m
emit_smb5_m ¶
emit_smb5_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb6 ¶
emit_smb6 :: emit_smb6_m
emit_smb6_m ¶
emit_smb6_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_smb7 ¶
emit_smb7 :: emit_smb7_m
emit_smb7_m ¶
emit_smb7_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_sre ¶
emit_sre :: emit_sre_m
emit_sre_m ¶
emit_sre_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_st0 ¶
emit_st0 :: emit_st0_imm8
emit_st0_imm8 ¶
emit_st0_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_st1 ¶
emit_st1 :: emit_st1_imm8
emit_st1_imm8 ¶
emit_st1_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_st2 ¶
emit_st2 :: emit_st2_imm8
emit_st2_imm8 ¶
emit_st2_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_sta ¶
emit_sta :: emit_sta_m
emit_sta_m ¶
emit_sta_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_stp ¶
emit_stp :: emit_stp_none
emit_stp_none ¶
emit_stp_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_stx ¶
emit_stx :: emit_stx_m
emit_stx_m ¶
emit_stx_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_sty ¶
emit_sty :: emit_sty_m
emit_sty_m ¶
emit_sty_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_stz ¶
emit_stz :: emit_stz_m
emit_stz_m ¶
emit_stz_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_sxy ¶
emit_sxy :: emit_sxy_none
emit_sxy_none ¶
emit_sxy_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_tai ¶
emit_tai :: emit_tai_block
emit_tai_block ¶
emit_tai_block :: proc(instructions: ^[dynamic]Instruction, src, dst, length_val: u16) {…}
emit_tam ¶
emit_tam :: emit_tam_imm8
emit_tam_imm8 ¶
emit_tam_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_tas ¶
emit_tas :: emit_tas_m
emit_tas_m ¶
emit_tas_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_tax ¶
emit_tax :: emit_tax_none
emit_tax_none ¶
emit_tax_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_tay ¶
emit_tay :: emit_tay_none
emit_tay_none ¶
emit_tay_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_tdd ¶
emit_tdd :: emit_tdd_block
emit_tdd_block ¶
emit_tdd_block :: proc(instructions: ^[dynamic]Instruction, src, dst, length_val: u16) {…}
emit_tia ¶
emit_tia :: emit_tia_block
emit_tia_block ¶
emit_tia_block :: proc(instructions: ^[dynamic]Instruction, src, dst, length_val: u16) {…}
emit_tii ¶
emit_tii :: emit_tii_block
emit_tii_block ¶
emit_tii_block :: proc(instructions: ^[dynamic]Instruction, src, dst, length_val: u16) {…}
emit_tin ¶
emit_tin :: emit_tin_block
emit_tin_block ¶
emit_tin_block :: proc(instructions: ^[dynamic]Instruction, src, dst, length_val: u16) {…}
emit_tma ¶
emit_tma :: emit_tma_imm8
emit_tma_imm8 ¶
emit_tma_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_top ¶
emit_top :: emit_top_m
emit_top_m ¶
emit_top_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_trb ¶
emit_trb :: emit_trb_m
emit_trb_m ¶
emit_trb_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_tsb ¶
emit_tsb :: emit_tsb_m
emit_tsb_m ¶
emit_tsb_m :: proc(instructions: ^[dynamic]Instruction, m: Memory) {…}
emit_tst ¶
emit_tst :: emit_tst_tst
emit_tst_tst ¶
emit_tst_tst :: proc(instructions: ^[dynamic]Instruction, imm: i64, m: Memory) {…}
emit_tsx ¶
emit_tsx :: emit_tsx_none
emit_tsx_none ¶
emit_tsx_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_txa ¶
emit_txa :: emit_txa_none
emit_txa_none ¶
emit_txa_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_txs ¶
emit_txs :: emit_txs_none
emit_txs_none ¶
emit_txs_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_tya ¶
emit_tya :: emit_tya_none
emit_tya_none ¶
emit_tya_none :: proc(instructions: ^[dynamic]Instruction) {…}
emit_usbc ¶
emit_usbc :: emit_usbc_imm8
emit_usbc_imm8 ¶
emit_usbc_imm8 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}
emit_wai ¶
emit_wai :: emit_wai_none
emit_wai_none ¶
emit_wai_none :: proc(instructions: ^[dynamic]Instruction) {…}
encode ¶
encode :: proc( instructions: []Instruction, label_defs: []rexcode_isa.Label_Definition, code: []u8, relocs: ^[dynamic]Relocation, errors: ^[dynamic]rexcode_isa.Error, resolve: bool = true, base_address: u64 = 0, ) -> (byte_count: u32, ok: bool) {…}
encode_max_code_size ¶
encode_max_code_size :: proc "contextless" (instructions: []Instruction) -> int {…}
encode_max_relocation_count ¶
encode_max_relocation_count :: proc "contextless" (instructions: []Instruction) -> int {…}
encode_reserve ¶
encode_reserve :: proc(code: ^[dynamic]u8, relocs: ^[dynamic]Relocation, instructions: []Instruction) {…}
Pre-size the caller's encode outputs (code grown by length so code[:] is a valid emit target; relocs reserved by capacity) so the encode hot path never reallocates. Allocates no new buffers; pass nil to skip either array.
fprint ¶
fprint :: proc( fd: ^os.File, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
fprintln ¶
fprintln :: proc( fd: ^os.File, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
inst_a ¶
inst_a :: proc "contextless" (m: Mnemonic) -> Instruction {…}
inst_adc_imm8 ¶
inst_adc_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_adc_m ¶
inst_adc_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_alr ¶
inst_alr :: inst_alr_imm8
inst_alr_imm8 ¶
inst_alr_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_anc ¶
inst_anc :: inst_anc_imm8
inst_anc_imm8 ¶
inst_anc_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_and_imm8 ¶
inst_and_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_and_m ¶
inst_and_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_ane ¶
inst_ane :: inst_ane_imm8
inst_ane_imm8 ¶
inst_ane_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_arr ¶
inst_arr :: inst_arr_imm8
inst_arr_imm8 ¶
inst_arr_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_asl_m ¶
inst_asl_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_axs ¶
inst_axs :: inst_axs_imm8
inst_axs_imm8 ¶
inst_axs_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_bbr0 ¶
inst_bbr0 :: inst_bbr0_zp_rel
inst_bbr0_zp_rel ¶
inst_bbr0_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr1 ¶
inst_bbr1 :: inst_bbr1_zp_rel
inst_bbr1_zp_rel ¶
inst_bbr1_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr2 ¶
inst_bbr2 :: inst_bbr2_zp_rel
inst_bbr2_zp_rel ¶
inst_bbr2_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr3 ¶
inst_bbr3 :: inst_bbr3_zp_rel
inst_bbr3_zp_rel ¶
inst_bbr3_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr4 ¶
inst_bbr4 :: inst_bbr4_zp_rel
inst_bbr4_zp_rel ¶
inst_bbr4_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr5 ¶
inst_bbr5 :: inst_bbr5_zp_rel
inst_bbr5_zp_rel ¶
inst_bbr5_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr6 ¶
inst_bbr6 :: inst_bbr6_zp_rel
inst_bbr6_zp_rel ¶
inst_bbr6_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbr7 ¶
inst_bbr7 :: inst_bbr7_zp_rel
inst_bbr7_zp_rel ¶
inst_bbr7_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs0 ¶
inst_bbs0 :: inst_bbs0_zp_rel
inst_bbs0_zp_rel ¶
inst_bbs0_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs1 ¶
inst_bbs1 :: inst_bbs1_zp_rel
inst_bbs1_zp_rel ¶
inst_bbs1_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs2 ¶
inst_bbs2 :: inst_bbs2_zp_rel
inst_bbs2_zp_rel ¶
inst_bbs2_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs3 ¶
inst_bbs3 :: inst_bbs3_zp_rel
inst_bbs3_zp_rel ¶
inst_bbs3_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs4 ¶
inst_bbs4 :: inst_bbs4_zp_rel
inst_bbs4_zp_rel ¶
inst_bbs4_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs5 ¶
inst_bbs5 :: inst_bbs5_zp_rel
inst_bbs5_zp_rel ¶
inst_bbs5_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs6 ¶
inst_bbs6 :: inst_bbs6_zp_rel
inst_bbs6_zp_rel ¶
inst_bbs6_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bbs7 ¶
inst_bbs7 :: inst_bbs7_zp_rel
inst_bbs7_zp_rel ¶
inst_bbs7_zp_rel :: proc "contextless" (zp: u8, label_id: u32) -> Instruction {…}
inst_bcc ¶
inst_bcc :: inst_bcc_rel
inst_bcc_rel ¶
inst_bcc_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bcs ¶
inst_bcs :: inst_bcs_rel
inst_bcs_rel ¶
inst_bcs_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_beq ¶
inst_beq :: inst_beq_rel
inst_beq_rel ¶
inst_beq_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bit_imm8 ¶
inst_bit_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_bit_m ¶
inst_bit_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_block ¶
inst_block :: proc "contextless" (m: Mnemonic, src, dst, length_val: u16) -> Instruction {…}
HuC6280 block transfer: src, dst, length (7-byte encoding).
inst_bmi ¶
inst_bmi :: inst_bmi_rel
inst_bmi_rel ¶
inst_bmi_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bne ¶
inst_bne :: inst_bne_rel
inst_bne_rel ¶
inst_bne_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bpl ¶
inst_bpl :: inst_bpl_rel
inst_bpl_rel ¶
inst_bpl_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bra ¶
inst_bra :: inst_bra_rel
inst_bra_rel ¶
inst_bra_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_brk ¶
inst_brk :: inst_brk_none
inst_brk_none ¶
inst_brk_none :: proc "contextless" () -> Instruction {…}
inst_bsr ¶
inst_bsr :: inst_bsr_rel
inst_bsr_rel ¶
inst_bsr_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bvc ¶
inst_bvc :: inst_bvc_rel
inst_bvc_rel ¶
inst_bvc_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_bvs ¶
inst_bvs :: inst_bvs_rel
inst_bvs_rel ¶
inst_bvs_rel :: proc "contextless" (label_id: u32) -> Instruction {…}
inst_cla ¶
inst_cla :: inst_cla_none
inst_cla_none ¶
inst_cla_none :: proc "contextless" () -> Instruction {…}
inst_clc ¶
inst_clc :: inst_clc_none
inst_clc_none ¶
inst_clc_none :: proc "contextless" () -> Instruction {…}
inst_cld ¶
inst_cld :: inst_cld_none
inst_cld_none ¶
inst_cld_none :: proc "contextless" () -> Instruction {…}
inst_cli ¶
inst_cli :: inst_cli_none
inst_cli_none ¶
inst_cli_none :: proc "contextless" () -> Instruction {…}
inst_clv ¶
inst_clv :: inst_clv_none
inst_clv_none ¶
inst_clv_none :: proc "contextless" () -> Instruction {…}
inst_clx ¶
inst_clx :: inst_clx_none
inst_clx_none ¶
inst_clx_none :: proc "contextless" () -> Instruction {…}
inst_cly ¶
inst_cly :: inst_cly_none
inst_cly_none ¶
inst_cly_none :: proc "contextless" () -> Instruction {…}
inst_cmp_imm8 ¶
inst_cmp_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_cmp_m ¶
inst_cmp_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_cpx_imm8 ¶
inst_cpx_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_cpx_m ¶
inst_cpx_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_cpy_imm8 ¶
inst_cpy_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_cpy_m ¶
inst_cpy_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_csh ¶
inst_csh :: inst_csh_none
inst_csh_none ¶
inst_csh_none :: proc "contextless" () -> Instruction {…}
inst_csl ¶
inst_csl :: inst_csl_none
inst_csl_none ¶
inst_csl_none :: proc "contextless" () -> Instruction {…}
inst_dcp ¶
inst_dcp :: inst_dcp_m
inst_dcp_m ¶
inst_dcp_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_dea ¶
inst_dea :: inst_dea_a
inst_dea_a ¶
inst_dea_a :: proc "contextless" () -> Instruction {…}
inst_dec_m ¶
inst_dec_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_dex ¶
inst_dex :: inst_dex_none
inst_dex_none ¶
inst_dex_none :: proc "contextless" () -> Instruction {…}
inst_dey ¶
inst_dey :: inst_dey_none
inst_dey_none ¶
inst_dey_none :: proc "contextless" () -> Instruction {…}
inst_dop_imm8 ¶
inst_dop_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_dop_m ¶
inst_dop_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_eor_imm8 ¶
inst_eor_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_eor_m ¶
inst_eor_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_i ¶
inst_i :: proc "contextless" (m: Mnemonic, imm: i64) -> Instruction {…}
inst_ina ¶
inst_ina :: inst_ina_a
inst_ina_a ¶
inst_ina_a :: proc "contextless" () -> Instruction {…}
inst_inc_m ¶
inst_inc_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_inx ¶
inst_inx :: inst_inx_none
inst_inx_none ¶
inst_inx_none :: proc "contextless" () -> Instruction {…}
inst_iny ¶
inst_iny :: inst_iny_none
inst_iny_none ¶
inst_iny_none :: proc "contextless" () -> Instruction {…}
inst_isc ¶
inst_isc :: inst_isc_m
inst_isc_m ¶
inst_isc_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_jam ¶
inst_jam :: inst_jam_none
inst_jam_none ¶
inst_jam_none :: proc "contextless" () -> Instruction {…}
inst_jmp ¶
inst_jmp :: inst_jmp_m
inst_jmp_m ¶
inst_jmp_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_jsr ¶
inst_jsr :: inst_jsr_m
inst_jsr_m ¶
inst_jsr_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_las ¶
inst_las :: inst_las_m
inst_las_m ¶
inst_las_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_lax ¶
inst_lax :: inst_lax_m
inst_lax_m ¶
inst_lax_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_lda_imm8 ¶
inst_lda_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_lda_m ¶
inst_lda_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_ldx_imm8 ¶
inst_ldx_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_ldx_m ¶
inst_ldx_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_ldy_imm8 ¶
inst_ldy_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_ldy_m ¶
inst_ldy_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_lsr_m ¶
inst_lsr_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_lxa ¶
inst_lxa :: inst_lxa_imm8
inst_lxa_imm8 ¶
inst_lxa_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_m ¶
inst_m :: proc "contextless" (m: Mnemonic, mm: Memory) -> Instruction {…}
inst_none ¶
inst_none :: proc "contextless" (m: Mnemonic) -> Instruction {…}
inst_nop ¶
inst_nop :: inst_nop_none
inst_nop_none ¶
inst_nop_none :: proc "contextless" () -> Instruction {…}
inst_ora_imm8 ¶
inst_ora_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_ora_m ¶
inst_ora_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_pha ¶
inst_pha :: inst_pha_none
inst_pha_none ¶
inst_pha_none :: proc "contextless" () -> Instruction {…}
inst_php ¶
inst_php :: inst_php_none
inst_php_none ¶
inst_php_none :: proc "contextless" () -> Instruction {…}
inst_phx ¶
inst_phx :: inst_phx_none
inst_phx_none ¶
inst_phx_none :: proc "contextless" () -> Instruction {…}
inst_phy ¶
inst_phy :: inst_phy_none
inst_phy_none ¶
inst_phy_none :: proc "contextless" () -> Instruction {…}
inst_pla ¶
inst_pla :: inst_pla_none
inst_pla_none ¶
inst_pla_none :: proc "contextless" () -> Instruction {…}
inst_plp ¶
inst_plp :: inst_plp_none
inst_plp_none ¶
inst_plp_none :: proc "contextless" () -> Instruction {…}
inst_plx ¶
inst_plx :: inst_plx_none
inst_plx_none ¶
inst_plx_none :: proc "contextless" () -> Instruction {…}
inst_ply ¶
inst_ply :: inst_ply_none
inst_ply_none ¶
inst_ply_none :: proc "contextless" () -> Instruction {…}
inst_rel ¶
inst_rel :: proc "contextless" (m: Mnemonic, label_id: u32) -> Instruction {…}
inst_rla ¶
inst_rla :: inst_rla_m
inst_rla_m ¶
inst_rla_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb0 ¶
inst_rmb0 :: inst_rmb0_m
inst_rmb0_m ¶
inst_rmb0_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb1 ¶
inst_rmb1 :: inst_rmb1_m
inst_rmb1_m ¶
inst_rmb1_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb2 ¶
inst_rmb2 :: inst_rmb2_m
inst_rmb2_m ¶
inst_rmb2_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb3 ¶
inst_rmb3 :: inst_rmb3_m
inst_rmb3_m ¶
inst_rmb3_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb4 ¶
inst_rmb4 :: inst_rmb4_m
inst_rmb4_m ¶
inst_rmb4_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb5 ¶
inst_rmb5 :: inst_rmb5_m
inst_rmb5_m ¶
inst_rmb5_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb6 ¶
inst_rmb6 :: inst_rmb6_m
inst_rmb6_m ¶
inst_rmb6_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rmb7 ¶
inst_rmb7 :: inst_rmb7_m
inst_rmb7_m ¶
inst_rmb7_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rol_m ¶
inst_rol_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_ror_m ¶
inst_ror_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_rra ¶
inst_rra :: inst_rra_m
inst_rra_m ¶
inst_rra_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_rti ¶
inst_rti :: inst_rti_none
inst_rti_none ¶
inst_rti_none :: proc "contextless" () -> Instruction {…}
inst_rts ¶
inst_rts :: inst_rts_none
inst_rts_none ¶
inst_rts_none :: proc "contextless" () -> Instruction {…}
inst_sax ¶
inst_sax :: inst_sax_none
inst_sax_nmos ¶
inst_sax_nmos :: inst_sax_nmos_m
inst_sax_nmos_m ¶
inst_sax_nmos_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_sax_none ¶
inst_sax_none :: proc "contextless" () -> Instruction {…}
inst_say ¶
inst_say :: inst_say_none
inst_say_none ¶
inst_say_none :: proc "contextless" () -> Instruction {…}
inst_sbc_imm8 ¶
inst_sbc_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
Related Procedure Groups
inst_sbc_m ¶
inst_sbc_m :: proc "contextless" (m: Memory) -> Instruction {…}
Related Procedure Groups
inst_sec ¶
inst_sec :: inst_sec_none
inst_sec_none ¶
inst_sec_none :: proc "contextless" () -> Instruction {…}
inst_sed ¶
inst_sed :: inst_sed_none
inst_sed_none ¶
inst_sed_none :: proc "contextless" () -> Instruction {…}
inst_sei ¶
inst_sei :: inst_sei_none
inst_sei_none ¶
inst_sei_none :: proc "contextless" () -> Instruction {…}
inst_set ¶
inst_set :: inst_set_none
inst_set_none ¶
inst_set_none :: proc "contextless" () -> Instruction {…}
inst_sha ¶
inst_sha :: inst_sha_m
inst_sha_m ¶
inst_sha_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_shx ¶
inst_shx :: inst_shx_m
inst_shx_m ¶
inst_shx_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_shy ¶
inst_shy :: inst_shy_m
inst_shy_m ¶
inst_shy_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_slo ¶
inst_slo :: inst_slo_m
inst_slo_m ¶
inst_slo_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb0 ¶
inst_smb0 :: inst_smb0_m
inst_smb0_m ¶
inst_smb0_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb1 ¶
inst_smb1 :: inst_smb1_m
inst_smb1_m ¶
inst_smb1_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb2 ¶
inst_smb2 :: inst_smb2_m
inst_smb2_m ¶
inst_smb2_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb3 ¶
inst_smb3 :: inst_smb3_m
inst_smb3_m ¶
inst_smb3_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb4 ¶
inst_smb4 :: inst_smb4_m
inst_smb4_m ¶
inst_smb4_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb5 ¶
inst_smb5 :: inst_smb5_m
inst_smb5_m ¶
inst_smb5_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb6 ¶
inst_smb6 :: inst_smb6_m
inst_smb6_m ¶
inst_smb6_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_smb7 ¶
inst_smb7 :: inst_smb7_m
inst_smb7_m ¶
inst_smb7_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_sre ¶
inst_sre :: inst_sre_m
inst_sre_m ¶
inst_sre_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_st0 ¶
inst_st0 :: inst_st0_imm8
inst_st0_imm8 ¶
inst_st0_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_st1 ¶
inst_st1 :: inst_st1_imm8
inst_st1_imm8 ¶
inst_st1_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_st2 ¶
inst_st2 :: inst_st2_imm8
inst_st2_imm8 ¶
inst_st2_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_sta ¶
inst_sta :: inst_sta_m
inst_sta_m ¶
inst_sta_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_stp ¶
inst_stp :: inst_stp_none
inst_stp_none ¶
inst_stp_none :: proc "contextless" () -> Instruction {…}
inst_stx ¶
inst_stx :: inst_stx_m
inst_stx_m ¶
inst_stx_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_sty ¶
inst_sty :: inst_sty_m
inst_sty_m ¶
inst_sty_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_stz ¶
inst_stz :: inst_stz_m
inst_stz_m ¶
inst_stz_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_sxy ¶
inst_sxy :: inst_sxy_none
inst_sxy_none ¶
inst_sxy_none :: proc "contextless" () -> Instruction {…}
inst_tai ¶
inst_tai :: inst_tai_block
inst_tai_block ¶
inst_tai_block :: proc "contextless" (src, dst, length_val: u16) -> Instruction {…}
inst_tam ¶
inst_tam :: inst_tam_imm8
inst_tam_imm8 ¶
inst_tam_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_tas ¶
inst_tas :: inst_tas_m
inst_tas_m ¶
inst_tas_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_tax ¶
inst_tax :: inst_tax_none
inst_tax_none ¶
inst_tax_none :: proc "contextless" () -> Instruction {…}
inst_tay ¶
inst_tay :: inst_tay_none
inst_tay_none ¶
inst_tay_none :: proc "contextless" () -> Instruction {…}
inst_tdd ¶
inst_tdd :: inst_tdd_block
inst_tdd_block ¶
inst_tdd_block :: proc "contextless" (src, dst, length_val: u16) -> Instruction {…}
inst_tia ¶
inst_tia :: inst_tia_block
inst_tia_block ¶
inst_tia_block :: proc "contextless" (src, dst, length_val: u16) -> Instruction {…}
inst_tii ¶
inst_tii :: inst_tii_block
inst_tii_block ¶
inst_tii_block :: proc "contextless" (src, dst, length_val: u16) -> Instruction {…}
inst_tin ¶
inst_tin :: inst_tin_block
inst_tin_block ¶
inst_tin_block :: proc "contextless" (src, dst, length_val: u16) -> Instruction {…}
inst_tma ¶
inst_tma :: inst_tma_imm8
inst_tma_imm8 ¶
inst_tma_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_top ¶
inst_top :: inst_top_m
inst_top_m ¶
inst_top_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_trb ¶
inst_trb :: inst_trb_m
inst_trb_m ¶
inst_trb_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_tsb ¶
inst_tsb :: inst_tsb_m
inst_tsb_m ¶
inst_tsb_m :: proc "contextless" (m: Memory) -> Instruction {…}
inst_tst ¶
inst_tst :: inst_tst_tst
inst_tst_tst ¶
inst_tst_tst :: proc "contextless" (imm: i64, m: Memory) -> Instruction {…}
inst_tsx ¶
inst_tsx :: inst_tsx_none
inst_tsx_none ¶
inst_tsx_none :: proc "contextless" () -> Instruction {…}
inst_txa ¶
inst_txa :: inst_txa_none
inst_txa_none ¶
inst_txa_none :: proc "contextless" () -> Instruction {…}
inst_txs ¶
inst_txs :: inst_txs_none
inst_txs_none ¶
inst_txs_none :: proc "contextless" () -> Instruction {…}
inst_tya ¶
inst_tya :: inst_tya_none
inst_tya_none ¶
inst_tya_none :: proc "contextless" () -> Instruction {…}
inst_usbc ¶
inst_usbc :: inst_usbc_imm8
inst_usbc_imm8 ¶
inst_usbc_imm8 :: proc "contextless" (imm: i64) -> Instruction {…}
inst_wai ¶
inst_wai :: inst_wai_none
inst_wai_none ¶
inst_wai_none :: proc "contextless" () -> Instruction {…}
inst_zp_rel ¶
inst_zp_rel :: proc "contextless" (m: Mnemonic, zp: u8, label_id: u32) -> Instruction {…}
BBR/BBS: zero-page byte + relative branch (3-byte encoding).
mnemonic_to_string ¶
mnemonic_to_string :: proc(m: Mnemonic, lowercase: bool = true, allocator := context.temp_allocator) -> string {…}
op_zp ¶
Address-mode-named operand helpers (call site reads like asm).
print ¶
print :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
println ¶
println :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
sbprint ¶
sbprint :: proc( sb: ^strings.Builder, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
sbprintln ¶
sbprintln :: proc( sb: ^strings.Builder, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
tprint ¶
tprint :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) -> string {…}
tprintln ¶
tprintln :: proc( instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) -> string {…}
wprint ¶
wprint :: proc( w: io.Stream, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
wprintln ¶
wprintln :: proc( w: io.Stream, instructions: []Instruction, inst_info: []Instruction_Info, label_defs: []rexcode_isa.Label_Definition, tokens: ^[dynamic]rexcode_isa.Token = nil, options: ^rexcode_isa.Print_Options = nil, label_names: ^map[u32]string = nil, ) {…}
Procedure Groups
emit_adc ¶
emit_adc :: proc{ emit_adc_imm8, emit_adc_m, }
emit_and ¶
emit_and :: proc{ emit_and_imm8, emit_and_m, }
emit_asl ¶
emit_asl :: proc{ emit_asl_a, emit_asl_m, }
emit_bit ¶
emit_bit :: proc{ emit_bit_m, emit_bit_imm8, }
emit_cmp ¶
emit_cmp :: proc{ emit_cmp_imm8, emit_cmp_m, }
emit_cpx ¶
emit_cpx :: proc{ emit_cpx_imm8, emit_cpx_m, }
emit_cpy ¶
emit_cpy :: proc{ emit_cpy_imm8, emit_cpy_m, }
emit_dec ¶
emit_dec :: proc{ emit_dec_m, emit_dec_a, }
emit_dop ¶
emit_dop :: proc{ emit_dop_imm8, emit_dop_m, }
emit_eor ¶
emit_eor :: proc{ emit_eor_imm8, emit_eor_m, }
emit_inc ¶
emit_inc :: proc{ emit_inc_m, emit_inc_a, }
emit_lda ¶
emit_lda :: proc{ emit_lda_imm8, emit_lda_m, }
emit_ldx ¶
emit_ldx :: proc{ emit_ldx_imm8, emit_ldx_m, }
emit_ldy ¶
emit_ldy :: proc{ emit_ldy_imm8, emit_ldy_m, }
emit_lsr ¶
emit_lsr :: proc{ emit_lsr_a, emit_lsr_m, }
emit_ora ¶
emit_ora :: proc{ emit_ora_imm8, emit_ora_m, }
emit_rol ¶
emit_rol :: proc{ emit_rol_a, emit_rol_m, }
emit_ror ¶
emit_ror :: proc{ emit_ror_a, emit_ror_m, }
emit_sbc ¶
emit_sbc :: proc{ emit_sbc_imm8, emit_sbc_m, }
inst_adc ¶
inst_adc :: proc{ inst_adc_imm8, inst_adc_m, }
inst_and ¶
inst_and :: proc{ inst_and_imm8, inst_and_m, }
inst_asl ¶
inst_asl :: proc{ inst_asl_a, inst_asl_m, }
inst_bit ¶
inst_bit :: proc{ inst_bit_m, inst_bit_imm8, }
inst_cmp ¶
inst_cmp :: proc{ inst_cmp_imm8, inst_cmp_m, }
inst_cpx ¶
inst_cpx :: proc{ inst_cpx_imm8, inst_cpx_m, }
inst_cpy ¶
inst_cpy :: proc{ inst_cpy_imm8, inst_cpy_m, }
inst_dec ¶
inst_dec :: proc{ inst_dec_m, inst_dec_a, }
inst_dop ¶
inst_dop :: proc{ inst_dop_imm8, inst_dop_m, }
inst_eor ¶
inst_eor :: proc{ inst_eor_imm8, inst_eor_m, }
inst_inc ¶
inst_inc :: proc{ inst_inc_m, inst_inc_a, }
inst_lda ¶
inst_lda :: proc{ inst_lda_imm8, inst_lda_m, }
inst_ldx ¶
inst_ldx :: proc{ inst_ldx_imm8, inst_ldx_m, }
inst_ldy ¶
inst_ldy :: proc{ inst_ldy_imm8, inst_ldy_m, }
inst_lsr ¶
inst_lsr :: proc{ inst_lsr_a, inst_lsr_m, }
inst_ora ¶
inst_ora :: proc{ inst_ora_imm8, inst_ora_m, }
inst_rol ¶
inst_rol :: proc{ inst_rol_a, inst_rol_m, }
inst_ror ¶
inst_ror :: proc{ inst_ror_a, inst_ror_m, }
inst_sbc ¶
inst_sbc :: proc{ inst_sbc_imm8, inst_sbc_m, }
Source Files
- decoder.odin
- encoder.odin
- encoding_types.odin
- instructions.odin
- mnemonic_builders.odin
- mnemonics.odin
- operands.odin
- printer.odin
- registers.odin
- reloc.odin
- tables.odin
Generation Information
Generated with odin version dev-2026-07 (vendor "odin") Windows_amd64 @ 2026-07-20 21:55:33.468775900 +0000 UTC