URL
https://opencores.org/ocsvn/m65c02/m65c02/trunk
Subversion Repositories m65c02
[/] [m65c02/] [trunk/] [Src/] [Microprogram-Sources/] [M65C02_uPgm_V3.out] - Rev 2
Compare with Previous | Blame | View Log
---------------------- 12/15/2012 8:12:20 PM ------------------------
-- Instructions --
0x0000 RTS RTS .asm 0 -- Return from Subroutine
0x0001 BSR BSR .asm 1 -- Branch to subroutine
0x0002 FTCH FTCH .asm 2 -- Fetch next instruction
0x0003 BMW BMW .asm 3 -- Branch multi-way
0x0004 BRV0 BRV0 .asm 4 -- Branch via 0
0x0005 BRV1 BRV1 .asm 5 -- Branch via 1
0x0006 BRV2 BRV2 .asm 6 -- Branch via 2
0x0007 BRV3 BRV3 .asm 7 -- Branch via 3
0x0008 BTH0 BTH0 .asm 8 -- Branch if T0 is high
0x0009 BTH1 BTH1 .asm 9 -- Branch if T1 is high
0x000A BTH2 BTH2 .asm 10 -- Branch if T2 is high
0x000B BTH3 BTH3 .asm 11 -- Branch if T3 is high
0x000C BTL0 BTL0 .asm 12 -- Branch if T0 is low
0x000D BTL1 BTL1 .asm 13 -- Branch if T1 is low
0x000E BTL2 BTL2 .asm 14 -- Branch if T2 is low
0x000F BTL3 BTL3 .asm 15 -- Branch if T3 is low
-- Equates --
0x0000 PC .equ 0 -- NA <= PC (default)
0x0001 Inc .equ 1 -- NA <= PC + 1
0x0002 MAR .equ 2 -- NA <= MAR + 0
0x0003 Nxt .equ 3 -- NA <= MAR + 1
0x0004 Stk .equ 4 -- NA <= SP + 0
0x0005 DPN .equ 5 -- NA <= {0, OP1} + 0
0x0006 DPX .equ 6 -- NA <= {0, OP1} + {0, X}
0x0007 DPY .equ 7 -- NA <= {0, OP1} + {0, Y}
0x0008 LDA .equ 8 -- NA <= {OP2, OP1} + 0
0x000E LDAX .equ 14 -- NA <= {OP2, OP1} + {0, X}
0x000F LDAY .equ 15 -- NA <= {OP2, OP1} + {0, Y}
0x0001 Pls .equ 1 -- PC <= PC + 1
0x0002 Jmp .equ 2 -- PC <= NA
0x0003 Rel .equ 3 -- PC <= PC + (CC ? {{8{DI[7]}}, DI} : 1)
0x0001 WR .equ 1 -- Bus Operand Write
0x0002 RD .equ 2 -- Bus Operand Read
0x0003 IF .equ 3 -- Bus Insruction Fetch
0x0000 ALU .equ 0 -- M <= DI
0x0001 OP2 .equ 1 -- OP2 <= DI
0x0002 OP1 .equ 2 -- OP1 <= DI
0x0003 IR .equ 3 -- IR <= DI
0x0001 PCH .equ 1 -- DO <= PCH
0x0002 PCL .equ 2 -- DO <= PCL
0x0003 PSW .equ 3 -- DO <= PSW (P)
0x0002 Psh .equ 2 -- S <= S - 1
0x0003 Pop .equ 3 -- S <= S + 1
0x0001 WE_A .equ 1 -- Write Enable A
0x0002 WE_X .equ 2 -- Write Enable X
0x0003 WE_Y .equ 3 -- Write Enable Y
0x0004 WE_R .equ 4 -- Write Enable Register - write selected register
0x0005 WE_S .equ 5 -- Write Enable S
0x0006 WE_P .equ 6 -- Write Enable P
0x0007 WE_M .equ 7 -- Write Enable M(emory)
0x0001 ISR .equ 1 -- Assert ISR: Clear D, Set I
-- Defines --
0x0004 Inst .def 4 -- Instruction
0x0009 BA .def 9 -- Branch Address
0x0001 Wait .def 1 -- Conditional Execution Required
0x0002 En .def 2 -- Enable ALU, and Sample Interrupts
0x0004 NA_Cntl .def 4 -- Next Address Control Field
0x0002 PC_Cntl .def 2 -- Program Counter Control Field
0x0002 IO_Cntl .def 2 -- I/O Cycle Control Field
0x0002 DIO_Cntl .def 2 -- Data Input/Output Demux/Mux Control Field
0x0002 Stk_Cntl .def 2 -- ALU Stack Pointer Control Field
0x0003 RegWE_Cntl .def 3 -- Register Write Enable (A, X, Y, S, P)
0x0001 PSW_Cntl .def 1 -- Asserted to Clear D and Set I in PSW
-- Labels --
0x0000 _Start
0x0001 _Rst
0x0020 _Nxt
0x0020 _Psh
0x0020 _Pop
0x0020 _Rel
0x0020 _Imm
0x0021 _Int
0x0022 _Brk
0x0027 _JSR
0x002A _RTI
0x002D _RTS
0x002E _Jmp
0x002F _JmpI
0x0032 _JmpXI
0x0035 _RO_DP
0x0036 _RO_DPX
0x0037 _RO_DPY
0x0038 _RO_DPI
0x003B _RO_DPXI
0x003E _RO_DPIY
0x0041 _RO_Abs
0x0043 _RO_AbsX
0x0045 _RO_AbsY
0x0047 _WO_DP
0x0048 _WO_DPX
0x0049 _WO_DPY
0x004A _WO_DPI
0x004D _WO_DPXI
0x0050 _WO_DPIY
0x0053 _WO_Abs
0x0055 _WO_AbsX
0x0057 _WO_AbsY
0x0060 _RMW
0x0062 _RMW_DP
0x0064 _RMW_DPX
0x0066 _RMW_DPY
0x0068 _RMW_Abs
0x006B _RMW_AbsX
0x006E _RMW_AbsY
0x0071 _BByx_dp_rel
0x0073 _End_uPgm
0x00FC _WAI
0x0100 _IDEC_Start
0x0100 _BRK_imm
0x0101 _BPL_rel
0x0102 _JSR_abs
0x0103 _BMI_rel
0x0104 _RTI_imp
0x0105 _BVC_rel
0x0106 _RTS_imp
0x0107 _BVS_rel
0x0108 _BRA_rel
0x0109 _BCC_re
0x010A _LDY_imm
0x010B _BCS_rel
0x010C _CPY_imm
0x010D _BNE_rel
0x010E _CPX_imm
0x010F _BEQ_rel
0x0110 _ORA_dpXi
0x0111 _ORA_dpiY
0x0112 _AND_dpXi
0x0113 _AND_dpiY
0x0114 _EOR_dpXi
0x0115 _EOR_dpiY
0x0116 _ADC_dpXi
0x0117 _ADC_dpiY
0x0118 _STA_dpXi
0x0119 _STA_dpiY
0x011A _LDA_dpXi
0x011B _LDA_dpiY
0x011C _CMP_dpXi
0x011D _CMP_dpiY
0x011E _SBC_dpXi
0x011F _SBC_dpiY
0x0120 _NOP_02
0x0121 _ORA_dpi
0x0122 _NOP_22
0x0123 _AND_dpi
0x0124 _NOP_42
0x0125 _EOR_dpi
0x0126 _NOP_62
0x0127 _ADC_dpi
0x0128 _NOP_82
0x0129 _STA_dpi
0x012A _LDX_imm
0x012B _LDA_dpi
0x012C _NOP_C2
0x012D _CMP_dpi
0x012E _NOP_E2
0x012F _SBC_dpi
0x0130 _NOP_03
0x0131 _NOP_13
0x0132 _NOP_23
0x0133 _NOP_33
0x0134 _NOP_43
0x0135 _NOP_53
0x0136 _NOP_63
0x0137 _NOP_73
0x0138 _NOP_83
0x0139 _NOP_93
0x013A _NOP_A3
0x013B _NOP_B3
0x013C _NOP_C3
0x013D _NOP_D3
0x013E _NOP_E3
0x013F _NOP_F3
0x0140 _TSB_dp
0x0141 _TRB_dp
0x0142 _BIT_dp
0x0143 _BIT_dpX
0x0144 _NOP_44
0x0145 _NOP_54
0x0146 _STZ_dp
0x0147 _STZ_dpX
0x0148 _STY_dp
0x0149 _STY_dpX
0x014A _LDY_dp
0x014B _LDY_dpX
0x014C _CPY_dp
0x014D _NOP_D4
0x014E _CPX_dp
0x014F _NOP_F4
0x0150 _ORA_dp
0x0151 _ORA_dpX
0x0152 _AND_dp
0x0153 _AND_dpX
0x0154 _EOR_dp
0x0155 _EOR_dpX
0x0156 _ADC_dp
0x0157 _ADC_dpX
0x0158 _STA_dp
0x0159 _STA_dpX
0x015A _LDA_dp
0x015B _LDA_dpX
0x015C _CMP_dp
0x015D _CMP_dpX
0x015E _SBC_dp
0x015F _SBC_dpX
0x0160 _ASL_dp
0x0161 _ASL_dpX
0x0162 _ROL_dp
0x0163 _ROL_dpX
0x0164 _LSR_dp
0x0165 _LSR_dpX
0x0166 _ROR_dp
0x0167 _ROR_dpX
0x0168 _STX_dp
0x0169 _STX_dpY
0x016A _LDX_dp
0x016B _LDX_dpY
0x016C _DEC_dp
0x016D _DEC_dpX
0x016E _INC_dp
0x016F _INC_dpX
0x0170 _RMB0_dp
0x0171 _RMB1_dp
0x0172 _RMB2_dp
0x0173 _RMB3_dp
0x0174 _RMB4_dp
0x0175 _RMB5_dp
0x0176 _RMB6_dp
0x0177 _RMB7_dp
0x0178 _SMB0_dp
0x0179 _SMB1_dp
0x017A _SMB2_dp
0x017B _SMB3_dp
0x017C _SMB4_dp
0x017D _SMB5_dp
0x017E _SMB6_dp
0x017F _SMB7_dp
0x0180 _PHP
0x0181 _CLC
0x0182 _PLP
0x0183 _SEC
0x0184 _PHA
0x0185 _CLI
0x0186 _PLA
0x0187 _SEI
0x0188 _DEY
0x0189 _TYA
0x018A _TAY
0x018B _CLV
0x018C _INY
0x018D _CLD
0x018E _INX
0x018F _SED
0x0190 _ORA_imm
0x0191 _ORA_absY
0x0192 _AND_imm
0x0193 _AND_absY
0x0194 _EOR_imm
0x0195 _EOR_absY
0x0196 _ADC_imm
0x0197 _ADC_absY
0x0198 _BIT_imm
0x0199 _STA_absY
0x019A _LDA_imm
0x019B _LDA_absY
0x019C _CMP_imm
0x019D _CMP_absY
0x019E _SBC_imm
0x019F _SBC_absY
0x01A0 _ASL_A
0x01A1 _INC_A
0x01A2 _ROL_A
0x01A3 _DEC_A
0x01A4 _LSR_A
0x01A5 _PHY
0x01A6 _ROR_A
0x01A7 _PLY
0x01A8 _TXA
0x01A9 _TXS
0x01AA _TAX
0x01AB _TSX
0x01AC _DEX
0x01AD _PHX
0x01AE _NOP
0x01AF _PLX
0x01B0 _NOP_0B
0x01B1 _NOP_1B
0x01B2 _NOP_2B
0x01B3 _NOP_3B
0x01B4 _NOP_4B
0x01B5 _NOP_5B
0x01B6 _NOP_6B
0x01B7 _NOP_7B
0x01B8 _NOP_8B
0x01B9 _NOP_9B
0x01BA _NOP_AB
0x01BB _NOP_BB
0x01BC _WAI_CB
0x01BD _STP_DB
0x01BE _NOP_EB
0x01BF _NOP_FB
0x01C0 _TSB_abs
0x01C1 _TRB_abs
0x01C2 _BIT_abs
0x01C3 _BIT_absX
0x01C4 _JMP_abs
0x01C5 _NOP_5C
0x01C6 _JMP_absi
0x01C7 _JMP_absXi
0x01C8 _STY_abs
0x01C9 _STZ_abs
0x01CA _LDY_abs
0x01CB _LDY_absX
0x01CC _CPY_abs
0x01CD _NOP_DC
0x01CE _CPX_abs
0x01CF _NOP_FC
0x01D0 _ORA_abs
0x01D1 _ORA_absX
0x01D2 _AND_abs
0x01D3 _AND_absX
0x01D4 _EOR_abs
0x01D5 _EOR_absX
0x01D6 _ADC_abs
0x01D7 _ADC_absX
0x01D8 _STA_abs
0x01D9 _STA_absX
0x01DA _LDA_abs
0x01DB _LDA_absX
0x01DC _CMP_abs
0x01DD _CMP_absX
0x01DE _SBC_abs
0x01DF _SBC_absX
0x01E0 _ASL_abs
0x01E1 _ASL_absX
0x01E2 _ROL_abs
0x01E3 _ROL_absX
0x01E4 _LSR_abs
0x01E5 _LSR_absX
0x01E6 _ROR_abs
0x01E7 _ROR_absX
0x01E8 _STX_abs
0x01E9 _STZ_absX
0x01EA _LDX_abs
0x01EB _LDX_absY
0x01EC _DEC_abs
0x01ED _DEC_absX
0x01EE _INC_abs
0x01EF _INC_absX
0x01F0 _BBR0_dp_rel
0x01F1 _BBR1_dp_rel
0x01F2 _BBR2_dp_rel
0x01F3 _BBR3_dp_rel
0x01F4 _BBR4_dp_rel
0x01F5 _BBR5_dp_rel
0x01F6 _BBR6_dp_rel
0x01F7 _BBR7_dp_rel
0x01F8 _BBS0_dp_rel
0x01F9 _BBS1_dp_rel
0x01FA _BBS2_dp_rel
0x01FB _BBS3_dp_rel
0x01FC _BBS4_dp_rel
0x01FD _BBS5_dp_rel
0x01FE _BBS6_dp_rel
0x01FF _BBS7_dp_rel
0x0200 _Last
0x0200 _end
File Prog
Line Line Opcode Line
0611 0x0000 _Start: .org 0
0612 0x0000 600D0000 BRV2 _Rst,1,1 -- Load {OP2, OP1} with Vector
0613 0x0001 _Rst:
0614 0x0001 200C0280 FTCH $,1,0,,, RD, OP1 -- Read Indirect Dst Ptr Lo
0615 0x0002 20143A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0616 --
0617 0x0003 501D07C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0619 -- this space reserved for future use - boot loader for the microprogram ROMs
0621 --------------------------------------------------------------------------------
0622 --------------------------------------------------------------------------------
0623 -- 2-Way Jump Table: _Nxt and _Int
0624 --------------------------------------------------------------------------------
0625 --------------------------------------------------------------------------------
0626 -- Instruction Fetch and Execute Microstate
0627 --------------------------------------------------------------------------------
0000 0x0004 00000000 added by program
0000 0x0005 00000000 added by program
0000 0x0006 00000000 added by program
0000 0x0007 00000000 added by program
0000 0x0008 00000000 added by program
0000 0x0009 00000000 added by program
0000 0x000A 00000000 added by program
0000 0x000B 00000000 added by program
0000 0x000C 00000000 added by program
0000 0x000D 00000000 added by program
0000 0x000E 00000000 added by program
0000 0x000F 00000000 added by program
0000 0x0010 00000000 added by program
0000 0x0011 00000000 added by program
0000 0x0012 00000000 added by program
0000 0x0013 00000000 added by program
0000 0x0014 00000000 added by program
0000 0x0015 00000000 added by program
0000 0x0016 00000000 added by program
0000 0x0017 00000000 added by program
0000 0x0018 00000000 added by program
0000 0x0019 00000000 added by program
0000 0x001A 00000000 added by program
0000 0x001B 00000000 added by program
0000 0x001C 00000000 added by program
0000 0x001D 00000000 added by program
0000 0x001E 00000000 added by program
0000 0x001F 00000000 added by program
0628 0x0020 _Nxt: .org 32
0629 0x0020 _Psh:
0630 0x0020 _Pop:
0631 0x0020 _Rel:
0632 0x0020 _Imm:
0633 0x0020 510507C8 BRV1 _Nxt,1,1,, Pls, IF, IR,, WE_R -- Instruction Fetch/Execute
0635 --------------------------------------------------------------------------------
0636 -- Interrupt Entry - NMI, (unmasked) IRQ (falls through to _BRK)
0637 --------------------------------------------------------------------------------
0639 0x0021 _Int:
0640 0x0021 61154168 BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_R -- Push PCH, capture Vector
0642 --------------------------------------------------------------------------------
0643 -- BRK Entry - BRK #imm (_Int falls through to _Brk, see comment above)
0644 --------------------------------------------------------------------------------
0646 0x0022 _Brk:
0647 0x0022 211441A0 FTCH $,1,0, Stk,, WR, PCL, Psh -- Push PCL
0648 0x0023 211C49E1 FTCH $,1,0, Stk, Jmp, WR, PSW, Psh,, ISR -- Push P; Clr D, Set I
0649 --
0650 0x0024 21248280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Lo
0651 0x0025 212C3A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0652 --
0653 0x0026 513507C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0655 --------------------------------------------------------------------------------
0656 -- Jump To Subroutine - JSR Abs (Not interruptable)
0657 --------------------------------------------------------------------------------
0659 0x0027 _JSR:
0660 0x0027 213C0340 FTCH $,1,0,,, IF, OP2 -- Load Indirect Dst Ptr Lo
0661 0x0028 21444160 FTCH $,1,0, Stk,, WR, PCH, Psh -- Push PC Hi
0662 0x0029 410449A0 BRV0 _Nxt,1,0, Stk, Jmp, WR, PCL, Psh -- Push PC Lo
0664 --------------------------------------------------------------------------------
0665 -- Return from Interrupt - RTI (Not interruptable)
0666 --------------------------------------------------------------------------------
0668 0x002A _RTI:
0669 0x002A 215442BC FTCH $,1,0, Stk,, RD, OP1, Pop, WE_P -- Pop PCL
0670 0x002B 215C4A70 FTCH $,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0671 --
0672 0x002C 516507C0 BRV1 $,1,1,, Pls, IF, IR -- Next, no Reg_WE, P okay
0674 --------------------------------------------------------------------------------
0675 -- Return From Subroutine - RTS (Not interruptable)
0676 --------------------------------------------------------------------------------
0678 0x002D _RTS:
0679 0x002D 41044A70 BRV0 _Nxt,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0681 --------------------------------------------------------------------------------
0682 -- Jump Absolute - JMP Abs (Not interruptable)
0683 --------------------------------------------------------------------------------
0685 0x002E _Jmp:
0686 0x002E 41040B40 BRV0 _Nxt,1,0,, Jmp, IF, OP2
0688 --------------------------------------------------------------------------------
0689 -- Jump Indirect - JMP (Abs) (Not interruptable)
0690 --------------------------------------------------------------------------------
0692 0x002F _JmpI:
0693 0x002F 217C0740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0694 0x0030 21848280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Hi
0695 0x0031 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0697 --------------------------------------------------------------------------------
0698 -- Jump Pre-Indexed Indirect - JMP (Abs, X) (Not interruptable)
0699 --------------------------------------------------------------------------------
0701 0x0032 _JmpXI:
0702 0x0032 21940740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0703 0x0033 219CE280 FTCH $,1,0, LDAX,, RD, OP1 -- Read Indirect Dst Ptr Hi
0704 0x0034 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0706 --------------------------------------------------------------------------------
0707 -- Memory Read-Only Data Page Direct - xxx DP
0708 --------------------------------------------------------------------------------
0710 0x0035 _RO_DP:
0711 0x0035 31045280 BMW _Nxt,1,0, DPN,, RD, OP1 -- Read DP Mem
0713 -----------------------------------------------------------------------------
0714 -- Memory Read-Only Pre-Indexed Data Page Direct - xxx DP, X
0715 --------------------------------------------------------------------------------
0717 0x0036 _RO_DPX:
0718 0x0036 31046280 BMW _Nxt,1,0, DPX,, RD, OP1 -- Read DP Mem
0720 --------------------------------------------------------------------------------
0721 -- Memory Read-Only Post-Indexed Data Page Direct - xxx DP, Y
0722 --------------------------------------------------------------------------------
0724 0x0037 _RO_DPY:
0725 0x0037 31047280 BMW _Nxt,1,0, DPY,, RD, OP1 -- Read DP Mem
0727 ------------------------------------------------------------------------------
0728 -- Memory Read-Only Data Page Indirect - xxx (DP)
0729 --------------------------------------------------------------------------------
0731 0x0038 _RO_DPI:
0732 0x0038 21C45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0733 0x0039 21CC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0734 0x003A 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0736 --------------------------------------------------------------------------------
0737 -- Memory Read-Only Pre-Indexed Data Page Indirect - xxx (DP, X)
0738 --------------------------------------------------------------------------------
0740 0x003B _RO_DPXI:
0741 0x003B 21DC6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo (DP,X)
0742 0x003C 21E43240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0743 0x003D 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0745 --------------------------------------------------------------------------------
0746 -- Memory Read-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0747 --------------------------------------------------------------------------------
0749 0x003E _RO_DPIY:
0750 0x003E 21F45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0751 0x003F 21FC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0752 0x0040 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand (DP),Y
0754 --------------------------------------------------------------------------------
0755 -- Memory Read-Only Absolute - xxx Abs
0756 --------------------------------------------------------------------------------
0758 0x0041 _RO_Abs:
0759 0x0041 220C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0760 0x0042 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0762 --------------------------------------------------------------------------------
0763 -- Memory Read-Only Pre-Indexed Absolute - xxx Abs, X
0764 --------------------------------------------------------------------------------
0766 0x0043 _RO_AbsX:
0767 0x0043 221C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0768 0x0044 3104E280 BMW _Nxt,1,0, LDAX,, RD, OP1 -- Read Operand Abs,X
0770 --------------------------------------------------------------------------------
0771 -- Memory Read-Only Post-Indexed Absolute - xxx Abs, Y
0772 --------------------------------------------------------------------------------
0774 0x0045 _RO_AbsY:
0775 0x0045 222C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0776 0x0046 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand Abs,Y
0778 --------------------------------------------------------------------------------
0779 -- Memory Write-Only Data Page Direct - xxx DP
0780 --------------------------------------------------------------------------------
0782 0x0047 _WO_DP:
0783 0x0047 31045100 BMW _Nxt,1,0, DPN,, WR -- Write to DP
0785 -----------------------------------------------------------------------------
0786 -- Memory Write-Only Pre-Indexed Data Page Direct - xxx DP, X
0787 --------------------------------------------------------------------------------
0789 0x0048 _WO_DPX:
0790 0x0048 31046100 BMW _Nxt,1,0, DPX,, WR -- Write to DP,X
0792 -----------------------------------------------------------------------------
0793 -- Memory Write-Only Post-Indexed Data Page Direct - xxx DP, Y
0794 --------------------------------------------------------------------------------
0796 0x0049 _WO_DPY:
0797 0x0049 31047100 BMW _Nxt,1,0, DPY,, WR -- Write to DP,Y
0799 --------------------------------------------------------------------------------
0800 -- Memory Write-Only Data Page Indirect - xxx (DP)
0801 --------------------------------------------------------------------------------
0803 0x004A _WO_DPI:
0804 0x004A 22545280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0805 0x004B 225C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0806 0x004C 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0808 --------------------------------------------------------------------------------
0809 -- Memory Write-Only Data Page Indirect - xxx (DP, X)
0810 --------------------------------------------------------------------------------
0812 0x004D _WO_DPXI:
0813 0x004D 226C6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo
0814 0x004E 22743240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0815 0x004F 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0817 --------------------------------------------------------------------------------
0818 -- Memory Write-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0819 --------------------------------------------------------------------------------
0821 0x0050 _WO_DPIY:
0822 0x0050 22845280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0823 0x0051 228C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0824 0x0052 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to (DP)
0826 --------------------------------------------------------------------------------
0827 -- Memory Write-Only Absolute - xxx Abs
0828 --------------------------------------------------------------------------------
0830 0x0053 _WO_Abs:
0831 0x0053 229C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0832 0x0054 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to Abs
0834 --------------------------------------------------------------------------------
0835 -- Memory Write-Only Pre-Indexed Absolute - xxx Abs, X
0836 --------------------------------------------------------------------------------
0838 0x0055 _WO_AbsX:
0839 0x0055 22AC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0840 0x0056 3104E100 BMW _Nxt,1,0, LDAX,, WR -- Write to Abs,X
0842 --------------------------------------------------------------------------------
0843 -- Memory Write-Only Post-Indexed Absolute - xxx Abs, Y
0844 --------------------------------------------------------------------------------
0846 0x0057 _WO_AbsY:
0847 0x0057 22BC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0848 0x0058 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to Abs,Y
0850 --------------------------------------------------------------------------------
0851 -- 2-way Read-Modify-Write Instruction/Interrupt Jump Table
0852 --------------------------------------------------------------------------------
0000 0x0059 00000000 added by program
0000 0x005A 00000000 added by program
0000 0x005B 00000000 added by program
0000 0x005C 00000000 added by program
0000 0x005D 00000000 added by program
0000 0x005E 00000000 added by program
0000 0x005F 00000000 added by program
0854 0x0060 _RMW: .org 96
0855 0x0060 530507C0 BRV1 _RMW,1,1,, Pls, IF, IR -- Instruction Fetch/Execute
0856 0x0061 61154160 BRV2 _Brk,1,1, Stk, , WR, PCH, Psh -- Push PCH, capture Vector
0858 --------------------------------------------------------------------------------
0859 -- Memory Read-Modify-Write Data Page Direct - xxx DP
0860 --------------------------------------------------------------------------------
0862 0x0062 _RMW_DP:
0863 0x0062 23145280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0864 0x0063 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP
0866 --------------------------------------------------------------------------------
0867 -- Memory Read-Modify-Write Pre-Indexed Data Page Direct - xxx DP, X
0868 --------------------------------------------------------------------------------
0870 0x0064 _RMW_DPX:
0871 0x0064 23246280 FTCH $,1,0, DPX,, RD, OP1 -- Read from DP,X
0872 0x0065 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,X
0874 --------------------------------------------------------------------------------
0875 -- Memory Read-Modify-Write Post-Indexed Data Page Direct - xxx DP, Y
0876 --------------------------------------------------------------------------------
0878 0x0066 _RMW_DPY:
0879 0x0066 23347280 FTCH $,1,0, DPY,, RD, OP1 -- Read from DP,Y
0880 0x0067 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,Y
0882 --------------------------------------------------------------------------------
0883 -- Memory Read-Modify-Write Absolute - xxx Abs
0884 --------------------------------------------------------------------------------
0886 0x0068 _RMW_Abs:
0887 0x0068 23440740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0888 0x0069 234C8280 FTCH $,1,0, LDA,, RD, OP1 -- Read from Abs
0889 0x006A 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs
0891 --------------------------------------------------------------------------------
0892 -- Memory Read-Modify-Write Pre-Indexed Absolute - xxx Abs, X
0893 --------------------------------------------------------------------------------
0895 0x006B _RMW_AbsX:
0896 0x006B 235C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0897 0x006C 2364E280 FTCH $,1,0, LDAX,, RD, OP1 -- Read from Abs,X
0898 0x006D 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,X
0900 --------------------------------------------------------------------------------
0901 -- Memory Read-Modify-Write Post-Indexed Absolute - xxx Abs, Y
0902 --------------------------------------------------------------------------------
0904 0x006E _RMW_AbsY:
0905 0x006E 23740740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0906 0x006F 237CF280 FTCH $,1,0, LDAY,, RD, OP1 -- Read from Abs,Y
0907 0x0070 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,Y
0909 --------------------------------------------------------------------------------
0910 -- Rockwell BBRx/BBSx dp,rel instructions
0911 --------------------------------------------------------------------------------
0913 0x0071 _BByx_dp_rel:
0914 0x0071 238C5280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0915 0x0072 41040F80 BRV0 _Nxt,1,0,, Rel, IF, OP1 -- Read rel value
0917 --------------------------------------------------------------------------------
0918 -- End of Microprogram Routines for Normal Instructions
0919 --------------------------------------------------------------------------------
0921 0x0073 _End_uPgm:
0923 --------------------------------------------------------------------------------
0924 -- WAI - Wait for Interrupt
0925 --------------------------------------------------------------------------------
0000 0x0073 00000000 added by program
0000 0x0074 00000000 added by program
0000 0x0075 00000000 added by program
0000 0x0076 00000000 added by program
0000 0x0077 00000000 added by program
0000 0x0078 00000000 added by program
0000 0x0079 00000000 added by program
0000 0x007A 00000000 added by program
0000 0x007B 00000000 added by program
0000 0x007C 00000000 added by program
0000 0x007D 00000000 added by program
0000 0x007E 00000000 added by program
0000 0x007F 00000000 added by program
0000 0x0080 00000000 added by program
0000 0x0081 00000000 added by program
0000 0x0082 00000000 added by program
0000 0x0083 00000000 added by program
0000 0x0084 00000000 added by program
0000 0x0085 00000000 added by program
0000 0x0086 00000000 added by program
0000 0x0087 00000000 added by program
0000 0x0088 00000000 added by program
0000 0x0089 00000000 added by program
0000 0x008A 00000000 added by program
0000 0x008B 00000000 added by program
0000 0x008C 00000000 added by program
0000 0x008D 00000000 added by program
0000 0x008E 00000000 added by program
0000 0x008F 00000000 added by program
0000 0x0090 00000000 added by program
0000 0x0091 00000000 added by program
0000 0x0092 00000000 added by program
0000 0x0093 00000000 added by program
0000 0x0094 00000000 added by program
0000 0x0095 00000000 added by program
0000 0x0096 00000000 added by program
0000 0x0097 00000000 added by program
0000 0x0098 00000000 added by program
0000 0x0099 00000000 added by program
0000 0x009A 00000000 added by program
0000 0x009B 00000000 added by program
0000 0x009C 00000000 added by program
0000 0x009D 00000000 added by program
0000 0x009E 00000000 added by program
0000 0x009F 00000000 added by program
0000 0x00A0 00000000 added by program
0000 0x00A1 00000000 added by program
0000 0x00A2 00000000 added by program
0000 0x00A3 00000000 added by program
0000 0x00A4 00000000 added by program
0000 0x00A5 00000000 added by program
0000 0x00A6 00000000 added by program
0000 0x00A7 00000000 added by program
0000 0x00A8 00000000 added by program
0000 0x00A9 00000000 added by program
0000 0x00AA 00000000 added by program
0000 0x00AB 00000000 added by program
0000 0x00AC 00000000 added by program
0000 0x00AD 00000000 added by program
0000 0x00AE 00000000 added by program
0000 0x00AF 00000000 added by program
0000 0x00B0 00000000 added by program
0000 0x00B1 00000000 added by program
0000 0x00B2 00000000 added by program
0000 0x00B3 00000000 added by program
0000 0x00B4 00000000 added by program
0000 0x00B5 00000000 added by program
0000 0x00B6 00000000 added by program
0000 0x00B7 00000000 added by program
0000 0x00B8 00000000 added by program
0000 0x00B9 00000000 added by program
0000 0x00BA 00000000 added by program
0000 0x00BB 00000000 added by program
0000 0x00BC 00000000 added by program
0000 0x00BD 00000000 added by program
0000 0x00BE 00000000 added by program
0000 0x00BF 00000000 added by program
0000 0x00C0 00000000 added by program
0000 0x00C1 00000000 added by program
0000 0x00C2 00000000 added by program
0000 0x00C3 00000000 added by program
0000 0x00C4 00000000 added by program
0000 0x00C5 00000000 added by program
0000 0x00C6 00000000 added by program
0000 0x00C7 00000000 added by program
0000 0x00C8 00000000 added by program
0000 0x00C9 00000000 added by program
0000 0x00CA 00000000 added by program
0000 0x00CB 00000000 added by program
0000 0x00CC 00000000 added by program
0000 0x00CD 00000000 added by program
0000 0x00CE 00000000 added by program
0000 0x00CF 00000000 added by program
0000 0x00D0 00000000 added by program
0000 0x00D1 00000000 added by program
0000 0x00D2 00000000 added by program
0000 0x00D3 00000000 added by program
0000 0x00D4 00000000 added by program
0000 0x00D5 00000000 added by program
0000 0x00D6 00000000 added by program
0000 0x00D7 00000000 added by program
0000 0x00D8 00000000 added by program
0000 0x00D9 00000000 added by program
0000 0x00DA 00000000 added by program
0000 0x00DB 00000000 added by program
0000 0x00DC 00000000 added by program
0000 0x00DD 00000000 added by program
0000 0x00DE 00000000 added by program
0000 0x00DF 00000000 added by program
0000 0x00E0 00000000 added by program
0000 0x00E1 00000000 added by program
0000 0x00E2 00000000 added by program
0000 0x00E3 00000000 added by program
0000 0x00E4 00000000 added by program
0000 0x00E5 00000000 added by program
0000 0x00E6 00000000 added by program
0000 0x00E7 00000000 added by program
0000 0x00E8 00000000 added by program
0000 0x00E9 00000000 added by program
0000 0x00EA 00000000 added by program
0000 0x00EB 00000000 added by program
0000 0x00EC 00000000 added by program
0000 0x00ED 00000000 added by program
0000 0x00EE 00000000 added by program
0000 0x00EF 00000000 added by program
0000 0x00F0 00000000 added by program
0000 0x00F1 00000000 added by program
0000 0x00F2 00000000 added by program
0000 0x00F3 00000000 added by program
0000 0x00F4 00000000 added by program
0000 0x00F5 00000000 added by program
0000 0x00F6 00000000 added by program
0000 0x00F7 00000000 added by program
0000 0x00F8 00000000 added by program
0000 0x00F9 00000000 added by program
0000 0x00FA 00000000 added by program
0000 0x00FB 00000000 added by program
0927 0x00FC _WAI: .org 252 -- Set up 4-way table for WAI instruction
0928 0x00FC 37E00000 BMW _WAI,0,0 -- No external interrupts asserted
0929 0x00FD 41080000 BRV0 _Int,0,0 -- Int asserted by NMI, do NMI interrupt
0930 0x00FE 41000000 BRV0 _Nxt,0,0 -- xIRQ asserted with IRQ_Msk asserted, continue
0931 0x00FF 41080000 BRV0 _Int,0,0 -- Int asserted by xIRQ, do IRQ interrupt
0933 0x0100 _IDEC_Start: .org 256
0935 --------------------------------------------------------------------------------
0936 -- Start of Instruction Decode Table (Entry for each Opcode)
0937 --
0938 -- Instead of being organized in numerical order, the table is organized by
0939 -- rows: the least significant nibble and the most significant nibble of the
0940 -- opcode are swapped. This organization more clearly shows the arrangement of
0941 -- the addressing modes of the WDC W65C02 microprocessor being emulated. It al-
0942 -- so more clearly shows the regularity of the ALU instructions that are imple-
0943 -- mented. The implementation of the microprogram is first based on the addres-
0944 -- sing mode, and then on the ALU function. Single cycle instructions will be
0945 -- easily recognized in the following table because their table entry use the
0946 -- BRV3 MPC instruction. Multi-cycle instructions use the BRV0 MPC instruction
0947 -- to vector a microroutine in the lower 256 words of the microprogram ROM/RAM.
0948 -- Single byte instructions such as BRK, RTS, RTI, and register push/pull in-
0949 -- structions (PHA, PLA, PHP, PLP, PHX, PLX, PHY, PLY), and multi-byte instruc-
0950 -- tions like JSR abs are implemented with special microroutines that perform
0951 -- the necessary stack accesses. The remainder of the microroutines are orga-
0952 -- nized by addressing mode, and whether the mode is used in a RO, WO, or RMW
0953 -- manner.
0954 --
0955 -- Microprogram Word Format:
0956 --
0957 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0958 --
0959 --------------------------------------------------------------------------------
0961 --------------------------------------------------------------------------------
0962 -- Row 0 : 0x00-0xF0 (All branches/JMPs/JSR implemented as uninterruptable)
0963 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0964 --------------------------------------------------------------------------------
0965 0x0100 _BRK_imm:
0966 0x0100 6115416C BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_P -- Start Break Handler
0967 0x0101 _BPL_rel:
0968 0x0101 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0969 0x0102 _JSR_abs:
0970 0x0102 413C0780 BRV0 _JSR,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
0971 0x0103 _BMI_rel:
0972 0x0103 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0973 0x0104 _RTI_imp:
0974 0x0104 415442B0 BRV0 _RTI,1,0, Stk,, RD, OP1, Pop -- Read PSW from Stack
0975 0x0105 _BVC_rel:
0976 0x0105 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0977 0x0106 _RTS_imp:
0978 0x0106 416C42B0 BRV0 _RTS,1,0, Stk,, RD, OP1, Pop -- Read PCL from Stack
0979 0x0107 _BVS_rel:
0980 0x0107 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0981 0x0108 _BRA_rel:
0982 0x0108 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0983 0x0109 _BCC_rel
0984 0x0109 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0985 0x010A _LDY_imm:
0986 0x010A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0987 0x010B _BCS_rel:
0988 0x010B 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0989 0x010C _CPY_imm:
0990 0x010C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0991 0x010D _BNE_rel:
0992 0x010D 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0993 0x010E _CPX_imm:
0994 0x010E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0995 0x010F _BEQ_rel:
0996 0x010F 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0997 --------------------------------------------------------------------------------
0998 -- Row 1 : 0x01-0xF1
0999 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1000 --------------------------------------------------------------------------------
1001 0x0110 _ORA_dpXi:
1002 0x0110 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1003 0x0111 _ORA_dpiY:
1004 0x0111 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1005 0x0112 _AND_dpXi:
1006 0x0112 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1007 0x0113 _AND_dpiY:
1008 0x0113 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1009 0x0114 _EOR_dpXi:
1010 0x0114 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1011 0x0115 _EOR_dpiY:
1012 0x0115 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1013 0x0116 _ADC_dpXi:
1014 0x0116 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1015 0x0117 _ADC_dpiY:
1016 0x0117 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1017 0x0118 _STA_dpXi:
1018 0x0118 426C0780 BRV0 _WO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1019 0x0119 _STA_dpiY:
1020 0x0119 42840780 BRV0 _WO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1021 0x011A _LDA_dpXi:
1022 0x011A 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1023 0x011B _LDA_dpiY:
1024 0x011B 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1025 0x011C _CMP_dpXi:
1026 0x011C 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1027 0x011D _CMP_dpiY:
1028 0x011D 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1029 0x011E _SBC_dpXi:
1030 0x011E 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1031 0x011F _SBC_dpiY:
1032 0x011F 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1033 --------------------------------------------------------------------------------
1034 -- Row 2 : 0x02-0xF2
1035 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1036 --------------------------------------------------------------------------------
1037 0x0120 _NOP_02:
1038 0x0120 790707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1039 0x0121 _ORA_dpi:
1040 0x0121 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1041 0x0122 _NOP_22:
1042 0x0122 791707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1043 0x0123 _AND_dpi:
1044 0x0123 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1045 0x0124 _NOP_42:
1046 0x0124 792707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1047 0x0125 _EOR_dpi:
1048 0x0125 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1049 0x0126 _NOP_62:
1050 0x0126 793707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1051 0x0127 _ADC_dpi:
1052 0x0127 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1053 0x0128 _NOP_82:
1054 0x0128 794707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1055 0x0129 _STA_dpi:
1056 0x0129 42540780 BRV0 _WO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1057 0x012A _LDX_imm:
1058 0x012A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
1059 0x012B _LDA_dpi:
1060 0x012B 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1061 0x012C _NOP_C2:
1062 0x012C 796707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1063 0x012D _CMP_dpi:
1064 0x012D 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1065 0x012E _NOP_E2:
1066 0x012E 797707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1067 0x012F _SBC_dpi:
1068 0x012F 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1069 --------------------------------------------------------------------------------
1070 -- Row 3 : 0x03-0xF3
1071 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1072 --------------------------------------------------------------------------------
1073 0x0130 _NOP_03:
1074 0x0130 798707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1075 0x0131 _NOP_13:
1076 0x0131 798F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1077 0x0132 _NOP_23:
1078 0x0132 799707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1079 0x0133 _NOP_33:
1080 0x0133 799F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1081 0x0134 _NOP_43:
1082 0x0134 79A707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1083 0x0135 _NOP_53:
1084 0x0135 79AF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1085 0x0136 _NOP_63:
1086 0x0136 79B707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1087 0x0137 _NOP_73:
1088 0x0137 79BF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1089 0x0138 _NOP_83:
1090 0x0138 79C707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1091 0x0139 _NOP_93:
1092 0x0139 79CF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1093 0x013A _NOP_A3:
1094 0x013A 79D707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1095 0x013B _NOP_B3:
1096 0x013B 79DF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1097 0x013C _NOP_C3:
1098 0x013C 79E707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1099 0x013D _NOP_D3:
1100 0x013D 79EF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1101 0x013E _NOP_E3:
1102 0x013E 79F707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1103 0x013F _NOP_F3:
1104 0x013F 79FF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1105 --------------------------------------------------------------------------------
1106 -- Row 4 : 0x04-0xF4
1107 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1108 --------------------------------------------------------------------------------
1109 0x0140 _TSB_dp:
1110 0x0140 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1111 0x0141 _TRB_dp:
1112 0x0141 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1113 0x0142 _BIT_dp:
1114 0x0142 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1115 0x0143 _BIT_dpX:
1116 0x0143 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1117 0x0144 _NOP_44:
1118 0x0144 7A2707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1119 0x0145 _NOP_54:
1120 0x0145 7A2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1121 0x0146 _STZ_dp:
1122 0x0146 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1123 0x0147 _STZ_dpX:
1124 0x0147 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1125 0x0148 _STY_dp:
1126 0x0148 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1127 0x0149 _STY_dpX:
1128 0x0149 42440780 BRV0 _WO_DPX,1,0,, Pls, IR, OP1 -- Read DP
1129 0x014A _LDY_dp:
1130 0x014A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IR, OP1 -- Read DP
1131 0x014B _LDY_dpX:
1132 0x014B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1133 0x014C _CPY_dp:
1134 0x014C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1135 0x014D _NOP_D4:
1136 0x014D 7A6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1137 0x014E _CPX_dp:
1138 0x014E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1139 0x014F _NOP_F4:
1140 0x014F 7A7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1141 --------------------------------------------------------------------------------
1142 -- Row 5 : 0x05-0xF5
1143 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1144 --------------------------------------------------------------------------------
1145 0x0150 _ORA_dp:
1146 0x0150 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1147 0x0151 _ORA_dpX:
1148 0x0151 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1149 0x0152 _AND_dp:
1150 0x0152 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1151 0x0153 _AND_dpX:
1152 0x0153 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1153 0x0154 _EOR_dp:
1154 0x0154 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1155 0x0155 _EOR_dpX:
1156 0x0155 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1157 0x0156 _ADC_dp:
1158 0x0156 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1159 0x0157 _ADC_dpX:
1160 0x0157 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1161 0x0158 _STA_dp:
1162 0x0158 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1163 0x0159 _STA_dpX:
1164 0x0159 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1165 0x015A _LDA_dp:
1166 0x015A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1167 0x015B _LDA_dpX:
1168 0x015B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1169 0x015C _CMP_dp:
1170 0x015C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1171 0x015D _CMP_dpX:
1172 0x015D 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1173 0x015E _SBC_dp:
1174 0x015E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1175 0x015F _SBC_dpX:
1176 0x015F 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1177 --------------------------------------------------------------------------------
1178 -- Row 6 : 0x06-0xF6
1179 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1180 --------------------------------------------------------------------------------
1181 0x0160 _ASL_dp:
1182 0x0160 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1183 0x0161 _ASL_dpX:
1184 0x0161 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1185 0x0162 _ROL_dp:
1186 0x0162 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1187 0x0163 _ROL_dpX:
1188 0x0163 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1189 0x0164 _LSR_dp:
1190 0x0164 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1191 0x0165 _LSR_dpX:
1192 0x0165 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1193 0x0166 _ROR_dp:
1194 0x0166 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1195 0x0167 _ROR_dpX:
1196 0x0167 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1197 0x0168 _STX_dp:
1198 0x0168 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1199 0x0169 _STX_dpY:
1200 0x0169 424C0780 BRV0 _WO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1201 0x016A _LDX_dp:
1202 0x016A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1203 0x016B _LDX_dpY:
1204 0x016B 41BC0780 BRV0 _RO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1205 0x016C _DEC_dp:
1206 0x016C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1207 0x016D _DEC_dpX:
1208 0x016D 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1209 0x016E _INC_dp:
1210 0x016E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1211 0x016F _INC_dpX:
1212 0x016F 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1213 --------------------------------------------------------------------------------
1214 -- Row 7 : 0x07-0xF7 (Rockwell Instructions: RMBx/SMBx dp)
1215 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1216 --------------------------------------------------------------------------------
1217 0x0170 _RMB0_dp:
1218 0x0170 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1219 0x0171 _RMB1_dp:
1220 0x0171 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1221 0x0172 _RMB2_dp:
1222 0x0172 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1223 0x0173 _RMB3_dp:
1224 0x0173 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1225 0x0174 _RMB4_dp:
1226 0x0174 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1227 0x0175 _RMB5_dp:
1228 0x0175 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1229 0x0176 _RMB6_dp:
1230 0x0176 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1231 0x0177 _RMB7_dp:
1232 0x0177 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1233 0x0178 _SMB0_dp:
1234 0x0178 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1235 0x0179 _SMB1_dp:
1236 0x0179 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1237 0x017A _SMB2_dp:
1238 0x017A 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1239 0x017B _SMB3_dp:
1240 0x017B 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1241 0x017C _SMB4_dp:
1242 0x017C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1243 0x017D _SMB5_dp:
1244 0x017D 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1245 0x017E _SMB6_dp:
1246 0x017E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1247 0x017F _SMB7_dp:
1248 0x017F 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1249 --------------------------------------------------------------------------------
1250 -- Row 8 : 0x08-0xF8
1251 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1252 --------------------------------------------------------------------------------
1253 0x0180 _PHP:
1254 0x0180 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push P
1255 0x0181 _CLC:
1256 0x0181 7C0F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Carry Flag
1257 0x0182 _PLP:
1258 0x0182 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop P
1259 0x0183 _SEC:
1260 0x0183 7C1F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Carry Flag
1261 0x0184 _PHA:
1262 0x0184 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push A
1263 0x0185 _CLI:
1264 0x0185 5C2D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Clear Interrupt Mask Flg
1265 0x0186 _PLA:
1266 0x0186 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop A
1267 0x0187 _SEI:
1268 0x0187 5C3D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Set Interrupt Mask Flag
1269 0x0188 _DEY:
1270 0x0188 7C4707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Decrement Y
1271 0x0189 _TYA:
1272 0x0189 7C4F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer Y to A
1273 0x018A _TAY:
1274 0x018A 7C5707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Transfer A to Y
1275 0x018B _CLV:
1276 0x018B 7C5F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear oVerflow Flag
1277 0x018C _INY:
1278 0x018C 7C6707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Increment Y
1279 0x018D _CLD:
1280 0x018D 7C6F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Decimal Mode Flag
1281 0x018E _INX:
1282 0x018E 7C7707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Increment X
1283 0x018F _SED:
1284 0x018F 7C7F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Decimal Mode Flag
1285 --------------------------------------------------------------------------------
1286 -- Row 9 : 0x09-0xF9
1287 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1288 --------------------------------------------------------------------------------
1289 0x0190 _ORA_imm:
1290 0x0190 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1291 0x0191 _ORA_absY:
1292 0x0191 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1293 0x0192 _AND_imm:
1294 0x0192 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1295 0x0193 _AND_absY:
1296 0x0193 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1297 0x0194 _EOR_imm:
1298 0x0194 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1299 0x0195 _EOR_absY:
1300 0x0195 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1301 0x0196 _ADC_imm:
1302 0x0196 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1303 0x0197 _ADC_absY:
1304 0x0197 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1305 0x0198 _BIT_imm:
1306 0x0198 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1307 0x0199 _STA_absY:
1308 0x0199 42BC0780 BRV0 _WO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1309 0x019A _LDA_imm:
1310 0x019A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1311 0x019B _LDA_absY:
1312 0x019B 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1313 0x019C _CMP_imm:
1314 0x019C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1315 0x019D _CMP_absY:
1316 0x019D 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1317 0x019E _SBC_imm:
1318 0x019E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1319 0x019F _SBC_absY:
1320 0x019F 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1321 --------------------------------------------------------------------------------
1322 -- Row A : 0x0A-0xFA
1323 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1324 --------------------------------------------------------------------------------
1325 0x01A0 _ASL_A:
1326 0x01A0 7D0707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Arithmetic Shift A Left
1327 0x01A1 _INC_A:
1328 0x01A1 7D0F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Increment A
1329 0x01A2 _ROL_A:
1330 0x01A2 7D1707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Left
1331 0x01A3 _DEC_A:
1332 0x01A3 7D1F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Decrement A
1333 0x01A4 _LSR_A:
1334 0x01A4 7D2707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Logical Shift A Right
1335 0x01A5 _PHY:
1336 0x01A5 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push Y
1337 0x01A6 _ROR_A:
1338 0x01A6 7D3707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Right
1339 0x01A7 _PLY:
1340 0x01A7 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop Y
1341 0x01A8 _TXA:
1342 0x01A8 7D4707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer X to A
1343 0x01A9 _TXS:
1344 0x01A9 7D4F07CA BRV3 $,1,3,, Pls, IF, IR,, WE_S -- Transfer X to S
1345 0x01AA _TAX:
1346 0x01AA 7D5707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer A to X
1347 0x01AB _TSX:
1348 0x01AB 7D5F07C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer S to X
1349 0x01AC _DEX:
1350 0x01AC 7D6707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Decrement X
1351 0x01AD _PHX:
1352 0x01AD 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push X
1353 0x01AE _NOP: -- the real NOP
1354 0x01AE 7D7707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip True NOP Instruction
1355 0x01AF _PLX:
1356 0x01AF 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop X
1357 --------------------------------------------------------------------------------
1358 -- Row B : 0x0B-0xFB
1359 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1360 --------------------------------------------------------------------------------
1361 0x01B0 _NOP_0B:
1362 0x01B0 7D8707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1363 0x01B1 _NOP_1B:
1364 0x01B1 7D8F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1365 0x01B2 _NOP_2B:
1366 0x01B2 7D9707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1367 0x01B3 _NOP_3B:
1368 0x01B3 7D9F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1369 0x01B4 _NOP_4B:
1370 0x01B4 7DA707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1371 0x01B5 _NOP_5B:
1372 0x01B5 7DAF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1373 0x01B6 _NOP_6B:
1374 0x01B6 7DB707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1375 0x01B7 _NOP_7B:
1376 0x01B7 7DBF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1377 0x01B8 _NOP_8B:
1378 0x01B8 7DC707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1379 0x01B9 _NOP_9B:
1380 0x01B9 7DCF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1381 0x01BA _NOP_AB:
1382 0x01BA 7DD707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1383 0x01BB _NOP_BB:
1384 0x01BB 7DDF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1385 0x01BC _WAI_CB:
1386 0x01BC 47E00000 BRV0 _WAI,0,0 -- Wait for Interrupt
1387 0x01BD _STP_DB:
1388 0x01BD 4DE80000 BRV0 $,0,0 -- Stop execution
1389 0x01BE _NOP_EB:
1390 0x01BE 7DF707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1391 0x01BF _NOP_FB:
1392 0x01BF 7DFF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1393 --------------------------------------------------------------------------------
1394 -- Row C : 0x0C-0xFC
1395 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1396 --------------------------------------------------------------------------------
1397 0x01C0 _TSB_abs:
1398 0x01C0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1399 0x01C1 _TRB_abs:
1400 0x01C1 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1401 0x01C2 _BIT_abs:
1402 0x01C2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1403 0x01C3 _BIT_absX:
1404 0x01C3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1405 0x01C4 _JMP_abs:
1406 0x01C4 41740780 BRV0 _Jmp,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1407 0x01C5 _NOP_5C:
1408 0x01C5 7E2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1409 0x01C6 _JMP_absi:
1410 0x01C6 417C0780 BRV0 _JmpI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1411 0x01C7 _JMP_absXi:
1412 0x01C7 41940780 BRV0 _JmpXI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1413 0x01C8 _STY_abs:
1414 0x01C8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1415 0x01C9 _STZ_abs:
1416 0x01C9 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1417 0x01CA _LDY_abs:
1418 0x01CA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1419 0x01CB _LDY_absX:
1420 0x01CB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1421 0x01CC _CPY_abs:
1422 0x01CC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1423 0x01CD _NOP_DC:
1424 0x01CD 7E6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1425 0x01CE _CPX_abs:
1426 0x01CE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1427 0x01CF _NOP_FC:
1428 0x01CF 7E7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1429 --------------------------------------------------------------------------------
1430 -- Row D : 0x0D-0xFD
1431 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1432 --------------------------------------------------------------------------------
1433 0x01D0 _ORA_abs:
1434 0x01D0 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1435 0x01D1 _ORA_absX:
1436 0x01D1 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1437 0x01D2 _AND_abs:
1438 0x01D2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1439 0x01D3 _AND_absX:
1440 0x01D3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1441 0x01D4 _EOR_abs:
1442 0x01D4 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1443 0x01D5 _EOR_absX:
1444 0x01D5 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1445 0x01D6 _ADC_abs:
1446 0x01D6 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1447 0x01D7 _ADC_absX:
1448 0x01D7 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1449 0x01D8 _STA_abs:
1450 0x01D8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1451 0x01D9 _STA_absX:
1452 0x01D9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1453 0x01DA _LDA_abs:
1454 0x01DA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1455 0x01DB _LDA_absX:
1456 0x01DB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1457 0x01DC _CMP_abs:
1458 0x01DC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1459 0x01DD _CMP_absX:
1460 0x01DD 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1461 0x01DE _SBC_abs:
1462 0x01DE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1463 0x01DF _SBC_absX:
1464 0x01DF 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1465 --------------------------------------------------------------------------------
1466 -- Row E : 0x0E-0xFE
1467 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1468 --------------------------------------------------------------------------------
1469 0x01E0 _ASL_abs:
1470 0x01E0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1471 0x01E1 _ASL_absX:
1472 0x01E1 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1473 0x01E2 _ROL_abs:
1474 0x01E2 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1475 0x01E3 _ROL_absX:
1476 0x01E3 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1477 0x01E4 _LSR_abs:
1478 0x01E4 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1479 0x01E5 _LSR_absX:
1480 0x01E5 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1481 0x01E6 _ROR_abs:
1482 0x01E6 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1483 0x01E7 _ROR_absX:
1484 0x01E7 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1485 0x01E8 _STX_abs:
1486 0x01E8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1487 0x01E9 _STZ_absX:
1488 0x01E9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1489 0x01EA _LDX_abs:
1490 0x01EA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1491 0x01EB _LDX_absY:
1492 0x01EB 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1493 0x01EC _DEC_abs:
1494 0x01EC 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1495 0x01ED _DEC_absX:
1496 0x01ED 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1497 0x01EE _INC_abs:
1498 0x01EE 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1499 0x01EF _INC_absX:
1500 0x01EF 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1501 --------------------------------------------------------------------------------
1502 -- Row F : 0x0F-0xFF (Rockwell Instructions: BBRx/BBSx dp,rel)
1503 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1504 --------------------------------------------------------------------------------
1505 0x01F0 _BBR0_dp_rel:
1506 0x01F0 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1507 0x01F1 _BBR1_dp_rel:
1508 0x01F1 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1509 0x01F2 _BBR2_dp_rel:
1510 0x01F2 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1511 0x01F3 _BBR3_dp_rel:
1512 0x01F3 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1513 0x01F4 _BBR4_dp_rel:
1514 0x01F4 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1515 0x01F5 _BBR5_dp_rel:
1516 0x01F5 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1517 0x01F6 _BBR6_dp_rel:
1518 0x01F6 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1519 0x01F7 _BBR7_dp_rel:
1520 0x01F7 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1521 0x01F8 _BBS0_dp_rel:
1522 0x01F8 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1523 0x01F9 _BBS1_dp_rel:
1524 0x01F9 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1525 0x01FA _BBS2_dp_rel:
1526 0x01FA 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1527 0x01FB _BBS3_dp_rel:
1528 0x01FB 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1529 0x01FC _BBS4_dp_rel:
1530 0x01FC 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1531 0x01FD _BBS5_dp_rel:
1532 0x01FD 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1533 0x01FE _BBS6_dp_rel:
1534 0x01FE 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1535 0x01FF _BBS7_dp_rel:
1536 0x01FF 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1537 --------------------------------------------------------------------------------
1538 -- End of Instruction Decode Table
1539 --------------------------------------------------------------------------------
1541 0x0200 _Last: .org 512
1543 0x0200 _end:
-- Instructions --
0x0000 RTS RTS .asm 0 -- Return from Subroutine
0x0001 BSR BSR .asm 1 -- Branch to subroutine
0x0002 FTCH FTCH .asm 2 -- Fetch next instruction
0x0003 BMW BMW .asm 3 -- Branch multi-way
0x0004 BRV0 BRV0 .asm 4 -- Branch via 0
0x0005 BRV1 BRV1 .asm 5 -- Branch via 1
0x0006 BRV2 BRV2 .asm 6 -- Branch via 2
0x0007 BRV3 BRV3 .asm 7 -- Branch via 3
0x0008 BTH0 BTH0 .asm 8 -- Branch if T0 is high
0x0009 BTH1 BTH1 .asm 9 -- Branch if T1 is high
0x000A BTH2 BTH2 .asm 10 -- Branch if T2 is high
0x000B BTH3 BTH3 .asm 11 -- Branch if T3 is high
0x000C BTL0 BTL0 .asm 12 -- Branch if T0 is low
0x000D BTL1 BTL1 .asm 13 -- Branch if T1 is low
0x000E BTL2 BTL2 .asm 14 -- Branch if T2 is low
0x000F BTL3 BTL3 .asm 15 -- Branch if T3 is low
-- Equates --
0x0000 PC .equ 0 -- NA <= PC (default)
0x0001 Inc .equ 1 -- NA <= PC + 1
0x0002 MAR .equ 2 -- NA <= MAR + 0
0x0003 Nxt .equ 3 -- NA <= MAR + 1
0x0004 Stk .equ 4 -- NA <= SP + 0
0x0005 DPN .equ 5 -- NA <= {0, OP1} + 0
0x0006 DPX .equ 6 -- NA <= {0, OP1} + {0, X}
0x0007 DPY .equ 7 -- NA <= {0, OP1} + {0, Y}
0x0008 LDA .equ 8 -- NA <= {OP2, OP1} + 0
0x000E LDAX .equ 14 -- NA <= {OP2, OP1} + {0, X}
0x000F LDAY .equ 15 -- NA <= {OP2, OP1} + {0, Y}
0x0001 Pls .equ 1 -- PC <= PC + 1
0x0002 Jmp .equ 2 -- PC <= NA
0x0003 Rel .equ 3 -- PC <= PC + (CC ? {{8{DI[7]}}, DI} : 1)
0x0001 WR .equ 1 -- Bus Operand Write
0x0002 RD .equ 2 -- Bus Operand Read
0x0003 IF .equ 3 -- Bus Insruction Fetch
0x0000 ALU .equ 0 -- M <= DI
0x0001 OP2 .equ 1 -- OP2 <= DI
0x0002 OP1 .equ 2 -- OP1 <= DI
0x0003 IR .equ 3 -- IR <= DI
0x0001 PCH .equ 1 -- DO <= PCH
0x0002 PCL .equ 2 -- DO <= PCL
0x0003 PSW .equ 3 -- DO <= PSW (P)
0x0002 Psh .equ 2 -- S <= S - 1
0x0003 Pop .equ 3 -- S <= S + 1
0x0001 WE_A .equ 1 -- Write Enable A
0x0002 WE_X .equ 2 -- Write Enable X
0x0003 WE_Y .equ 3 -- Write Enable Y
0x0004 WE_R .equ 4 -- Write Enable Register - write selected register
0x0005 WE_S .equ 5 -- Write Enable S
0x0006 WE_P .equ 6 -- Write Enable P
0x0007 WE_M .equ 7 -- Write Enable M(emory)
0x0001 ISR .equ 1 -- Assert ISR: Clear D, Set I
-- Defines --
0x0004 Inst .def 4 -- Instruction
0x0009 BA .def 9 -- Branch Address
0x0001 Wait .def 1 -- Conditional Execution Required
0x0002 En .def 2 -- Enable ALU, and Sample Interrupts
0x0004 NA_Cntl .def 4 -- Next Address Control Field
0x0002 PC_Cntl .def 2 -- Program Counter Control Field
0x0002 IO_Cntl .def 2 -- I/O Cycle Control Field
0x0002 DIO_Cntl .def 2 -- Data Input/Output Demux/Mux Control Field
0x0002 Stk_Cntl .def 2 -- ALU Stack Pointer Control Field
0x0003 RegWE_Cntl .def 3 -- Register Write Enable (A, X, Y, S, P)
0x0001 PSW_Cntl .def 1 -- Asserted to Clear D and Set I in PSW
-- Labels --
0x0000 _Start
0x0001 _Rst
0x0020 _Nxt
0x0020 _Psh
0x0020 _Pop
0x0020 _Rel
0x0020 _Imm
0x0021 _Int
0x0022 _Brk
0x0027 _JSR
0x002A _RTI
0x002D _RTS
0x002E _Jmp
0x002F _JmpI
0x0032 _JmpXI
0x0035 _RO_DP
0x0036 _RO_DPX
0x0037 _RO_DPY
0x0038 _RO_DPI
0x003B _RO_DPXI
0x003E _RO_DPIY
0x0041 _RO_Abs
0x0043 _RO_AbsX
0x0045 _RO_AbsY
0x0047 _WO_DP
0x0048 _WO_DPX
0x0049 _WO_DPY
0x004A _WO_DPI
0x004D _WO_DPXI
0x0050 _WO_DPIY
0x0053 _WO_Abs
0x0055 _WO_AbsX
0x0057 _WO_AbsY
0x0060 _RMW
0x0062 _RMW_DP
0x0064 _RMW_DPX
0x0066 _RMW_DPY
0x0068 _RMW_Abs
0x006B _RMW_AbsX
0x006E _RMW_AbsY
0x0071 _BByx_dp_rel
0x0073 _End_uPgm
0x00FC _WAI
0x0100 _IDEC_Start
0x0100 _BRK_imm
0x0101 _BPL_rel
0x0102 _JSR_abs
0x0103 _BMI_rel
0x0104 _RTI_imp
0x0105 _BVC_rel
0x0106 _RTS_imp
0x0107 _BVS_rel
0x0108 _BRA_rel
0x0109 _BCC_re
0x010A _LDY_imm
0x010B _BCS_rel
0x010C _CPY_imm
0x010D _BNE_rel
0x010E _CPX_imm
0x010F _BEQ_rel
0x0110 _ORA_dpXi
0x0111 _ORA_dpiY
0x0112 _AND_dpXi
0x0113 _AND_dpiY
0x0114 _EOR_dpXi
0x0115 _EOR_dpiY
0x0116 _ADC_dpXi
0x0117 _ADC_dpiY
0x0118 _STA_dpXi
0x0119 _STA_dpiY
0x011A _LDA_dpXi
0x011B _LDA_dpiY
0x011C _CMP_dpXi
0x011D _CMP_dpiY
0x011E _SBC_dpXi
0x011F _SBC_dpiY
0x0120 _NOP_02
0x0121 _ORA_dpi
0x0122 _NOP_22
0x0123 _AND_dpi
0x0124 _NOP_42
0x0125 _EOR_dpi
0x0126 _NOP_62
0x0127 _ADC_dpi
0x0128 _NOP_82
0x0129 _STA_dpi
0x012A _LDX_imm
0x012B _LDA_dpi
0x012C _NOP_C2
0x012D _CMP_dpi
0x012E _NOP_E2
0x012F _SBC_dpi
0x0130 _NOP_03
0x0131 _NOP_13
0x0132 _NOP_23
0x0133 _NOP_33
0x0134 _NOP_43
0x0135 _NOP_53
0x0136 _NOP_63
0x0137 _NOP_73
0x0138 _NOP_83
0x0139 _NOP_93
0x013A _NOP_A3
0x013B _NOP_B3
0x013C _NOP_C3
0x013D _NOP_D3
0x013E _NOP_E3
0x013F _NOP_F3
0x0140 _TSB_dp
0x0141 _TRB_dp
0x0142 _BIT_dp
0x0143 _BIT_dpX
0x0144 _NOP_44
0x0145 _NOP_54
0x0146 _STZ_dp
0x0147 _STZ_dpX
0x0148 _STY_dp
0x0149 _STY_dpX
0x014A _LDY_dp
0x014B _LDY_dpX
0x014C _CPY_dp
0x014D _NOP_D4
0x014E _CPX_dp
0x014F _NOP_F4
0x0150 _ORA_dp
0x0151 _ORA_dpX
0x0152 _AND_dp
0x0153 _AND_dpX
0x0154 _EOR_dp
0x0155 _EOR_dpX
0x0156 _ADC_dp
0x0157 _ADC_dpX
0x0158 _STA_dp
0x0159 _STA_dpX
0x015A _LDA_dp
0x015B _LDA_dpX
0x015C _CMP_dp
0x015D _CMP_dpX
0x015E _SBC_dp
0x015F _SBC_dpX
0x0160 _ASL_dp
0x0161 _ASL_dpX
0x0162 _ROL_dp
0x0163 _ROL_dpX
0x0164 _LSR_dp
0x0165 _LSR_dpX
0x0166 _ROR_dp
0x0167 _ROR_dpX
0x0168 _STX_dp
0x0169 _STX_dpY
0x016A _LDX_dp
0x016B _LDX_dpY
0x016C _DEC_dp
0x016D _DEC_dpX
0x016E _INC_dp
0x016F _INC_dpX
0x0170 _RMB0_dp
0x0171 _RMB1_dp
0x0172 _RMB2_dp
0x0173 _RMB3_dp
0x0174 _RMB4_dp
0x0175 _RMB5_dp
0x0176 _RMB6_dp
0x0177 _RMB7_dp
0x0178 _SMB0_dp
0x0179 _SMB1_dp
0x017A _SMB2_dp
0x017B _SMB3_dp
0x017C _SMB4_dp
0x017D _SMB5_dp
0x017E _SMB6_dp
0x017F _SMB7_dp
0x0180 _PHP
0x0181 _CLC
0x0182 _PLP
0x0183 _SEC
0x0184 _PHA
0x0185 _CLI
0x0186 _PLA
0x0187 _SEI
0x0188 _DEY
0x0189 _TYA
0x018A _TAY
0x018B _CLV
0x018C _INY
0x018D _CLD
0x018E _INX
0x018F _SED
0x0190 _ORA_imm
0x0191 _ORA_absY
0x0192 _AND_imm
0x0193 _AND_absY
0x0194 _EOR_imm
0x0195 _EOR_absY
0x0196 _ADC_imm
0x0197 _ADC_absY
0x0198 _BIT_imm
0x0199 _STA_absY
0x019A _LDA_imm
0x019B _LDA_absY
0x019C _CMP_imm
0x019D _CMP_absY
0x019E _SBC_imm
0x019F _SBC_absY
0x01A0 _ASL_A
0x01A1 _INC_A
0x01A2 _ROL_A
0x01A3 _DEC_A
0x01A4 _LSR_A
0x01A5 _PHY
0x01A6 _ROR_A
0x01A7 _PLY
0x01A8 _TXA
0x01A9 _TXS
0x01AA _TAX
0x01AB _TSX
0x01AC _DEX
0x01AD _PHX
0x01AE _NOP
0x01AF _PLX
0x01B0 _NOP_0B
0x01B1 _NOP_1B
0x01B2 _NOP_2B
0x01B3 _NOP_3B
0x01B4 _NOP_4B
0x01B5 _NOP_5B
0x01B6 _NOP_6B
0x01B7 _NOP_7B
0x01B8 _NOP_8B
0x01B9 _NOP_9B
0x01BA _NOP_AB
0x01BB _NOP_BB
0x01BC _WAI_CB
0x01BD _STP_DB
0x01BE _NOP_EB
0x01BF _NOP_FB
0x01C0 _TSB_abs
0x01C1 _TRB_abs
0x01C2 _BIT_abs
0x01C3 _BIT_absX
0x01C4 _JMP_abs
0x01C5 _NOP_5C
0x01C6 _JMP_absi
0x01C7 _JMP_absXi
0x01C8 _STY_abs
0x01C9 _STZ_abs
0x01CA _LDY_abs
0x01CB _LDY_absX
0x01CC _CPY_abs
0x01CD _NOP_DC
0x01CE _CPX_abs
0x01CF _NOP_FC
0x01D0 _ORA_abs
0x01D1 _ORA_absX
0x01D2 _AND_abs
0x01D3 _AND_absX
0x01D4 _EOR_abs
0x01D5 _EOR_absX
0x01D6 _ADC_abs
0x01D7 _ADC_absX
0x01D8 _STA_abs
0x01D9 _STA_absX
0x01DA _LDA_abs
0x01DB _LDA_absX
0x01DC _CMP_abs
0x01DD _CMP_absX
0x01DE _SBC_abs
0x01DF _SBC_absX
0x01E0 _ASL_abs
0x01E1 _ASL_absX
0x01E2 _ROL_abs
0x01E3 _ROL_absX
0x01E4 _LSR_abs
0x01E5 _LSR_absX
0x01E6 _ROR_abs
0x01E7 _ROR_absX
0x01E8 _STX_abs
0x01E9 _STZ_absX
0x01EA _LDX_abs
0x01EB _LDX_absY
0x01EC _DEC_abs
0x01ED _DEC_absX
0x01EE _INC_abs
0x01EF _INC_absX
0x01F0 _BBR0_dp_rel
0x01F1 _BBR1_dp_rel
0x01F2 _BBR2_dp_rel
0x01F3 _BBR3_dp_rel
0x01F4 _BBR4_dp_rel
0x01F5 _BBR5_dp_rel
0x01F6 _BBR6_dp_rel
0x01F7 _BBR7_dp_rel
0x01F8 _BBS0_dp_rel
0x01F9 _BBS1_dp_rel
0x01FA _BBS2_dp_rel
0x01FB _BBS3_dp_rel
0x01FC _BBS4_dp_rel
0x01FD _BBS5_dp_rel
0x01FE _BBS6_dp_rel
0x01FF _BBS7_dp_rel
0x0200 _Last
0x0200 _end
File Prog
Line Line Opcode Line
0613 0x0000 _Start: .org 0
0614 0x0000 600D0000 BRV2 _Rst,1,1 -- Load {OP2, OP1} with Vector
0615 0x0001 _Rst:
0616 0x0001 200C0280 FTCH $,1,0,,, RD, OP1 -- Read Indirect Dst Ptr Lo
0617 0x0002 20143A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0618 --
0619 0x0003 501D07C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0621 -- this space reserved for future use - boot loader for the microprogram ROMs
0623 --------------------------------------------------------------------------------
0624 --------------------------------------------------------------------------------
0625 -- 2-Way Jump Table: _Nxt and _Int
0626 --------------------------------------------------------------------------------
0627 --------------------------------------------------------------------------------
0628 -- Instruction Fetch and Execute Microstate
0629 --------------------------------------------------------------------------------
0000 0x0004 00000000 added by program
0000 0x0005 00000000 added by program
0000 0x0006 00000000 added by program
0000 0x0007 00000000 added by program
0000 0x0008 00000000 added by program
0000 0x0009 00000000 added by program
0000 0x000A 00000000 added by program
0000 0x000B 00000000 added by program
0000 0x000C 00000000 added by program
0000 0x000D 00000000 added by program
0000 0x000E 00000000 added by program
0000 0x000F 00000000 added by program
0000 0x0010 00000000 added by program
0000 0x0011 00000000 added by program
0000 0x0012 00000000 added by program
0000 0x0013 00000000 added by program
0000 0x0014 00000000 added by program
0000 0x0015 00000000 added by program
0000 0x0016 00000000 added by program
0000 0x0017 00000000 added by program
0000 0x0018 00000000 added by program
0000 0x0019 00000000 added by program
0000 0x001A 00000000 added by program
0000 0x001B 00000000 added by program
0000 0x001C 00000000 added by program
0000 0x001D 00000000 added by program
0000 0x001E 00000000 added by program
0000 0x001F 00000000 added by program
0630 0x0020 _Nxt: .org 32
0631 0x0020 _Psh:
0632 0x0020 _Pop:
0633 0x0020 _Rel:
0634 0x0020 _Imm:
0635 0x0020 510507C8 BRV1 _Nxt,1,1,, Pls, IF, IR,, WE_R -- Instruction Fetch/Execute
0637 --------------------------------------------------------------------------------
0638 -- Interrupt Entry - NMI, (unmasked) IRQ (falls through to _BRK)
0639 --------------------------------------------------------------------------------
0641 0x0021 _Int:
0642 0x0021 61154168 BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_R -- Push PCH, capture Vector
0644 --------------------------------------------------------------------------------
0645 -- BRK Entry - BRK #imm (_Int falls through to _Brk, see comment above)
0646 --------------------------------------------------------------------------------
0648 0x0022 _Brk:
0649 0x0022 211441A0 FTCH $,1,0, Stk,, WR, PCL, Psh -- Push PCL
0650 0x0023 211C49E1 FTCH $,1,0, Stk, Jmp, WR, PSW, Psh,, ISR -- Push P; Clr D, Set I
0651 --
0652 0x0024 21248280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Lo
0653 0x0025 212C3A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0654 --
0655 0x0026 513507C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0657 --------------------------------------------------------------------------------
0658 -- Jump To Subroutine - JSR Abs (Not interruptable)
0659 --------------------------------------------------------------------------------
0661 0x0027 _JSR:
0662 0x0027 213C0340 FTCH $,1,0,,, IF, OP2 -- Load Indirect Dst Ptr Lo
0663 0x0028 21444160 FTCH $,1,0, Stk,, WR, PCH, Psh -- Push PC Hi
0664 0x0029 410449A0 BRV0 _Nxt,1,0, Stk, Jmp, WR, PCL, Psh -- Push PC Lo
0666 --------------------------------------------------------------------------------
0667 -- Return from Interrupt - RTI (Not interruptable)
0668 --------------------------------------------------------------------------------
0670 0x002A _RTI:
0671 0x002A 215442BC FTCH $,1,0, Stk,, RD, OP1, Pop, WE_P -- Pop PCL
0672 0x002B 215C4A70 FTCH $,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0673 --
0674 0x002C 516507C0 BRV1 $,1,1,, Pls, IF, IR -- Next, no Reg_WE, P okay
0676 --------------------------------------------------------------------------------
0677 -- Return From Subroutine - RTS (Not interruptable)
0678 --------------------------------------------------------------------------------
0680 0x002D _RTS:
0681 0x002D 41044A70 BRV0 _Nxt,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0683 --------------------------------------------------------------------------------
0684 -- Jump Absolute - JMP Abs (Not interruptable)
0685 --------------------------------------------------------------------------------
0687 0x002E _Jmp:
0688 0x002E 41040B40 BRV0 _Nxt,1,0,, Jmp, IF, OP2
0690 --------------------------------------------------------------------------------
0691 -- Jump Indirect - JMP (Abs) (Not interruptable)
0692 --------------------------------------------------------------------------------
0694 0x002F _JmpI:
0695 0x002F 217C0740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0696 0x0030 21848280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Hi
0697 0x0031 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0699 --------------------------------------------------------------------------------
0700 -- Jump Pre-Indexed Indirect - JMP (Abs, X) (Not interruptable)
0701 --------------------------------------------------------------------------------
0703 0x0032 _JmpXI:
0704 0x0032 21940740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0705 0x0033 219CE280 FTCH $,1,0, LDAX,, RD, OP1 -- Read Indirect Dst Ptr Hi
0706 0x0034 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0708 --------------------------------------------------------------------------------
0709 -- Memory Read-Only Data Page Direct - xxx DP
0710 --------------------------------------------------------------------------------
0712 0x0035 _RO_DP:
0713 0x0035 31045280 BMW _Nxt,1,0, DPN,, RD, OP1 -- Read DP Mem
0715 -----------------------------------------------------------------------------
0716 -- Memory Read-Only Pre-Indexed Data Page Direct - xxx DP, X
0717 --------------------------------------------------------------------------------
0719 0x0036 _RO_DPX:
0720 0x0036 31046280 BMW _Nxt,1,0, DPX,, RD, OP1 -- Read DP Mem
0722 --------------------------------------------------------------------------------
0723 -- Memory Read-Only Post-Indexed Data Page Direct - xxx DP, Y
0724 --------------------------------------------------------------------------------
0726 0x0037 _RO_DPY:
0727 0x0037 31047280 BMW _Nxt,1,0, DPY,, RD, OP1 -- Read DP Mem
0729 ------------------------------------------------------------------------------
0730 -- Memory Read-Only Data Page Indirect - xxx (DP)
0731 --------------------------------------------------------------------------------
0733 0x0038 _RO_DPI:
0734 0x0038 21C45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0735 0x0039 21CC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0736 0x003A 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0738 --------------------------------------------------------------------------------
0739 -- Memory Read-Only Pre-Indexed Data Page Indirect - xxx (DP, X)
0740 --------------------------------------------------------------------------------
0742 0x003B _RO_DPXI:
0743 0x003B 21DC6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo (DP,X)
0744 0x003C 21E43240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0745 0x003D 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0747 --------------------------------------------------------------------------------
0748 -- Memory Read-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0749 --------------------------------------------------------------------------------
0751 0x003E _RO_DPIY:
0752 0x003E 21F45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0753 0x003F 21FC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0754 0x0040 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand (DP),Y
0756 --------------------------------------------------------------------------------
0757 -- Memory Read-Only Absolute - xxx Abs
0758 --------------------------------------------------------------------------------
0760 0x0041 _RO_Abs:
0761 0x0041 220C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0762 0x0042 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0764 --------------------------------------------------------------------------------
0765 -- Memory Read-Only Pre-Indexed Absolute - xxx Abs, X
0766 --------------------------------------------------------------------------------
0768 0x0043 _RO_AbsX:
0769 0x0043 221C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0770 0x0044 3104E280 BMW _Nxt,1,0, LDAX,, RD, OP1 -- Read Operand Abs,X
0772 --------------------------------------------------------------------------------
0773 -- Memory Read-Only Post-Indexed Absolute - xxx Abs, Y
0774 --------------------------------------------------------------------------------
0776 0x0045 _RO_AbsY:
0777 0x0045 222C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0778 0x0046 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand Abs,Y
0780 --------------------------------------------------------------------------------
0781 -- Memory Write-Only Data Page Direct - xxx DP
0782 --------------------------------------------------------------------------------
0784 0x0047 _WO_DP:
0785 0x0047 31045100 BMW _Nxt,1,0, DPN,, WR -- Write to DP
0787 -----------------------------------------------------------------------------
0788 -- Memory Write-Only Pre-Indexed Data Page Direct - xxx DP, X
0789 --------------------------------------------------------------------------------
0791 0x0048 _WO_DPX:
0792 0x0048 31046100 BMW _Nxt,1,0, DPX,, WR -- Write to DP,X
0794 -----------------------------------------------------------------------------
0795 -- Memory Write-Only Post-Indexed Data Page Direct - xxx DP, Y
0796 --------------------------------------------------------------------------------
0798 0x0049 _WO_DPY:
0799 0x0049 31047100 BMW _Nxt,1,0, DPY,, WR -- Write to DP,Y
0801 --------------------------------------------------------------------------------
0802 -- Memory Write-Only Data Page Indirect - xxx (DP)
0803 --------------------------------------------------------------------------------
0805 0x004A _WO_DPI:
0806 0x004A 22545280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0807 0x004B 225C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0808 0x004C 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0810 --------------------------------------------------------------------------------
0811 -- Memory Write-Only Data Page Indirect - xxx (DP, X)
0812 --------------------------------------------------------------------------------
0814 0x004D _WO_DPXI:
0815 0x004D 226C6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo
0816 0x004E 22743240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0817 0x004F 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0819 --------------------------------------------------------------------------------
0820 -- Memory Write-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0821 --------------------------------------------------------------------------------
0823 0x0050 _WO_DPIY:
0824 0x0050 22845280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0825 0x0051 228C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0826 0x0052 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to (DP)
0828 --------------------------------------------------------------------------------
0829 -- Memory Write-Only Absolute - xxx Abs
0830 --------------------------------------------------------------------------------
0832 0x0053 _WO_Abs:
0833 0x0053 229C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0834 0x0054 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to Abs
0836 --------------------------------------------------------------------------------
0837 -- Memory Write-Only Pre-Indexed Absolute - xxx Abs, X
0838 --------------------------------------------------------------------------------
0840 0x0055 _WO_AbsX:
0841 0x0055 22AC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0842 0x0056 3104E100 BMW _Nxt,1,0, LDAX,, WR -- Write to Abs,X
0844 --------------------------------------------------------------------------------
0845 -- Memory Write-Only Post-Indexed Absolute - xxx Abs, Y
0846 --------------------------------------------------------------------------------
0848 0x0057 _WO_AbsY:
0849 0x0057 22BC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0850 0x0058 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to Abs,Y
0852 --------------------------------------------------------------------------------
0853 -- 2-way Read-Modify-Write Instruction/Interrupt Jump Table
0854 --------------------------------------------------------------------------------
0000 0x0059 00000000 added by program
0000 0x005A 00000000 added by program
0000 0x005B 00000000 added by program
0000 0x005C 00000000 added by program
0000 0x005D 00000000 added by program
0000 0x005E 00000000 added by program
0000 0x005F 00000000 added by program
0856 0x0060 _RMW: .org 96
0857 0x0060 530507C0 BRV1 _RMW,1,1,, Pls, IF, IR -- Instruction Fetch/Execute
0858 0x0061 61154160 BRV2 _Brk,1,1, Stk, , WR, PCH, Psh -- Push PCH, capture Vector
0860 --------------------------------------------------------------------------------
0861 -- Memory Read-Modify-Write Data Page Direct - xxx DP
0862 --------------------------------------------------------------------------------
0864 0x0062 _RMW_DP:
0865 0x0062 23145280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0866 0x0063 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP
0868 --------------------------------------------------------------------------------
0869 -- Memory Read-Modify-Write Pre-Indexed Data Page Direct - xxx DP, X
0870 --------------------------------------------------------------------------------
0872 0x0064 _RMW_DPX:
0873 0x0064 23246280 FTCH $,1,0, DPX,, RD, OP1 -- Read from DP,X
0874 0x0065 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,X
0876 --------------------------------------------------------------------------------
0877 -- Memory Read-Modify-Write Post-Indexed Data Page Direct - xxx DP, Y
0878 --------------------------------------------------------------------------------
0880 0x0066 _RMW_DPY:
0881 0x0066 23347280 FTCH $,1,0, DPY,, RD, OP1 -- Read from DP,Y
0882 0x0067 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,Y
0884 --------------------------------------------------------------------------------
0885 -- Memory Read-Modify-Write Absolute - xxx Abs
0886 --------------------------------------------------------------------------------
0888 0x0068 _RMW_Abs:
0889 0x0068 23440740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0890 0x0069 234C8280 FTCH $,1,0, LDA,, RD, OP1 -- Read from Abs
0891 0x006A 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs
0893 --------------------------------------------------------------------------------
0894 -- Memory Read-Modify-Write Pre-Indexed Absolute - xxx Abs, X
0895 --------------------------------------------------------------------------------
0897 0x006B _RMW_AbsX:
0898 0x006B 235C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0899 0x006C 2364E280 FTCH $,1,0, LDAX,, RD, OP1 -- Read from Abs,X
0900 0x006D 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,X
0902 --------------------------------------------------------------------------------
0903 -- Memory Read-Modify-Write Post-Indexed Absolute - xxx Abs, Y
0904 --------------------------------------------------------------------------------
0906 0x006E _RMW_AbsY:
0907 0x006E 23740740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0908 0x006F 237CF280 FTCH $,1,0, LDAY,, RD, OP1 -- Read from Abs,Y
0909 0x0070 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,Y
0911 --------------------------------------------------------------------------------
0912 -- Rockwell BBRx/BBSx dp,rel instructions
0913 --------------------------------------------------------------------------------
0915 0x0071 _BByx_dp_rel:
0916 0x0071 238C5280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0917 0x0072 41040F80 BRV0 _Nxt,1,0,, Rel, IF, OP1 -- Read rel value
0919 --------------------------------------------------------------------------------
0920 -- End of Microprogram Routines for Normal Instructions
0921 --------------------------------------------------------------------------------
0923 0x0073 _End_uPgm:
0925 --------------------------------------------------------------------------------
0926 -- WAI - Wait for Interrupt
0927 --------------------------------------------------------------------------------
0000 0x0073 00000000 added by program
0000 0x0074 00000000 added by program
0000 0x0075 00000000 added by program
0000 0x0076 00000000 added by program
0000 0x0077 00000000 added by program
0000 0x0078 00000000 added by program
0000 0x0079 00000000 added by program
0000 0x007A 00000000 added by program
0000 0x007B 00000000 added by program
0000 0x007C 00000000 added by program
0000 0x007D 00000000 added by program
0000 0x007E 00000000 added by program
0000 0x007F 00000000 added by program
0000 0x0080 00000000 added by program
0000 0x0081 00000000 added by program
0000 0x0082 00000000 added by program
0000 0x0083 00000000 added by program
0000 0x0084 00000000 added by program
0000 0x0085 00000000 added by program
0000 0x0086 00000000 added by program
0000 0x0087 00000000 added by program
0000 0x0088 00000000 added by program
0000 0x0089 00000000 added by program
0000 0x008A 00000000 added by program
0000 0x008B 00000000 added by program
0000 0x008C 00000000 added by program
0000 0x008D 00000000 added by program
0000 0x008E 00000000 added by program
0000 0x008F 00000000 added by program
0000 0x0090 00000000 added by program
0000 0x0091 00000000 added by program
0000 0x0092 00000000 added by program
0000 0x0093 00000000 added by program
0000 0x0094 00000000 added by program
0000 0x0095 00000000 added by program
0000 0x0096 00000000 added by program
0000 0x0097 00000000 added by program
0000 0x0098 00000000 added by program
0000 0x0099 00000000 added by program
0000 0x009A 00000000 added by program
0000 0x009B 00000000 added by program
0000 0x009C 00000000 added by program
0000 0x009D 00000000 added by program
0000 0x009E 00000000 added by program
0000 0x009F 00000000 added by program
0000 0x00A0 00000000 added by program
0000 0x00A1 00000000 added by program
0000 0x00A2 00000000 added by program
0000 0x00A3 00000000 added by program
0000 0x00A4 00000000 added by program
0000 0x00A5 00000000 added by program
0000 0x00A6 00000000 added by program
0000 0x00A7 00000000 added by program
0000 0x00A8 00000000 added by program
0000 0x00A9 00000000 added by program
0000 0x00AA 00000000 added by program
0000 0x00AB 00000000 added by program
0000 0x00AC 00000000 added by program
0000 0x00AD 00000000 added by program
0000 0x00AE 00000000 added by program
0000 0x00AF 00000000 added by program
0000 0x00B0 00000000 added by program
0000 0x00B1 00000000 added by program
0000 0x00B2 00000000 added by program
0000 0x00B3 00000000 added by program
0000 0x00B4 00000000 added by program
0000 0x00B5 00000000 added by program
0000 0x00B6 00000000 added by program
0000 0x00B7 00000000 added by program
0000 0x00B8 00000000 added by program
0000 0x00B9 00000000 added by program
0000 0x00BA 00000000 added by program
0000 0x00BB 00000000 added by program
0000 0x00BC 00000000 added by program
0000 0x00BD 00000000 added by program
0000 0x00BE 00000000 added by program
0000 0x00BF 00000000 added by program
0000 0x00C0 00000000 added by program
0000 0x00C1 00000000 added by program
0000 0x00C2 00000000 added by program
0000 0x00C3 00000000 added by program
0000 0x00C4 00000000 added by program
0000 0x00C5 00000000 added by program
0000 0x00C6 00000000 added by program
0000 0x00C7 00000000 added by program
0000 0x00C8 00000000 added by program
0000 0x00C9 00000000 added by program
0000 0x00CA 00000000 added by program
0000 0x00CB 00000000 added by program
0000 0x00CC 00000000 added by program
0000 0x00CD 00000000 added by program
0000 0x00CE 00000000 added by program
0000 0x00CF 00000000 added by program
0000 0x00D0 00000000 added by program
0000 0x00D1 00000000 added by program
0000 0x00D2 00000000 added by program
0000 0x00D3 00000000 added by program
0000 0x00D4 00000000 added by program
0000 0x00D5 00000000 added by program
0000 0x00D6 00000000 added by program
0000 0x00D7 00000000 added by program
0000 0x00D8 00000000 added by program
0000 0x00D9 00000000 added by program
0000 0x00DA 00000000 added by program
0000 0x00DB 00000000 added by program
0000 0x00DC 00000000 added by program
0000 0x00DD 00000000 added by program
0000 0x00DE 00000000 added by program
0000 0x00DF 00000000 added by program
0000 0x00E0 00000000 added by program
0000 0x00E1 00000000 added by program
0000 0x00E2 00000000 added by program
0000 0x00E3 00000000 added by program
0000 0x00E4 00000000 added by program
0000 0x00E5 00000000 added by program
0000 0x00E6 00000000 added by program
0000 0x00E7 00000000 added by program
0000 0x00E8 00000000 added by program
0000 0x00E9 00000000 added by program
0000 0x00EA 00000000 added by program
0000 0x00EB 00000000 added by program
0000 0x00EC 00000000 added by program
0000 0x00ED 00000000 added by program
0000 0x00EE 00000000 added by program
0000 0x00EF 00000000 added by program
0000 0x00F0 00000000 added by program
0000 0x00F1 00000000 added by program
0000 0x00F2 00000000 added by program
0000 0x00F3 00000000 added by program
0000 0x00F4 00000000 added by program
0000 0x00F5 00000000 added by program
0000 0x00F6 00000000 added by program
0000 0x00F7 00000000 added by program
0000 0x00F8 00000000 added by program
0000 0x00F9 00000000 added by program
0000 0x00FA 00000000 added by program
0000 0x00FB 00000000 added by program
0929 0x00FC _WAI: .org 252 -- Set up 4-way table for WAI instruction
0930 0x00FC 37E40000 BMW _WAI,1,0 -- No external interrupts asserted
0931 0x00FD 410C0000 BRV0 _Int,1,0 -- Int asserted by NMI, do NMI interrupt
0932 0x00FE 41040000 BRV0 _Nxt,1,0 -- xIRQ asserted with IRQ_Msk asserted, continue
0933 0x00FF 410C0000 BRV0 _Int,1,0 -- Int asserted by xIRQ, do IRQ interrupt
0935 0x0100 _IDEC_Start: .org 256
0937 --------------------------------------------------------------------------------
0938 -- Start of Instruction Decode Table (Entry for each Opcode)
0939 --
0940 -- Instead of being organized in numerical order, the table is organized by
0941 -- rows: the least significant nibble and the most significant nibble of the
0942 -- opcode are swapped. This organization more clearly shows the arrangement of
0943 -- the addressing modes of the WDC W65C02 microprocessor being emulated. It al-
0944 -- so more clearly shows the regularity of the ALU instructions that are imple-
0945 -- mented. The implementation of the microprogram is first based on the addres-
0946 -- sing mode, and then on the ALU function. Single cycle instructions will be
0947 -- easily recognized in the following table because their table entry use the
0948 -- BRV3 MPC instruction. Multi-cycle instructions use the BRV0 MPC instruction
0949 -- to vector a microroutine in the lower 256 words of the microprogram ROM/RAM.
0950 -- Single byte instructions such as BRK, RTS, RTI, and register push/pull in-
0951 -- structions (PHA, PLA, PHP, PLP, PHX, PLX, PHY, PLY), and multi-byte instruc-
0952 -- tions like JSR abs are implemented with special microroutines that perform
0953 -- the necessary stack accesses. The remainder of the microroutines are orga-
0954 -- nized by addressing mode, and whether the mode is used in a RO, WO, or RMW
0955 -- manner.
0956 --
0957 -- Microprogram Word Format:
0958 --
0959 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0960 --
0961 --------------------------------------------------------------------------------
0963 --------------------------------------------------------------------------------
0964 -- Row 0 : 0x00-0xF0 (All branches/JMPs/JSR implemented as uninterruptable)
0965 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0966 --------------------------------------------------------------------------------
0967 0x0100 _BRK_imm:
0968 0x0100 6115416C BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_P -- Start Break Handler
0969 0x0101 _BPL_rel:
0970 0x0101 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0971 0x0102 _JSR_abs:
0972 0x0102 413C0780 BRV0 _JSR,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
0973 0x0103 _BMI_rel:
0974 0x0103 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0975 0x0104 _RTI_imp:
0976 0x0104 415442B0 BRV0 _RTI,1,0, Stk,, RD, OP1, Pop -- Read PSW from Stack
0977 0x0105 _BVC_rel:
0978 0x0105 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0979 0x0106 _RTS_imp:
0980 0x0106 416C42B0 BRV0 _RTS,1,0, Stk,, RD, OP1, Pop -- Read PCL from Stack
0981 0x0107 _BVS_rel:
0982 0x0107 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0983 0x0108 _BRA_rel:
0984 0x0108 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0985 0x0109 _BCC_rel
0986 0x0109 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0987 0x010A _LDY_imm:
0988 0x010A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0989 0x010B _BCS_rel:
0990 0x010B 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0991 0x010C _CPY_imm:
0992 0x010C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0993 0x010D _BNE_rel:
0994 0x010D 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0995 0x010E _CPX_imm:
0996 0x010E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0997 0x010F _BEQ_rel:
0998 0x010F 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0999 --------------------------------------------------------------------------------
1000 -- Row 1 : 0x01-0xF1
1001 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1002 --------------------------------------------------------------------------------
1003 0x0110 _ORA_dpXi:
1004 0x0110 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1005 0x0111 _ORA_dpiY:
1006 0x0111 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1007 0x0112 _AND_dpXi:
1008 0x0112 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1009 0x0113 _AND_dpiY:
1010 0x0113 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1011 0x0114 _EOR_dpXi:
1012 0x0114 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1013 0x0115 _EOR_dpiY:
1014 0x0115 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1015 0x0116 _ADC_dpXi:
1016 0x0116 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1017 0x0117 _ADC_dpiY:
1018 0x0117 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1019 0x0118 _STA_dpXi:
1020 0x0118 426C0780 BRV0 _WO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1021 0x0119 _STA_dpiY:
1022 0x0119 42840780 BRV0 _WO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1023 0x011A _LDA_dpXi:
1024 0x011A 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1025 0x011B _LDA_dpiY:
1026 0x011B 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1027 0x011C _CMP_dpXi:
1028 0x011C 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1029 0x011D _CMP_dpiY:
1030 0x011D 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1031 0x011E _SBC_dpXi:
1032 0x011E 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1033 0x011F _SBC_dpiY:
1034 0x011F 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1035 --------------------------------------------------------------------------------
1036 -- Row 2 : 0x02-0xF2
1037 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1038 --------------------------------------------------------------------------------
1039 0x0120 _NOP_02:
1040 0x0120 790707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1041 0x0121 _ORA_dpi:
1042 0x0121 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1043 0x0122 _NOP_22:
1044 0x0122 791707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1045 0x0123 _AND_dpi:
1046 0x0123 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1047 0x0124 _NOP_42:
1048 0x0124 792707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1049 0x0125 _EOR_dpi:
1050 0x0125 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1051 0x0126 _NOP_62:
1052 0x0126 793707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1053 0x0127 _ADC_dpi:
1054 0x0127 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1055 0x0128 _NOP_82:
1056 0x0128 794707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1057 0x0129 _STA_dpi:
1058 0x0129 42540780 BRV0 _WO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1059 0x012A _LDX_imm:
1060 0x012A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
1061 0x012B _LDA_dpi:
1062 0x012B 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1063 0x012C _NOP_C2:
1064 0x012C 796707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1065 0x012D _CMP_dpi:
1066 0x012D 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1067 0x012E _NOP_E2:
1068 0x012E 797707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1069 0x012F _SBC_dpi:
1070 0x012F 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1071 --------------------------------------------------------------------------------
1072 -- Row 3 : 0x03-0xF3
1073 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1074 --------------------------------------------------------------------------------
1075 0x0130 _NOP_03:
1076 0x0130 798707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1077 0x0131 _NOP_13:
1078 0x0131 798F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1079 0x0132 _NOP_23:
1080 0x0132 799707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1081 0x0133 _NOP_33:
1082 0x0133 799F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1083 0x0134 _NOP_43:
1084 0x0134 79A707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1085 0x0135 _NOP_53:
1086 0x0135 79AF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1087 0x0136 _NOP_63:
1088 0x0136 79B707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1089 0x0137 _NOP_73:
1090 0x0137 79BF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1091 0x0138 _NOP_83:
1092 0x0138 79C707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1093 0x0139 _NOP_93:
1094 0x0139 79CF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1095 0x013A _NOP_A3:
1096 0x013A 79D707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1097 0x013B _NOP_B3:
1098 0x013B 79DF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1099 0x013C _NOP_C3:
1100 0x013C 79E707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1101 0x013D _NOP_D3:
1102 0x013D 79EF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1103 0x013E _NOP_E3:
1104 0x013E 79F707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1105 0x013F _NOP_F3:
1106 0x013F 79FF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1107 --------------------------------------------------------------------------------
1108 -- Row 4 : 0x04-0xF4
1109 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1110 --------------------------------------------------------------------------------
1111 0x0140 _TSB_dp:
1112 0x0140 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1113 0x0141 _TRB_dp:
1114 0x0141 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1115 0x0142 _BIT_dp:
1116 0x0142 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1117 0x0143 _BIT_dpX:
1118 0x0143 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1119 0x0144 _NOP_44:
1120 0x0144 7A2707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1121 0x0145 _NOP_54:
1122 0x0145 7A2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1123 0x0146 _STZ_dp:
1124 0x0146 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1125 0x0147 _STZ_dpX:
1126 0x0147 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1127 0x0148 _STY_dp:
1128 0x0148 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1129 0x0149 _STY_dpX:
1130 0x0149 42440780 BRV0 _WO_DPX,1,0,, Pls, IR, OP1 -- Read DP
1131 0x014A _LDY_dp:
1132 0x014A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IR, OP1 -- Read DP
1133 0x014B _LDY_dpX:
1134 0x014B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1135 0x014C _CPY_dp:
1136 0x014C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1137 0x014D _NOP_D4:
1138 0x014D 7A6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1139 0x014E _CPX_dp:
1140 0x014E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1141 0x014F _NOP_F4:
1142 0x014F 7A7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1143 --------------------------------------------------------------------------------
1144 -- Row 5 : 0x05-0xF5
1145 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1146 --------------------------------------------------------------------------------
1147 0x0150 _ORA_dp:
1148 0x0150 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1149 0x0151 _ORA_dpX:
1150 0x0151 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1151 0x0152 _AND_dp:
1152 0x0152 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1153 0x0153 _AND_dpX:
1154 0x0153 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1155 0x0154 _EOR_dp:
1156 0x0154 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1157 0x0155 _EOR_dpX:
1158 0x0155 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1159 0x0156 _ADC_dp:
1160 0x0156 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1161 0x0157 _ADC_dpX:
1162 0x0157 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1163 0x0158 _STA_dp:
1164 0x0158 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1165 0x0159 _STA_dpX:
1166 0x0159 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1167 0x015A _LDA_dp:
1168 0x015A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1169 0x015B _LDA_dpX:
1170 0x015B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1171 0x015C _CMP_dp:
1172 0x015C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1173 0x015D _CMP_dpX:
1174 0x015D 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1175 0x015E _SBC_dp:
1176 0x015E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1177 0x015F _SBC_dpX:
1178 0x015F 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1179 --------------------------------------------------------------------------------
1180 -- Row 6 : 0x06-0xF6
1181 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1182 --------------------------------------------------------------------------------
1183 0x0160 _ASL_dp:
1184 0x0160 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1185 0x0161 _ASL_dpX:
1186 0x0161 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1187 0x0162 _ROL_dp:
1188 0x0162 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1189 0x0163 _ROL_dpX:
1190 0x0163 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1191 0x0164 _LSR_dp:
1192 0x0164 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1193 0x0165 _LSR_dpX:
1194 0x0165 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1195 0x0166 _ROR_dp:
1196 0x0166 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1197 0x0167 _ROR_dpX:
1198 0x0167 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1199 0x0168 _STX_dp:
1200 0x0168 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1201 0x0169 _STX_dpY:
1202 0x0169 424C0780 BRV0 _WO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1203 0x016A _LDX_dp:
1204 0x016A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1205 0x016B _LDX_dpY:
1206 0x016B 41BC0780 BRV0 _RO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1207 0x016C _DEC_dp:
1208 0x016C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1209 0x016D _DEC_dpX:
1210 0x016D 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1211 0x016E _INC_dp:
1212 0x016E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1213 0x016F _INC_dpX:
1214 0x016F 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1215 --------------------------------------------------------------------------------
1216 -- Row 7 : 0x07-0xF7 (Rockwell Instructions: RMBx/SMBx dp)
1217 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1218 --------------------------------------------------------------------------------
1219 0x0170 _RMB0_dp:
1220 0x0170 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1221 0x0171 _RMB1_dp:
1222 0x0171 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1223 0x0172 _RMB2_dp:
1224 0x0172 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1225 0x0173 _RMB3_dp:
1226 0x0173 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1227 0x0174 _RMB4_dp:
1228 0x0174 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1229 0x0175 _RMB5_dp:
1230 0x0175 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1231 0x0176 _RMB6_dp:
1232 0x0176 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1233 0x0177 _RMB7_dp:
1234 0x0177 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1235 0x0178 _SMB0_dp:
1236 0x0178 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1237 0x0179 _SMB1_dp:
1238 0x0179 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1239 0x017A _SMB2_dp:
1240 0x017A 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1241 0x017B _SMB3_dp:
1242 0x017B 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1243 0x017C _SMB4_dp:
1244 0x017C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1245 0x017D _SMB5_dp:
1246 0x017D 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1247 0x017E _SMB6_dp:
1248 0x017E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1249 0x017F _SMB7_dp:
1250 0x017F 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1251 --------------------------------------------------------------------------------
1252 -- Row 8 : 0x08-0xF8
1253 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1254 --------------------------------------------------------------------------------
1255 0x0180 _PHP:
1256 0x0180 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push P
1257 0x0181 _CLC:
1258 0x0181 7C0F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Carry Flag
1259 0x0182 _PLP:
1260 0x0182 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop P
1261 0x0183 _SEC:
1262 0x0183 7C1F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Carry Flag
1263 0x0184 _PHA:
1264 0x0184 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push A
1265 0x0185 _CLI:
1266 0x0185 5C2D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Clear Interrupt Mask Flg
1267 0x0186 _PLA:
1268 0x0186 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop A
1269 0x0187 _SEI:
1270 0x0187 5C3D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Set Interrupt Mask Flag
1271 0x0188 _DEY:
1272 0x0188 7C4707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Decrement Y
1273 0x0189 _TYA:
1274 0x0189 7C4F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer Y to A
1275 0x018A _TAY:
1276 0x018A 7C5707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Transfer A to Y
1277 0x018B _CLV:
1278 0x018B 7C5F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear oVerflow Flag
1279 0x018C _INY:
1280 0x018C 7C6707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Increment Y
1281 0x018D _CLD:
1282 0x018D 7C6F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Decimal Mode Flag
1283 0x018E _INX:
1284 0x018E 7C7707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Increment X
1285 0x018F _SED:
1286 0x018F 7C7F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Decimal Mode Flag
1287 --------------------------------------------------------------------------------
1288 -- Row 9 : 0x09-0xF9
1289 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1290 --------------------------------------------------------------------------------
1291 0x0190 _ORA_imm:
1292 0x0190 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1293 0x0191 _ORA_absY:
1294 0x0191 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1295 0x0192 _AND_imm:
1296 0x0192 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1297 0x0193 _AND_absY:
1298 0x0193 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1299 0x0194 _EOR_imm:
1300 0x0194 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1301 0x0195 _EOR_absY:
1302 0x0195 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1303 0x0196 _ADC_imm:
1304 0x0196 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1305 0x0197 _ADC_absY:
1306 0x0197 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1307 0x0198 _BIT_imm:
1308 0x0198 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1309 0x0199 _STA_absY:
1310 0x0199 42BC0780 BRV0 _WO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1311 0x019A _LDA_imm:
1312 0x019A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1313 0x019B _LDA_absY:
1314 0x019B 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1315 0x019C _CMP_imm:
1316 0x019C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1317 0x019D _CMP_absY:
1318 0x019D 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1319 0x019E _SBC_imm:
1320 0x019E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1321 0x019F _SBC_absY:
1322 0x019F 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1323 --------------------------------------------------------------------------------
1324 -- Row A : 0x0A-0xFA
1325 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1326 --------------------------------------------------------------------------------
1327 0x01A0 _ASL_A:
1328 0x01A0 7D0707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Arithmetic Shift A Left
1329 0x01A1 _INC_A:
1330 0x01A1 7D0F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Increment A
1331 0x01A2 _ROL_A:
1332 0x01A2 7D1707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Left
1333 0x01A3 _DEC_A:
1334 0x01A3 7D1F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Decrement A
1335 0x01A4 _LSR_A:
1336 0x01A4 7D2707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Logical Shift A Right
1337 0x01A5 _PHY:
1338 0x01A5 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push Y
1339 0x01A6 _ROR_A:
1340 0x01A6 7D3707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Right
1341 0x01A7 _PLY:
1342 0x01A7 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop Y
1343 0x01A8 _TXA:
1344 0x01A8 7D4707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer X to A
1345 0x01A9 _TXS:
1346 0x01A9 7D4F07CA BRV3 $,1,3,, Pls, IF, IR,, WE_S -- Transfer X to S
1347 0x01AA _TAX:
1348 0x01AA 7D5707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer A to X
1349 0x01AB _TSX:
1350 0x01AB 7D5F07C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer S to X
1351 0x01AC _DEX:
1352 0x01AC 7D6707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Decrement X
1353 0x01AD _PHX:
1354 0x01AD 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push X
1355 0x01AE _NOP: -- the real NOP
1356 0x01AE 7D7707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip True NOP Instruction
1357 0x01AF _PLX:
1358 0x01AF 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop X
1359 --------------------------------------------------------------------------------
1360 -- Row B : 0x0B-0xFB
1361 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1362 --------------------------------------------------------------------------------
1363 0x01B0 _NOP_0B:
1364 0x01B0 7D8707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1365 0x01B1 _NOP_1B:
1366 0x01B1 7D8F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1367 0x01B2 _NOP_2B:
1368 0x01B2 7D9707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1369 0x01B3 _NOP_3B:
1370 0x01B3 7D9F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1371 0x01B4 _NOP_4B:
1372 0x01B4 7DA707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1373 0x01B5 _NOP_5B:
1374 0x01B5 7DAF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1375 0x01B6 _NOP_6B:
1376 0x01B6 7DB707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1377 0x01B7 _NOP_7B:
1378 0x01B7 7DBF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1379 0x01B8 _NOP_8B:
1380 0x01B8 7DC707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1381 0x01B9 _NOP_9B:
1382 0x01B9 7DCF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1383 0x01BA _NOP_AB:
1384 0x01BA 7DD707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1385 0x01BB _NOP_BB:
1386 0x01BB 7DDF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1387 0x01BC _WAI_CB:
1388 0x01BC 47E40000 BRV0 _WAI,1,0 -- Wait for Interrupt
1389 0x01BD _STP_DB:
1390 0x01BD 4DE80000 BRV0 $,0,0 -- Stop execution
1391 0x01BE _NOP_EB:
1392 0x01BE 7DF707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1393 0x01BF _NOP_FB:
1394 0x01BF 7DFF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1395 --------------------------------------------------------------------------------
1396 -- Row C : 0x0C-0xFC
1397 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1398 --------------------------------------------------------------------------------
1399 0x01C0 _TSB_abs:
1400 0x01C0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1401 0x01C1 _TRB_abs:
1402 0x01C1 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1403 0x01C2 _BIT_abs:
1404 0x01C2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1405 0x01C3 _BIT_absX:
1406 0x01C3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1407 0x01C4 _JMP_abs:
1408 0x01C4 41740780 BRV0 _Jmp,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1409 0x01C5 _NOP_5C:
1410 0x01C5 7E2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1411 0x01C6 _JMP_absi:
1412 0x01C6 417C0780 BRV0 _JmpI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1413 0x01C7 _JMP_absXi:
1414 0x01C7 41940780 BRV0 _JmpXI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1415 0x01C8 _STY_abs:
1416 0x01C8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1417 0x01C9 _STZ_abs:
1418 0x01C9 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1419 0x01CA _LDY_abs:
1420 0x01CA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1421 0x01CB _LDY_absX:
1422 0x01CB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1423 0x01CC _CPY_abs:
1424 0x01CC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1425 0x01CD _NOP_DC:
1426 0x01CD 7E6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1427 0x01CE _CPX_abs:
1428 0x01CE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1429 0x01CF _NOP_FC:
1430 0x01CF 7E7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1431 --------------------------------------------------------------------------------
1432 -- Row D : 0x0D-0xFD
1433 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1434 --------------------------------------------------------------------------------
1435 0x01D0 _ORA_abs:
1436 0x01D0 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1437 0x01D1 _ORA_absX:
1438 0x01D1 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1439 0x01D2 _AND_abs:
1440 0x01D2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1441 0x01D3 _AND_absX:
1442 0x01D3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1443 0x01D4 _EOR_abs:
1444 0x01D4 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1445 0x01D5 _EOR_absX:
1446 0x01D5 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1447 0x01D6 _ADC_abs:
1448 0x01D6 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1449 0x01D7 _ADC_absX:
1450 0x01D7 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1451 0x01D8 _STA_abs:
1452 0x01D8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1453 0x01D9 _STA_absX:
1454 0x01D9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1455 0x01DA _LDA_abs:
1456 0x01DA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1457 0x01DB _LDA_absX:
1458 0x01DB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1459 0x01DC _CMP_abs:
1460 0x01DC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1461 0x01DD _CMP_absX:
1462 0x01DD 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1463 0x01DE _SBC_abs:
1464 0x01DE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1465 0x01DF _SBC_absX:
1466 0x01DF 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1467 --------------------------------------------------------------------------------
1468 -- Row E : 0x0E-0xFE
1469 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1470 --------------------------------------------------------------------------------
1471 0x01E0 _ASL_abs:
1472 0x01E0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1473 0x01E1 _ASL_absX:
1474 0x01E1 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1475 0x01E2 _ROL_abs:
1476 0x01E2 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1477 0x01E3 _ROL_absX:
1478 0x01E3 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1479 0x01E4 _LSR_abs:
1480 0x01E4 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1481 0x01E5 _LSR_absX:
1482 0x01E5 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1483 0x01E6 _ROR_abs:
1484 0x01E6 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1485 0x01E7 _ROR_absX:
1486 0x01E7 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1487 0x01E8 _STX_abs:
1488 0x01E8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1489 0x01E9 _STZ_absX:
1490 0x01E9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1491 0x01EA _LDX_abs:
1492 0x01EA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1493 0x01EB _LDX_absY:
1494 0x01EB 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1495 0x01EC _DEC_abs:
1496 0x01EC 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1497 0x01ED _DEC_absX:
1498 0x01ED 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1499 0x01EE _INC_abs:
1500 0x01EE 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1501 0x01EF _INC_absX:
1502 0x01EF 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1503 --------------------------------------------------------------------------------
1504 -- Row F : 0x0F-0xFF (Rockwell Instructions: BBRx/BBSx dp,rel)
1505 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1506 --------------------------------------------------------------------------------
1507 0x01F0 _BBR0_dp_rel:
1508 0x01F0 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1509 0x01F1 _BBR1_dp_rel:
1510 0x01F1 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1511 0x01F2 _BBR2_dp_rel:
1512 0x01F2 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1513 0x01F3 _BBR3_dp_rel:
1514 0x01F3 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1515 0x01F4 _BBR4_dp_rel:
1516 0x01F4 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1517 0x01F5 _BBR5_dp_rel:
1518 0x01F5 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1519 0x01F6 _BBR6_dp_rel:
1520 0x01F6 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1521 0x01F7 _BBR7_dp_rel:
1522 0x01F7 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1523 0x01F8 _BBS0_dp_rel:
1524 0x01F8 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1525 0x01F9 _BBS1_dp_rel:
1526 0x01F9 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1527 0x01FA _BBS2_dp_rel:
1528 0x01FA 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1529 0x01FB _BBS3_dp_rel:
1530 0x01FB 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1531 0x01FC _BBS4_dp_rel:
1532 0x01FC 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1533 0x01FD _BBS5_dp_rel:
1534 0x01FD 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1535 0x01FE _BBS6_dp_rel:
1536 0x01FE 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1537 0x01FF _BBS7_dp_rel:
1538 0x01FF 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1539 --------------------------------------------------------------------------------
1540 -- End of Instruction Decode Table
1541 --------------------------------------------------------------------------------
1543 0x0200 _Last: .org 512
1545 0x0200 _end:
-- Instructions --
0x0000 RTS RTS .asm 0 -- Return from Subroutine
0x0001 BSR BSR .asm 1 -- Branch to subroutine
0x0002 FTCH FTCH .asm 2 -- Fetch next instruction
0x0003 BMW BMW .asm 3 -- Branch multi-way
0x0004 BRV0 BRV0 .asm 4 -- Branch via 0
0x0005 BRV1 BRV1 .asm 5 -- Branch via 1
0x0006 BRV2 BRV2 .asm 6 -- Branch via 2
0x0007 BRV3 BRV3 .asm 7 -- Branch via 3
0x0008 BTH0 BTH0 .asm 8 -- Branch if T0 is high
0x0009 BTH1 BTH1 .asm 9 -- Branch if T1 is high
0x000A BTH2 BTH2 .asm 10 -- Branch if T2 is high
0x000B BTH3 BTH3 .asm 11 -- Branch if T3 is high
0x000C BTL0 BTL0 .asm 12 -- Branch if T0 is low
0x000D BTL1 BTL1 .asm 13 -- Branch if T1 is low
0x000E BTL2 BTL2 .asm 14 -- Branch if T2 is low
0x000F BTL3 BTL3 .asm 15 -- Branch if T3 is low
-- Equates --
0x0000 PC .equ 0 -- NA <= PC (default)
0x0001 Inc .equ 1 -- NA <= PC + 1
0x0002 MAR .equ 2 -- NA <= MAR + 0
0x0003 Nxt .equ 3 -- NA <= MAR + 1
0x0004 Stk .equ 4 -- NA <= SP + 0
0x0005 DPN .equ 5 -- NA <= {0, OP1} + 0
0x0006 DPX .equ 6 -- NA <= {0, OP1} + {0, X}
0x0007 DPY .equ 7 -- NA <= {0, OP1} + {0, Y}
0x0008 LDA .equ 8 -- NA <= {OP2, OP1} + 0
0x000E LDAX .equ 14 -- NA <= {OP2, OP1} + {0, X}
0x000F LDAY .equ 15 -- NA <= {OP2, OP1} + {0, Y}
0x0001 Pls .equ 1 -- PC <= PC + 1
0x0002 Jmp .equ 2 -- PC <= NA
0x0003 Rel .equ 3 -- PC <= PC + (CC ? {{8{DI[7]}}, DI} : 1)
0x0001 WR .equ 1 -- Bus Operand Write
0x0002 RD .equ 2 -- Bus Operand Read
0x0003 IF .equ 3 -- Bus Insruction Fetch
0x0000 ALU .equ 0 -- M <= DI
0x0001 OP2 .equ 1 -- OP2 <= DI
0x0002 OP1 .equ 2 -- OP1 <= DI
0x0003 IR .equ 3 -- IR <= DI
0x0001 PCH .equ 1 -- DO <= PCH
0x0002 PCL .equ 2 -- DO <= PCL
0x0003 PSW .equ 3 -- DO <= PSW (P)
0x0002 Psh .equ 2 -- S <= S - 1
0x0003 Pop .equ 3 -- S <= S + 1
0x0001 WE_A .equ 1 -- Write Enable A
0x0002 WE_X .equ 2 -- Write Enable X
0x0003 WE_Y .equ 3 -- Write Enable Y
0x0004 WE_R .equ 4 -- Write Enable Register - write selected register
0x0005 WE_S .equ 5 -- Write Enable S
0x0006 WE_P .equ 6 -- Write Enable P
0x0007 WE_M .equ 7 -- Write Enable M(emory)
0x0001 ISR .equ 1 -- Assert ISR: Clear D, Set I
-- Defines --
0x0004 Inst .def 4 -- Instruction
0x0009 BA .def 9 -- Branch Address
0x0001 Wait .def 1 -- Conditional Execution Required
0x0002 En .def 2 -- Enable ALU, and Sample Interrupts
0x0004 NA_Cntl .def 4 -- Next Address Control Field
0x0002 PC_Cntl .def 2 -- Program Counter Control Field
0x0002 IO_Cntl .def 2 -- I/O Cycle Control Field
0x0002 DIO_Cntl .def 2 -- Data Input/Output Demux/Mux Control Field
0x0002 Stk_Cntl .def 2 -- ALU Stack Pointer Control Field
0x0003 RegWE_Cntl .def 3 -- Register Write Enable (A, X, Y, S, P)
0x0001 PSW_Cntl .def 1 -- Asserted to Clear D and Set I in PSW
-- Labels --
0x0000 _Start
0x0001 _Rst
0x0020 _Nxt
0x0020 _Psh
0x0020 _Pop
0x0020 _Rel
0x0020 _Imm
0x0021 _Int
0x0022 _Brk
0x0027 _JSR
0x002A _RTI
0x002D _RTS
0x002E _Jmp
0x002F _JmpI
0x0032 _JmpXI
0x0035 _RO_DP
0x0036 _RO_DPX
0x0037 _RO_DPY
0x0038 _RO_DPI
0x003B _RO_DPXI
0x003E _RO_DPIY
0x0041 _RO_Abs
0x0043 _RO_AbsX
0x0045 _RO_AbsY
0x0047 _WO_DP
0x0048 _WO_DPX
0x0049 _WO_DPY
0x004A _WO_DPI
0x004D _WO_DPXI
0x0050 _WO_DPIY
0x0053 _WO_Abs
0x0055 _WO_AbsX
0x0057 _WO_AbsY
0x0060 _RMW
0x0062 _RMW_DP
0x0064 _RMW_DPX
0x0066 _RMW_DPY
0x0068 _RMW_Abs
0x006B _RMW_AbsX
0x006E _RMW_AbsY
0x0071 _BByx_dp_rel
0x0073 _End_uPgm
0x00FC _WAI
0x0100 _IDEC_Start
0x0100 _BRK_imm
0x0101 _BPL_rel
0x0102 _JSR_abs
0x0103 _BMI_rel
0x0104 _RTI_imp
0x0105 _BVC_rel
0x0106 _RTS_imp
0x0107 _BVS_rel
0x0108 _BRA_rel
0x0109 _BCC_re
0x010A _LDY_imm
0x010B _BCS_rel
0x010C _CPY_imm
0x010D _BNE_rel
0x010E _CPX_imm
0x010F _BEQ_rel
0x0110 _ORA_dpXi
0x0111 _ORA_dpiY
0x0112 _AND_dpXi
0x0113 _AND_dpiY
0x0114 _EOR_dpXi
0x0115 _EOR_dpiY
0x0116 _ADC_dpXi
0x0117 _ADC_dpiY
0x0118 _STA_dpXi
0x0119 _STA_dpiY
0x011A _LDA_dpXi
0x011B _LDA_dpiY
0x011C _CMP_dpXi
0x011D _CMP_dpiY
0x011E _SBC_dpXi
0x011F _SBC_dpiY
0x0120 _NOP_02
0x0121 _ORA_dpi
0x0122 _NOP_22
0x0123 _AND_dpi
0x0124 _NOP_42
0x0125 _EOR_dpi
0x0126 _NOP_62
0x0127 _ADC_dpi
0x0128 _NOP_82
0x0129 _STA_dpi
0x012A _LDX_imm
0x012B _LDA_dpi
0x012C _NOP_C2
0x012D _CMP_dpi
0x012E _NOP_E2
0x012F _SBC_dpi
0x0130 _NOP_03
0x0131 _NOP_13
0x0132 _NOP_23
0x0133 _NOP_33
0x0134 _NOP_43
0x0135 _NOP_53
0x0136 _NOP_63
0x0137 _NOP_73
0x0138 _NOP_83
0x0139 _NOP_93
0x013A _NOP_A3
0x013B _NOP_B3
0x013C _NOP_C3
0x013D _NOP_D3
0x013E _NOP_E3
0x013F _NOP_F3
0x0140 _TSB_dp
0x0141 _TRB_dp
0x0142 _BIT_dp
0x0143 _BIT_dpX
0x0144 _NOP_44
0x0145 _NOP_54
0x0146 _STZ_dp
0x0147 _STZ_dpX
0x0148 _STY_dp
0x0149 _STY_dpX
0x014A _LDY_dp
0x014B _LDY_dpX
0x014C _CPY_dp
0x014D _NOP_D4
0x014E _CPX_dp
0x014F _NOP_F4
0x0150 _ORA_dp
0x0151 _ORA_dpX
0x0152 _AND_dp
0x0153 _AND_dpX
0x0154 _EOR_dp
0x0155 _EOR_dpX
0x0156 _ADC_dp
0x0157 _ADC_dpX
0x0158 _STA_dp
0x0159 _STA_dpX
0x015A _LDA_dp
0x015B _LDA_dpX
0x015C _CMP_dp
0x015D _CMP_dpX
0x015E _SBC_dp
0x015F _SBC_dpX
0x0160 _ASL_dp
0x0161 _ASL_dpX
0x0162 _ROL_dp
0x0163 _ROL_dpX
0x0164 _LSR_dp
0x0165 _LSR_dpX
0x0166 _ROR_dp
0x0167 _ROR_dpX
0x0168 _STX_dp
0x0169 _STX_dpY
0x016A _LDX_dp
0x016B _LDX_dpY
0x016C _DEC_dp
0x016D _DEC_dpX
0x016E _INC_dp
0x016F _INC_dpX
0x0170 _RMB0_dp
0x0171 _RMB1_dp
0x0172 _RMB2_dp
0x0173 _RMB3_dp
0x0174 _RMB4_dp
0x0175 _RMB5_dp
0x0176 _RMB6_dp
0x0177 _RMB7_dp
0x0178 _SMB0_dp
0x0179 _SMB1_dp
0x017A _SMB2_dp
0x017B _SMB3_dp
0x017C _SMB4_dp
0x017D _SMB5_dp
0x017E _SMB6_dp
0x017F _SMB7_dp
0x0180 _PHP
0x0181 _CLC
0x0182 _PLP
0x0183 _SEC
0x0184 _PHA
0x0185 _CLI
0x0186 _PLA
0x0187 _SEI
0x0188 _DEY
0x0189 _TYA
0x018A _TAY
0x018B _CLV
0x018C _INY
0x018D _CLD
0x018E _INX
0x018F _SED
0x0190 _ORA_imm
0x0191 _ORA_absY
0x0192 _AND_imm
0x0193 _AND_absY
0x0194 _EOR_imm
0x0195 _EOR_absY
0x0196 _ADC_imm
0x0197 _ADC_absY
0x0198 _BIT_imm
0x0199 _STA_absY
0x019A _LDA_imm
0x019B _LDA_absY
0x019C _CMP_imm
0x019D _CMP_absY
0x019E _SBC_imm
0x019F _SBC_absY
0x01A0 _ASL_A
0x01A1 _INC_A
0x01A2 _ROL_A
0x01A3 _DEC_A
0x01A4 _LSR_A
0x01A5 _PHY
0x01A6 _ROR_A
0x01A7 _PLY
0x01A8 _TXA
0x01A9 _TXS
0x01AA _TAX
0x01AB _TSX
0x01AC _DEX
0x01AD _PHX
0x01AE _NOP
0x01AF _PLX
0x01B0 _NOP_0B
0x01B1 _NOP_1B
0x01B2 _NOP_2B
0x01B3 _NOP_3B
0x01B4 _NOP_4B
0x01B5 _NOP_5B
0x01B6 _NOP_6B
0x01B7 _NOP_7B
0x01B8 _NOP_8B
0x01B9 _NOP_9B
0x01BA _NOP_AB
0x01BB _NOP_BB
0x01BC _WAI_CB
0x01BD _STP_DB
0x01BE _NOP_EB
0x01BF _NOP_FB
0x01C0 _TSB_abs
0x01C1 _TRB_abs
0x01C2 _BIT_abs
0x01C3 _BIT_absX
0x01C4 _JMP_abs
0x01C5 _NOP_5C
0x01C6 _JMP_absi
0x01C7 _JMP_absXi
0x01C8 _STY_abs
0x01C9 _STZ_abs
0x01CA _LDY_abs
0x01CB _LDY_absX
0x01CC _CPY_abs
0x01CD _NOP_DC
0x01CE _CPX_abs
0x01CF _NOP_FC
0x01D0 _ORA_abs
0x01D1 _ORA_absX
0x01D2 _AND_abs
0x01D3 _AND_absX
0x01D4 _EOR_abs
0x01D5 _EOR_absX
0x01D6 _ADC_abs
0x01D7 _ADC_absX
0x01D8 _STA_abs
0x01D9 _STA_absX
0x01DA _LDA_abs
0x01DB _LDA_absX
0x01DC _CMP_abs
0x01DD _CMP_absX
0x01DE _SBC_abs
0x01DF _SBC_absX
0x01E0 _ASL_abs
0x01E1 _ASL_absX
0x01E2 _ROL_abs
0x01E3 _ROL_absX
0x01E4 _LSR_abs
0x01E5 _LSR_absX
0x01E6 _ROR_abs
0x01E7 _ROR_absX
0x01E8 _STX_abs
0x01E9 _STZ_absX
0x01EA _LDX_abs
0x01EB _LDX_absY
0x01EC _DEC_abs
0x01ED _DEC_absX
0x01EE _INC_abs
0x01EF _INC_absX
0x01F0 _BBR0_dp_rel
0x01F1 _BBR1_dp_rel
0x01F2 _BBR2_dp_rel
0x01F3 _BBR3_dp_rel
0x01F4 _BBR4_dp_rel
0x01F5 _BBR5_dp_rel
0x01F6 _BBR6_dp_rel
0x01F7 _BBR7_dp_rel
0x01F8 _BBS0_dp_rel
0x01F9 _BBS1_dp_rel
0x01FA _BBS2_dp_rel
0x01FB _BBS3_dp_rel
0x01FC _BBS4_dp_rel
0x01FD _BBS5_dp_rel
0x01FE _BBS6_dp_rel
0x01FF _BBS7_dp_rel
0x0200 _Last
0x0200 _end
File Prog
Line Line Opcode Line
0614 0x0000 _Start: .org 0
0615 0x0000 600D0300 BRV2 _Rst,1,1,,, IF -- Load {OP2, OP1} with Vector
0616 0x0001 _Rst:
0617 0x0001 200C0280 FTCH $,1,0,,, RD, OP1 -- Read Indirect Dst Ptr Lo
0618 0x0002 20143A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0619 --
0620 0x0003 501D07C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0622 -- this space reserved for future use - boot loader for the microprogram ROMs
0624 --------------------------------------------------------------------------------
0625 --------------------------------------------------------------------------------
0626 -- 2-Way Jump Table: _Nxt and _Int
0627 --------------------------------------------------------------------------------
0628 --------------------------------------------------------------------------------
0629 -- Instruction Fetch and Execute Microstate
0630 --------------------------------------------------------------------------------
0000 0x0004 00000000 added by program
0000 0x0005 00000000 added by program
0000 0x0006 00000000 added by program
0000 0x0007 00000000 added by program
0000 0x0008 00000000 added by program
0000 0x0009 00000000 added by program
0000 0x000A 00000000 added by program
0000 0x000B 00000000 added by program
0000 0x000C 00000000 added by program
0000 0x000D 00000000 added by program
0000 0x000E 00000000 added by program
0000 0x000F 00000000 added by program
0000 0x0010 00000000 added by program
0000 0x0011 00000000 added by program
0000 0x0012 00000000 added by program
0000 0x0013 00000000 added by program
0000 0x0014 00000000 added by program
0000 0x0015 00000000 added by program
0000 0x0016 00000000 added by program
0000 0x0017 00000000 added by program
0000 0x0018 00000000 added by program
0000 0x0019 00000000 added by program
0000 0x001A 00000000 added by program
0000 0x001B 00000000 added by program
0000 0x001C 00000000 added by program
0000 0x001D 00000000 added by program
0000 0x001E 00000000 added by program
0000 0x001F 00000000 added by program
0631 0x0020 _Nxt: .org 32
0632 0x0020 _Psh:
0633 0x0020 _Pop:
0634 0x0020 _Rel:
0635 0x0020 _Imm:
0636 0x0020 510507C8 BRV1 _Nxt,1,1,, Pls, IF, IR,, WE_R -- Instruction Fetch/Execute
0638 --------------------------------------------------------------------------------
0639 -- Interrupt Entry - NMI, (unmasked) IRQ (falls through to _BRK)
0640 --------------------------------------------------------------------------------
0642 0x0021 _Int:
0643 0x0021 61154168 BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_R -- Push PCH, capture Vector
0645 --------------------------------------------------------------------------------
0646 -- BRK Entry - BRK #imm (_Int falls through to _Brk, see comment above)
0647 --------------------------------------------------------------------------------
0649 0x0022 _Brk:
0650 0x0022 211441A0 FTCH $,1,0, Stk,, WR, PCL, Psh -- Push PCL
0651 0x0023 211C49E1 FTCH $,1,0, Stk, Jmp, WR, PSW, Psh,, ISR -- Push P; Clr D, Set I
0652 --
0653 0x0024 21248280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Lo
0654 0x0025 212C3A40 FTCH $,1,0, Nxt, Jmp, RD, OP2 -- Read Indirect Dst Ptr Hi
0655 --
0656 0x0026 513507C0 BRV1 $,1,1,, Pls, IF, IR -- Instruction Fetch
0658 --------------------------------------------------------------------------------
0659 -- Jump To Subroutine - JSR Abs (Not interruptable)
0660 --------------------------------------------------------------------------------
0662 0x0027 _JSR:
0663 0x0027 213C0340 FTCH $,1,0,,, IF, OP2 -- Load Indirect Dst Ptr Lo
0664 0x0028 21444160 FTCH $,1,0, Stk,, WR, PCH, Psh -- Push PC Hi
0665 0x0029 410449A0 BRV0 _Nxt,1,0, Stk, Jmp, WR, PCL, Psh -- Push PC Lo
0667 --------------------------------------------------------------------------------
0668 -- Return from Interrupt - RTI (Not interruptable)
0669 --------------------------------------------------------------------------------
0671 0x002A _RTI:
0672 0x002A 215442BC FTCH $,1,0, Stk,, RD, OP1, Pop, WE_P -- Pop PCL
0673 0x002B 215C4A70 FTCH $,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0674 --
0675 0x002C 516507C0 BRV1 $,1,1,, Pls, IF, IR -- Next, no Reg_WE, P okay
0677 --------------------------------------------------------------------------------
0678 -- Return From Subroutine - RTS (Not interruptable)
0679 --------------------------------------------------------------------------------
0681 0x002D _RTS:
0682 0x002D 41044A70 BRV0 _Nxt,1,0, Stk, Jmp, RD, OP2, Pop -- Pop PCH
0684 --------------------------------------------------------------------------------
0685 -- Jump Absolute - JMP Abs (Not interruptable)
0686 --------------------------------------------------------------------------------
0688 0x002E _Jmp:
0689 0x002E 41040B40 BRV0 _Nxt,1,0,, Jmp, IF, OP2
0691 --------------------------------------------------------------------------------
0692 -- Jump Indirect - JMP (Abs) (Not interruptable)
0693 --------------------------------------------------------------------------------
0695 0x002F _JmpI:
0696 0x002F 217C0740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0697 0x0030 21848280 FTCH $,1,0, LDA,, RD, OP1 -- Read Indirect Dst Ptr Hi
0698 0x0031 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0700 --------------------------------------------------------------------------------
0701 -- Jump Pre-Indexed Indirect - JMP (Abs, X) (Not interruptable)
0702 --------------------------------------------------------------------------------
0704 0x0032 _JmpXI:
0705 0x0032 21940740 FTCH $,1,0,, Pls, IF, OP2 -- Load Indirect Dst Ptr Lo
0706 0x0033 219CE280 FTCH $,1,0, LDAX,, RD, OP1 -- Read Indirect Dst Ptr Hi
0707 0x0034 41043A40 BRV0 _Nxt,1,0, Nxt, Jmp, RD, OP2 -- Goto Next
0709 --------------------------------------------------------------------------------
0710 -- Memory Read-Only Data Page Direct - xxx DP
0711 --------------------------------------------------------------------------------
0713 0x0035 _RO_DP:
0714 0x0035 31045280 BMW _Nxt,1,0, DPN,, RD, OP1 -- Read DP Mem
0716 -----------------------------------------------------------------------------
0717 -- Memory Read-Only Pre-Indexed Data Page Direct - xxx DP, X
0718 --------------------------------------------------------------------------------
0720 0x0036 _RO_DPX:
0721 0x0036 31046280 BMW _Nxt,1,0, DPX,, RD, OP1 -- Read DP Mem
0723 --------------------------------------------------------------------------------
0724 -- Memory Read-Only Post-Indexed Data Page Direct - xxx DP, Y
0725 --------------------------------------------------------------------------------
0727 0x0037 _RO_DPY:
0728 0x0037 31047280 BMW _Nxt,1,0, DPY,, RD, OP1 -- Read DP Mem
0730 ------------------------------------------------------------------------------
0731 -- Memory Read-Only Data Page Indirect - xxx (DP)
0732 --------------------------------------------------------------------------------
0734 0x0038 _RO_DPI:
0735 0x0038 21C45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0736 0x0039 21CC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0737 0x003A 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0739 --------------------------------------------------------------------------------
0740 -- Memory Read-Only Pre-Indexed Data Page Indirect - xxx (DP, X)
0741 --------------------------------------------------------------------------------
0743 0x003B _RO_DPXI:
0744 0x003B 21DC6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo (DP,X)
0745 0x003C 21E43240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0746 0x003D 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0748 --------------------------------------------------------------------------------
0749 -- Memory Read-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0750 --------------------------------------------------------------------------------
0752 0x003E _RO_DPIY:
0753 0x003E 21F45280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0754 0x003F 21FC3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0755 0x0040 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand (DP),Y
0757 --------------------------------------------------------------------------------
0758 -- Memory Read-Only Absolute - xxx Abs
0759 --------------------------------------------------------------------------------
0761 0x0041 _RO_Abs:
0762 0x0041 220C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0763 0x0042 31048280 BMW _Nxt,1,0, LDA,, RD, OP1 -- Read Operand
0765 --------------------------------------------------------------------------------
0766 -- Memory Read-Only Pre-Indexed Absolute - xxx Abs, X
0767 --------------------------------------------------------------------------------
0769 0x0043 _RO_AbsX:
0770 0x0043 221C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0771 0x0044 3104E280 BMW _Nxt,1,0, LDAX,, RD, OP1 -- Read Operand Abs,X
0773 --------------------------------------------------------------------------------
0774 -- Memory Read-Only Post-Indexed Absolute - xxx Abs, Y
0775 --------------------------------------------------------------------------------
0777 0x0045 _RO_AbsY:
0778 0x0045 222C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0779 0x0046 3104F280 BMW _Nxt,1,0, LDAY,, RD, OP1 -- Read Operand Abs,Y
0781 --------------------------------------------------------------------------------
0782 -- Memory Write-Only Data Page Direct - xxx DP
0783 --------------------------------------------------------------------------------
0785 0x0047 _WO_DP:
0786 0x0047 31045100 BMW _Nxt,1,0, DPN,, WR -- Write to DP
0788 -----------------------------------------------------------------------------
0789 -- Memory Write-Only Pre-Indexed Data Page Direct - xxx DP, X
0790 --------------------------------------------------------------------------------
0792 0x0048 _WO_DPX:
0793 0x0048 31046100 BMW _Nxt,1,0, DPX,, WR -- Write to DP,X
0795 -----------------------------------------------------------------------------
0796 -- Memory Write-Only Post-Indexed Data Page Direct - xxx DP, Y
0797 --------------------------------------------------------------------------------
0799 0x0049 _WO_DPY:
0800 0x0049 31047100 BMW _Nxt,1,0, DPY,, WR -- Write to DP,Y
0802 --------------------------------------------------------------------------------
0803 -- Memory Write-Only Data Page Indirect - xxx (DP)
0804 --------------------------------------------------------------------------------
0806 0x004A _WO_DPI:
0807 0x004A 22545280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0808 0x004B 225C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0809 0x004C 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0811 --------------------------------------------------------------------------------
0812 -- Memory Write-Only Data Page Indirect - xxx (DP, X)
0813 --------------------------------------------------------------------------------
0815 0x004D _WO_DPXI:
0816 0x004D 226C6280 FTCH $,1,0, DPX,, RD, OP1 -- Read DP Mem Ptr Lo
0817 0x004E 22743240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0818 0x004F 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to (DP)
0820 --------------------------------------------------------------------------------
0821 -- Memory Write-Only Post-Indexed Data Page Indirect - xxx (DP), Y
0822 --------------------------------------------------------------------------------
0824 0x0050 _WO_DPIY:
0825 0x0050 22845280 FTCH $,1,0, DPN,, RD, OP1 -- Read DP Mem Ptr Lo
0826 0x0051 228C3240 FTCH $,1,0, Nxt,, RD, OP2 -- Read DP Mem Ptr Hi
0827 0x0052 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to (DP)
0829 --------------------------------------------------------------------------------
0830 -- Memory Write-Only Absolute - xxx Abs
0831 --------------------------------------------------------------------------------
0833 0x0053 _WO_Abs:
0834 0x0053 229C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0835 0x0054 31048100 BMW _Nxt,1,0, LDA,, WR -- Write to Abs
0837 --------------------------------------------------------------------------------
0838 -- Memory Write-Only Pre-Indexed Absolute - xxx Abs, X
0839 --------------------------------------------------------------------------------
0841 0x0055 _WO_AbsX:
0842 0x0055 22AC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0843 0x0056 3104E100 BMW _Nxt,1,0, LDAX,, WR -- Write to Abs,X
0845 --------------------------------------------------------------------------------
0846 -- Memory Write-Only Post-Indexed Absolute - xxx Abs, Y
0847 --------------------------------------------------------------------------------
0849 0x0057 _WO_AbsY:
0850 0x0057 22BC0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0851 0x0058 3104F100 BMW _Nxt,1,0, LDAY,, WR -- Write to Abs,Y
0853 --------------------------------------------------------------------------------
0854 -- 2-way Read-Modify-Write Instruction/Interrupt Jump Table
0855 --------------------------------------------------------------------------------
0000 0x0059 00000000 added by program
0000 0x005A 00000000 added by program
0000 0x005B 00000000 added by program
0000 0x005C 00000000 added by program
0000 0x005D 00000000 added by program
0000 0x005E 00000000 added by program
0000 0x005F 00000000 added by program
0857 0x0060 _RMW: .org 96
0858 0x0060 530507C0 BRV1 _RMW,1,1,, Pls, IF, IR -- Instruction Fetch/Execute
0859 0x0061 61154160 BRV2 _Brk,1,1, Stk, , WR, PCH, Psh -- Push PCH, capture Vector
0861 --------------------------------------------------------------------------------
0862 -- Memory Read-Modify-Write Data Page Direct - xxx DP
0863 --------------------------------------------------------------------------------
0865 0x0062 _RMW_DP:
0866 0x0062 23145280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0867 0x0063 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP
0869 --------------------------------------------------------------------------------
0870 -- Memory Read-Modify-Write Pre-Indexed Data Page Direct - xxx DP, X
0871 --------------------------------------------------------------------------------
0873 0x0064 _RMW_DPX:
0874 0x0064 23246280 FTCH $,1,0, DPX,, RD, OP1 -- Read from DP,X
0875 0x0065 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,X
0877 --------------------------------------------------------------------------------
0878 -- Memory Read-Modify-Write Post-Indexed Data Page Direct - xxx DP, Y
0879 --------------------------------------------------------------------------------
0881 0x0066 _RMW_DPY:
0882 0x0066 23347280 FTCH $,1,0, DPY,, RD, OP1 -- Read from DP,Y
0883 0x0067 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to DP,Y
0885 --------------------------------------------------------------------------------
0886 -- Memory Read-Modify-Write Absolute - xxx Abs
0887 --------------------------------------------------------------------------------
0889 0x0068 _RMW_Abs:
0890 0x0068 23440740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0891 0x0069 234C8280 FTCH $,1,0, LDA,, RD, OP1 -- Read from Abs
0892 0x006A 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs
0894 --------------------------------------------------------------------------------
0895 -- Memory Read-Modify-Write Pre-Indexed Absolute - xxx Abs, X
0896 --------------------------------------------------------------------------------
0898 0x006B _RMW_AbsX:
0899 0x006B 235C0740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0900 0x006C 2364E280 FTCH $,1,0, LDAX,, RD, OP1 -- Read from Abs,X
0901 0x006D 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,X
0903 --------------------------------------------------------------------------------
0904 -- Memory Read-Modify-Write Post-Indexed Absolute - xxx Abs, Y
0905 --------------------------------------------------------------------------------
0907 0x006E _RMW_AbsY:
0908 0x006E 23740740 FTCH $,1,0,, Pls, IF, OP2 -- Read Mem Ptr Hi
0909 0x006F 237CF280 FTCH $,1,0, LDAY,, RD, OP1 -- Read from Abs,Y
0910 0x0070 33042108 BMW _RMW,1,0, MAR,, WR,,,WE_R -- Write to Abs,Y
0912 --------------------------------------------------------------------------------
0913 -- Rockwell BBRx/BBSx dp,rel instructions
0914 --------------------------------------------------------------------------------
0916 0x0071 _BByx_dp_rel:
0917 0x0071 238C5280 FTCH $,1,0, DPN,, RD, OP1 -- Read from DP
0918 0x0072 41040F80 BRV0 _Nxt,1,0,, Rel, IF, OP1 -- Read rel value
0920 --------------------------------------------------------------------------------
0921 -- End of Microprogram Routines for Normal Instructions
0922 --------------------------------------------------------------------------------
0924 0x0073 _End_uPgm:
0926 --------------------------------------------------------------------------------
0927 -- WAI - Wait for Interrupt
0928 --------------------------------------------------------------------------------
0000 0x0073 00000000 added by program
0000 0x0074 00000000 added by program
0000 0x0075 00000000 added by program
0000 0x0076 00000000 added by program
0000 0x0077 00000000 added by program
0000 0x0078 00000000 added by program
0000 0x0079 00000000 added by program
0000 0x007A 00000000 added by program
0000 0x007B 00000000 added by program
0000 0x007C 00000000 added by program
0000 0x007D 00000000 added by program
0000 0x007E 00000000 added by program
0000 0x007F 00000000 added by program
0000 0x0080 00000000 added by program
0000 0x0081 00000000 added by program
0000 0x0082 00000000 added by program
0000 0x0083 00000000 added by program
0000 0x0084 00000000 added by program
0000 0x0085 00000000 added by program
0000 0x0086 00000000 added by program
0000 0x0087 00000000 added by program
0000 0x0088 00000000 added by program
0000 0x0089 00000000 added by program
0000 0x008A 00000000 added by program
0000 0x008B 00000000 added by program
0000 0x008C 00000000 added by program
0000 0x008D 00000000 added by program
0000 0x008E 00000000 added by program
0000 0x008F 00000000 added by program
0000 0x0090 00000000 added by program
0000 0x0091 00000000 added by program
0000 0x0092 00000000 added by program
0000 0x0093 00000000 added by program
0000 0x0094 00000000 added by program
0000 0x0095 00000000 added by program
0000 0x0096 00000000 added by program
0000 0x0097 00000000 added by program
0000 0x0098 00000000 added by program
0000 0x0099 00000000 added by program
0000 0x009A 00000000 added by program
0000 0x009B 00000000 added by program
0000 0x009C 00000000 added by program
0000 0x009D 00000000 added by program
0000 0x009E 00000000 added by program
0000 0x009F 00000000 added by program
0000 0x00A0 00000000 added by program
0000 0x00A1 00000000 added by program
0000 0x00A2 00000000 added by program
0000 0x00A3 00000000 added by program
0000 0x00A4 00000000 added by program
0000 0x00A5 00000000 added by program
0000 0x00A6 00000000 added by program
0000 0x00A7 00000000 added by program
0000 0x00A8 00000000 added by program
0000 0x00A9 00000000 added by program
0000 0x00AA 00000000 added by program
0000 0x00AB 00000000 added by program
0000 0x00AC 00000000 added by program
0000 0x00AD 00000000 added by program
0000 0x00AE 00000000 added by program
0000 0x00AF 00000000 added by program
0000 0x00B0 00000000 added by program
0000 0x00B1 00000000 added by program
0000 0x00B2 00000000 added by program
0000 0x00B3 00000000 added by program
0000 0x00B4 00000000 added by program
0000 0x00B5 00000000 added by program
0000 0x00B6 00000000 added by program
0000 0x00B7 00000000 added by program
0000 0x00B8 00000000 added by program
0000 0x00B9 00000000 added by program
0000 0x00BA 00000000 added by program
0000 0x00BB 00000000 added by program
0000 0x00BC 00000000 added by program
0000 0x00BD 00000000 added by program
0000 0x00BE 00000000 added by program
0000 0x00BF 00000000 added by program
0000 0x00C0 00000000 added by program
0000 0x00C1 00000000 added by program
0000 0x00C2 00000000 added by program
0000 0x00C3 00000000 added by program
0000 0x00C4 00000000 added by program
0000 0x00C5 00000000 added by program
0000 0x00C6 00000000 added by program
0000 0x00C7 00000000 added by program
0000 0x00C8 00000000 added by program
0000 0x00C9 00000000 added by program
0000 0x00CA 00000000 added by program
0000 0x00CB 00000000 added by program
0000 0x00CC 00000000 added by program
0000 0x00CD 00000000 added by program
0000 0x00CE 00000000 added by program
0000 0x00CF 00000000 added by program
0000 0x00D0 00000000 added by program
0000 0x00D1 00000000 added by program
0000 0x00D2 00000000 added by program
0000 0x00D3 00000000 added by program
0000 0x00D4 00000000 added by program
0000 0x00D5 00000000 added by program
0000 0x00D6 00000000 added by program
0000 0x00D7 00000000 added by program
0000 0x00D8 00000000 added by program
0000 0x00D9 00000000 added by program
0000 0x00DA 00000000 added by program
0000 0x00DB 00000000 added by program
0000 0x00DC 00000000 added by program
0000 0x00DD 00000000 added by program
0000 0x00DE 00000000 added by program
0000 0x00DF 00000000 added by program
0000 0x00E0 00000000 added by program
0000 0x00E1 00000000 added by program
0000 0x00E2 00000000 added by program
0000 0x00E3 00000000 added by program
0000 0x00E4 00000000 added by program
0000 0x00E5 00000000 added by program
0000 0x00E6 00000000 added by program
0000 0x00E7 00000000 added by program
0000 0x00E8 00000000 added by program
0000 0x00E9 00000000 added by program
0000 0x00EA 00000000 added by program
0000 0x00EB 00000000 added by program
0000 0x00EC 00000000 added by program
0000 0x00ED 00000000 added by program
0000 0x00EE 00000000 added by program
0000 0x00EF 00000000 added by program
0000 0x00F0 00000000 added by program
0000 0x00F1 00000000 added by program
0000 0x00F2 00000000 added by program
0000 0x00F3 00000000 added by program
0000 0x00F4 00000000 added by program
0000 0x00F5 00000000 added by program
0000 0x00F6 00000000 added by program
0000 0x00F7 00000000 added by program
0000 0x00F8 00000000 added by program
0000 0x00F9 00000000 added by program
0000 0x00FA 00000000 added by program
0000 0x00FB 00000000 added by program
0930 0x00FC _WAI: .org 252 -- Set up 4-way table for WAI instruction
0931 0x00FC 37E40000 BMW _WAI,1,0 -- No external interrupts asserted
0932 0x00FD 410C0000 BRV0 _Int,1,0 -- Int asserted by NMI, do NMI interrupt
0933 0x00FE 41040000 BRV0 _Nxt,1,0 -- xIRQ asserted with IRQ_Msk asserted, continue
0934 0x00FF 410C0000 BRV0 _Int,1,0 -- Int asserted by xIRQ, do IRQ interrupt
0936 0x0100 _IDEC_Start: .org 256
0938 --------------------------------------------------------------------------------
0939 -- Start of Instruction Decode Table (Entry for each Opcode)
0940 --
0941 -- Instead of being organized in numerical order, the table is organized by
0942 -- rows: the least significant nibble and the most significant nibble of the
0943 -- opcode are swapped. This organization more clearly shows the arrangement of
0944 -- the addressing modes of the WDC W65C02 microprocessor being emulated. It al-
0945 -- so more clearly shows the regularity of the ALU instructions that are imple-
0946 -- mented. The implementation of the microprogram is first based on the addres-
0947 -- sing mode, and then on the ALU function. Single cycle instructions will be
0948 -- easily recognized in the following table because their table entry use the
0949 -- BRV3 MPC instruction. Multi-cycle instructions use the BRV0 MPC instruction
0950 -- to vector a microroutine in the lower 256 words of the microprogram ROM/RAM.
0951 -- Single byte instructions such as BRK, RTS, RTI, and register push/pull in-
0952 -- structions (PHA, PLA, PHP, PLP, PHX, PLX, PHY, PLY), and multi-byte instruc-
0953 -- tions like JSR abs are implemented with special microroutines that perform
0954 -- the necessary stack accesses. The remainder of the microroutines are orga-
0955 -- nized by addressing mode, and whether the mode is used in a RO, WO, or RMW
0956 -- manner.
0957 --
0958 -- Microprogram Word Format:
0959 --
0960 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0961 --
0962 --------------------------------------------------------------------------------
0964 --------------------------------------------------------------------------------
0965 -- Row 0 : 0x00-0xF0 (All branches/JMPs/JSR implemented as uninterruptable)
0966 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
0967 --------------------------------------------------------------------------------
0968 0x0100 _BRK_imm:
0969 0x0100 6115416C BRV2 _Brk,1,1, Stk,, WR, PCH, Psh, WE_P -- Start Break Handler
0970 0x0101 _BPL_rel:
0971 0x0101 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0972 0x0102 _JSR_abs:
0973 0x0102 413C0780 BRV0 _JSR,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
0974 0x0103 _BMI_rel:
0975 0x0103 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0976 0x0104 _RTI_imp:
0977 0x0104 415442B0 BRV0 _RTI,1,0, Stk,, RD, OP1, Pop -- Read PSW from Stack
0978 0x0105 _BVC_rel:
0979 0x0105 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0980 0x0106 _RTS_imp:
0981 0x0106 416C42B0 BRV0 _RTS,1,0, Stk,, RD, OP1, Pop -- Read PCL from Stack
0982 0x0107 _BVS_rel:
0983 0x0107 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0984 0x0108 _BRA_rel:
0985 0x0108 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0986 0x0109 _BCC_rel
0987 0x0109 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0988 0x010A _LDY_imm:
0989 0x010A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0990 0x010B _BCS_rel:
0991 0x010B 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0992 0x010C _CPY_imm:
0993 0x010C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0994 0x010D _BNE_rel:
0995 0x010D 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
0996 0x010E _CPX_imm:
0997 0x010E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
0998 0x010F _BEQ_rel:
0999 0x010F 41040F80 BRV0 _Rel,1,0,, Rel, IF, OP1 -- Read rel Value
1000 --------------------------------------------------------------------------------
1001 -- Row 1 : 0x01-0xF1
1002 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1003 --------------------------------------------------------------------------------
1004 0x0110 _ORA_dpXi:
1005 0x0110 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1006 0x0111 _ORA_dpiY:
1007 0x0111 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1008 0x0112 _AND_dpXi:
1009 0x0112 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1010 0x0113 _AND_dpiY:
1011 0x0113 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1012 0x0114 _EOR_dpXi:
1013 0x0114 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1014 0x0115 _EOR_dpiY:
1015 0x0115 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1016 0x0116 _ADC_dpXi:
1017 0x0116 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1018 0x0117 _ADC_dpiY:
1019 0x0117 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1020 0x0118 _STA_dpXi:
1021 0x0118 426C0780 BRV0 _WO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1022 0x0119 _STA_dpiY:
1023 0x0119 42840780 BRV0 _WO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1024 0x011A _LDA_dpXi:
1025 0x011A 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1026 0x011B _LDA_dpiY:
1027 0x011B 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1028 0x011C _CMP_dpXi:
1029 0x011C 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1030 0x011D _CMP_dpiY:
1031 0x011D 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1032 0x011E _SBC_dpXi:
1033 0x011E 41DC0780 BRV0 _RO_DPXI,1,0,, Pls, IF, OP1 -- Read DP Ptr
1034 0x011F _SBC_dpiY:
1035 0x011F 41F40780 BRV0 _RO_DPIY,1,0,, Pls, IF, OP1 -- Read DP Ptr
1036 --------------------------------------------------------------------------------
1037 -- Row 2 : 0x02-0xF2
1038 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1039 --------------------------------------------------------------------------------
1040 0x0120 _NOP_02:
1041 0x0120 790707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1042 0x0121 _ORA_dpi:
1043 0x0121 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1044 0x0122 _NOP_22:
1045 0x0122 791707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1046 0x0123 _AND_dpi:
1047 0x0123 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1048 0x0124 _NOP_42:
1049 0x0124 792707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1050 0x0125 _EOR_dpi:
1051 0x0125 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1052 0x0126 _NOP_62:
1053 0x0126 793707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1054 0x0127 _ADC_dpi:
1055 0x0127 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1056 0x0128 _NOP_82:
1057 0x0128 794707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1058 0x0129 _STA_dpi:
1059 0x0129 42540780 BRV0 _WO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1060 0x012A _LDX_imm:
1061 0x012A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read #imm Value
1062 0x012B _LDA_dpi:
1063 0x012B 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1064 0x012C _NOP_C2:
1065 0x012C 796707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1066 0x012D _CMP_dpi:
1067 0x012D 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1068 0x012E _NOP_E2:
1069 0x012E 797707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1070 0x012F _SBC_dpi:
1071 0x012F 41C40780 BRV0 _RO_DPI,1,0,, Pls, IF, OP1 -- Read DP
1072 --------------------------------------------------------------------------------
1073 -- Row 3 : 0x03-0xF3
1074 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1075 --------------------------------------------------------------------------------
1076 0x0130 _NOP_03:
1077 0x0130 798707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1078 0x0131 _NOP_13:
1079 0x0131 798F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1080 0x0132 _NOP_23:
1081 0x0132 799707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1082 0x0133 _NOP_33:
1083 0x0133 799F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1084 0x0134 _NOP_43:
1085 0x0134 79A707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1086 0x0135 _NOP_53:
1087 0x0135 79AF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1088 0x0136 _NOP_63:
1089 0x0136 79B707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1090 0x0137 _NOP_73:
1091 0x0137 79BF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1092 0x0138 _NOP_83:
1093 0x0138 79C707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1094 0x0139 _NOP_93:
1095 0x0139 79CF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1096 0x013A _NOP_A3:
1097 0x013A 79D707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1098 0x013B _NOP_B3:
1099 0x013B 79DF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1100 0x013C _NOP_C3:
1101 0x013C 79E707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1102 0x013D _NOP_D3:
1103 0x013D 79EF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1104 0x013E _NOP_E3:
1105 0x013E 79F707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1106 0x013F _NOP_F3:
1107 0x013F 79FF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1108 --------------------------------------------------------------------------------
1109 -- Row 4 : 0x04-0xF4
1110 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1111 --------------------------------------------------------------------------------
1112 0x0140 _TSB_dp:
1113 0x0140 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1114 0x0141 _TRB_dp:
1115 0x0141 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1116 0x0142 _BIT_dp:
1117 0x0142 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1118 0x0143 _BIT_dpX:
1119 0x0143 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1120 0x0144 _NOP_44:
1121 0x0144 7A2707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1122 0x0145 _NOP_54:
1123 0x0145 7A2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1124 0x0146 _STZ_dp:
1125 0x0146 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1126 0x0147 _STZ_dpX:
1127 0x0147 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1128 0x0148 _STY_dp:
1129 0x0148 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1130 0x0149 _STY_dpX:
1131 0x0149 42440780 BRV0 _WO_DPX,1,0,, Pls, IR, OP1 -- Read DP
1132 0x014A _LDY_dp:
1133 0x014A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IR, OP1 -- Read DP
1134 0x014B _LDY_dpX:
1135 0x014B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1136 0x014C _CPY_dp:
1137 0x014C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1138 0x014D _NOP_D4:
1139 0x014D 7A6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1140 0x014E _CPX_dp:
1141 0x014E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1142 0x014F _NOP_F4:
1143 0x014F 7A7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1144 --------------------------------------------------------------------------------
1145 -- Row 5 : 0x05-0xF5
1146 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1147 --------------------------------------------------------------------------------
1148 0x0150 _ORA_dp:
1149 0x0150 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1150 0x0151 _ORA_dpX:
1151 0x0151 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1152 0x0152 _AND_dp:
1153 0x0152 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1154 0x0153 _AND_dpX:
1155 0x0153 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1156 0x0154 _EOR_dp:
1157 0x0154 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1158 0x0155 _EOR_dpX:
1159 0x0155 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1160 0x0156 _ADC_dp:
1161 0x0156 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1162 0x0157 _ADC_dpX:
1163 0x0157 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1164 0x0158 _STA_dp:
1165 0x0158 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1166 0x0159 _STA_dpX:
1167 0x0159 42440780 BRV0 _WO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1168 0x015A _LDA_dp:
1169 0x015A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1170 0x015B _LDA_dpX:
1171 0x015B 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1172 0x015C _CMP_dp:
1173 0x015C 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1174 0x015D _CMP_dpX:
1175 0x015D 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1176 0x015E _SBC_dp:
1177 0x015E 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1178 0x015F _SBC_dpX:
1179 0x015F 41B40780 BRV0 _RO_DPX,1,0,, Pls, IF, OP1 -- Read DP
1180 --------------------------------------------------------------------------------
1181 -- Row 6 : 0x06-0xF6
1182 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1183 --------------------------------------------------------------------------------
1184 0x0160 _ASL_dp:
1185 0x0160 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1186 0x0161 _ASL_dpX:
1187 0x0161 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1188 0x0162 _ROL_dp:
1189 0x0162 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1190 0x0163 _ROL_dpX:
1191 0x0163 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1192 0x0164 _LSR_dp:
1193 0x0164 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1194 0x0165 _LSR_dpX:
1195 0x0165 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1196 0x0166 _ROR_dp:
1197 0x0166 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1198 0x0167 _ROR_dpX:
1199 0x0167 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1200 0x0168 _STX_dp:
1201 0x0168 423C0780 BRV0 _WO_DP,1,0,, Pls, IF, OP1 -- Read DP
1202 0x0169 _STX_dpY:
1203 0x0169 424C0780 BRV0 _WO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1204 0x016A _LDX_dp:
1205 0x016A 41AC0780 BRV0 _RO_DP,1,0,, Pls, IF, OP1 -- Read DP
1206 0x016B _LDX_dpY:
1207 0x016B 41BC0780 BRV0 _RO_DPY,1,0,, Pls, IF, OP1 -- Read DP
1208 0x016C _DEC_dp:
1209 0x016C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1210 0x016D _DEC_dpX:
1211 0x016D 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1212 0x016E _INC_dp:
1213 0x016E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1214 0x016F _INC_dpX:
1215 0x016F 43240780 BRV0 _RMW_DPX,1,0,, Pls, IF, OP1 -- Read DP
1216 --------------------------------------------------------------------------------
1217 -- Row 7 : 0x07-0xF7 (Rockwell Instructions: RMBx/SMBx dp)
1218 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1219 --------------------------------------------------------------------------------
1220 0x0170 _RMB0_dp:
1221 0x0170 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1222 0x0171 _RMB1_dp:
1223 0x0171 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1224 0x0172 _RMB2_dp:
1225 0x0172 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1226 0x0173 _RMB3_dp:
1227 0x0173 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1228 0x0174 _RMB4_dp:
1229 0x0174 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1230 0x0175 _RMB5_dp:
1231 0x0175 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1232 0x0176 _RMB6_dp:
1233 0x0176 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1234 0x0177 _RMB7_dp:
1235 0x0177 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1236 0x0178 _SMB0_dp:
1237 0x0178 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1238 0x0179 _SMB1_dp:
1239 0x0179 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1240 0x017A _SMB2_dp:
1241 0x017A 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1242 0x017B _SMB3_dp:
1243 0x017B 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1244 0x017C _SMB4_dp:
1245 0x017C 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1246 0x017D _SMB5_dp:
1247 0x017D 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1248 0x017E _SMB6_dp:
1249 0x017E 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1250 0x017F _SMB7_dp:
1251 0x017F 43140780 BRV0 _RMW_DP,1,0,, Pls, IF, OP1 -- Read DP
1252 --------------------------------------------------------------------------------
1253 -- Row 8 : 0x08-0xF8
1254 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1255 --------------------------------------------------------------------------------
1256 0x0180 _PHP:
1257 0x0180 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push P
1258 0x0181 _CLC:
1259 0x0181 7C0F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Carry Flag
1260 0x0182 _PLP:
1261 0x0182 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop P
1262 0x0183 _SEC:
1263 0x0183 7C1F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Carry Flag
1264 0x0184 _PHA:
1265 0x0184 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push A
1266 0x0185 _CLI:
1267 0x0185 5C2D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Clear Interrupt Mask Flg
1268 0x0186 _PLA:
1269 0x0186 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop A
1270 0x0187 _SEI:
1271 0x0187 5C3D07CC BRV1 $,1,1,, Pls, IF, IR,, WE_P -- Set Interrupt Mask Flag
1272 0x0188 _DEY:
1273 0x0188 7C4707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Decrement Y
1274 0x0189 _TYA:
1275 0x0189 7C4F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer Y to A
1276 0x018A _TAY:
1277 0x018A 7C5707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Transfer A to Y
1278 0x018B _CLV:
1279 0x018B 7C5F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear oVerflow Flag
1280 0x018C _INY:
1281 0x018C 7C6707C6 BRV3 $,1,3,, Pls, IF, IR,, WE_Y -- Increment Y
1282 0x018D _CLD:
1283 0x018D 7C6F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Clear Decimal Mode Flag
1284 0x018E _INX:
1285 0x018E 7C7707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Increment X
1286 0x018F _SED:
1287 0x018F 7C7F07CC BRV3 $,1,3,, Pls, IF, IR,, WE_P -- Set Decimal Mode Flag
1288 --------------------------------------------------------------------------------
1289 -- Row 9 : 0x09-0xF9
1290 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1291 --------------------------------------------------------------------------------
1292 0x0190 _ORA_imm:
1293 0x0190 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1294 0x0191 _ORA_absY:
1295 0x0191 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1296 0x0192 _AND_imm:
1297 0x0192 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1298 0x0193 _AND_absY:
1299 0x0193 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1300 0x0194 _EOR_imm:
1301 0x0194 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1302 0x0195 _EOR_absY:
1303 0x0195 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1304 0x0196 _ADC_imm:
1305 0x0196 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1306 0x0197 _ADC_absY:
1307 0x0197 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1308 0x0198 _BIT_imm:
1309 0x0198 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1310 0x0199 _STA_absY:
1311 0x0199 42BC0780 BRV0 _WO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1312 0x019A _LDA_imm:
1313 0x019A 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1314 0x019B _LDA_absY:
1315 0x019B 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1316 0x019C _CMP_imm:
1317 0x019C 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1318 0x019D _CMP_absY:
1319 0x019D 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1320 0x019E _SBC_imm:
1321 0x019E 31040780 BMW _Imm,1,0,, Pls, IF, OP1 -- Read Immediate Operand
1322 0x019F _SBC_absY:
1323 0x019F 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Mem Ptr Lo
1324 --------------------------------------------------------------------------------
1325 -- Row A : 0x0A-0xFA
1326 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1327 --------------------------------------------------------------------------------
1328 0x01A0 _ASL_A:
1329 0x01A0 7D0707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Arithmetic Shift A Left
1330 0x01A1 _INC_A:
1331 0x01A1 7D0F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Increment A
1332 0x01A2 _ROL_A:
1333 0x01A2 7D1707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Left
1334 0x01A3 _DEC_A:
1335 0x01A3 7D1F07C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Decrement A
1336 0x01A4 _LSR_A:
1337 0x01A4 7D2707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Logical Shift A Right
1338 0x01A5 _PHY:
1339 0x01A5 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push Y
1340 0x01A6 _ROR_A:
1341 0x01A6 7D3707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Rotate A Right
1342 0x01A7 _PLY:
1343 0x01A7 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop Y
1344 0x01A8 _TXA:
1345 0x01A8 7D4707C2 BRV3 $,1,3,, Pls, IF, IR,, WE_A -- Transfer X to A
1346 0x01A9 _TXS:
1347 0x01A9 7D4F07CA BRV3 $,1,3,, Pls, IF, IR,, WE_S -- Transfer X to S
1348 0x01AA _TAX:
1349 0x01AA 7D5707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer A to X
1350 0x01AB _TSX:
1351 0x01AB 7D5F07C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Transfer S to X
1352 0x01AC _DEX:
1353 0x01AC 7D6707C4 BRV3 $,1,3,, Pls, IF, IR,, WE_X -- Decrement X
1354 0x01AD _PHX:
1355 0x01AD 41044120 BRV0 _Psh,1,0, Stk,, WR,, Psh -- Push X
1356 0x01AE _NOP: -- the real NOP
1357 0x01AE 7D7707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip True NOP Instruction
1358 0x01AF _PLX:
1359 0x01AF 410442B0 BRV0 _Pop,1,0, Stk,, RD, OP1, Pop -- Pop X
1360 --------------------------------------------------------------------------------
1361 -- Row B : 0x0B-0xFB
1362 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1363 --------------------------------------------------------------------------------
1364 0x01B0 _NOP_0B:
1365 0x01B0 7D8707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1366 0x01B1 _NOP_1B:
1367 0x01B1 7D8F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1368 0x01B2 _NOP_2B:
1369 0x01B2 7D9707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1370 0x01B3 _NOP_3B:
1371 0x01B3 7D9F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1372 0x01B4 _NOP_4B:
1373 0x01B4 7DA707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1374 0x01B5 _NOP_5B:
1375 0x01B5 7DAF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1376 0x01B6 _NOP_6B:
1377 0x01B6 7DB707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1378 0x01B7 _NOP_7B:
1379 0x01B7 7DBF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1380 0x01B8 _NOP_8B:
1381 0x01B8 7DC707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1382 0x01B9 _NOP_9B:
1383 0x01B9 7DCF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1384 0x01BA _NOP_AB:
1385 0x01BA 7DD707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1386 0x01BB _NOP_BB:
1387 0x01BB 7DDF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1388 0x01BC _WAI_CB:
1389 0x01BC 47E40000 BRV0 _WAI,1,0 -- Wait for Interrupt
1390 0x01BD _STP_DB:
1391 0x01BD 4DE80000 BRV0 $,0,0 -- Stop execution
1392 0x01BE _NOP_EB:
1393 0x01BE 7DF707C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1394 0x01BF _NOP_FB:
1395 0x01BF 7DFF07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1396 --------------------------------------------------------------------------------
1397 -- Row C : 0x0C-0xFC
1398 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1399 --------------------------------------------------------------------------------
1400 0x01C0 _TSB_abs:
1401 0x01C0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1402 0x01C1 _TRB_abs:
1403 0x01C1 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1404 0x01C2 _BIT_abs:
1405 0x01C2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1406 0x01C3 _BIT_absX:
1407 0x01C3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1408 0x01C4 _JMP_abs:
1409 0x01C4 41740780 BRV0 _Jmp,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1410 0x01C5 _NOP_5C:
1411 0x01C5 7E2F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1412 0x01C6 _JMP_absi:
1413 0x01C6 417C0780 BRV0 _JmpI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1414 0x01C7 _JMP_absXi:
1415 0x01C7 41940780 BRV0 _JmpXI,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1416 0x01C8 _STY_abs:
1417 0x01C8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1418 0x01C9 _STZ_abs:
1419 0x01C9 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1420 0x01CA _LDY_abs:
1421 0x01CA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1422 0x01CB _LDY_absX:
1423 0x01CB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1424 0x01CC _CPY_abs:
1425 0x01CC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1426 0x01CD _NOP_DC:
1427 0x01CD 7E6F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1428 0x01CE _CPX_abs:
1429 0x01CE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1430 0x01CF _NOP_FC:
1431 0x01CF 7E7F07C0 BRV3 $,1,3,, Pls, IF, IR -- Skip Invalid Instruction
1432 --------------------------------------------------------------------------------
1433 -- Row D : 0x0D-0xFD
1434 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1435 --------------------------------------------------------------------------------
1436 0x01D0 _ORA_abs:
1437 0x01D0 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1438 0x01D1 _ORA_absX:
1439 0x01D1 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1440 0x01D2 _AND_abs:
1441 0x01D2 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1442 0x01D3 _AND_absX:
1443 0x01D3 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1444 0x01D4 _EOR_abs:
1445 0x01D4 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1446 0x01D5 _EOR_absX:
1447 0x01D5 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1448 0x01D6 _ADC_abs:
1449 0x01D6 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1450 0x01D7 _ADC_absX:
1451 0x01D7 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1452 0x01D8 _STA_abs:
1453 0x01D8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1454 0x01D9 _STA_absX:
1455 0x01D9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1456 0x01DA _LDA_abs:
1457 0x01DA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1458 0x01DB _LDA_absX:
1459 0x01DB 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1460 0x01DC _CMP_abs:
1461 0x01DC 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1462 0x01DD _CMP_absX:
1463 0x01DD 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1464 0x01DE _SBC_abs:
1465 0x01DE 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1466 0x01DF _SBC_absX:
1467 0x01DF 421C0780 BRV0 _RO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1468 --------------------------------------------------------------------------------
1469 -- Row E : 0x0E-0xFE
1470 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1471 --------------------------------------------------------------------------------
1472 0x01E0 _ASL_abs:
1473 0x01E0 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1474 0x01E1 _ASL_absX:
1475 0x01E1 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1476 0x01E2 _ROL_abs:
1477 0x01E2 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1478 0x01E3 _ROL_absX:
1479 0x01E3 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1480 0x01E4 _LSR_abs:
1481 0x01E4 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1482 0x01E5 _LSR_absX:
1483 0x01E5 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1484 0x01E6 _ROR_abs:
1485 0x01E6 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1486 0x01E7 _ROR_absX:
1487 0x01E7 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1488 0x01E8 _STX_abs:
1489 0x01E8 429C0780 BRV0 _WO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1490 0x01E9 _STZ_absX:
1491 0x01E9 42AC0780 BRV0 _WO_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1492 0x01EA _LDX_abs:
1493 0x01EA 420C0780 BRV0 _RO_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1494 0x01EB _LDX_absY:
1495 0x01EB 422C0780 BRV0 _RO_AbsY,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1496 0x01EC _DEC_abs:
1497 0x01EC 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1498 0x01ED _DEC_absX:
1499 0x01ED 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1500 0x01EE _INC_abs:
1501 0x01EE 43440780 BRV0 _RMW_Abs,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1502 0x01EF _INC_absX:
1503 0x01EF 435C0780 BRV0 _RMW_AbsX,1,0,, Pls, IF, OP1 -- Read Dst Ptr Lo
1504 --------------------------------------------------------------------------------
1505 -- Row F : 0x0F-0xFF (Rockwell Instructions: BBRx/BBSx dp,rel)
1506 -- I BA, Wt, En, NA, PC, IO, DI, SP, Reg_WE, ISR
1507 --------------------------------------------------------------------------------
1508 0x01F0 _BBR0_dp_rel:
1509 0x01F0 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1510 0x01F1 _BBR1_dp_rel:
1511 0x01F1 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1512 0x01F2 _BBR2_dp_rel:
1513 0x01F2 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1514 0x01F3 _BBR3_dp_rel:
1515 0x01F3 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1516 0x01F4 _BBR4_dp_rel:
1517 0x01F4 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1518 0x01F5 _BBR5_dp_rel:
1519 0x01F5 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1520 0x01F6 _BBR6_dp_rel:
1521 0x01F6 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1522 0x01F7 _BBR7_dp_rel:
1523 0x01F7 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1524 0x01F8 _BBS0_dp_rel:
1525 0x01F8 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1526 0x01F9 _BBS1_dp_rel:
1527 0x01F9 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1528 0x01FA _BBS2_dp_rel:
1529 0x01FA 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1530 0x01FB _BBS3_dp_rel:
1531 0x01FB 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1532 0x01FC _BBS4_dp_rel:
1533 0x01FC 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1534 0x01FD _BBS5_dp_rel:
1535 0x01FD 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1536 0x01FE _BBS6_dp_rel:
1537 0x01FE 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1538 0x01FF _BBS7_dp_rel:
1539 0x01FF 438C0780 BRV0 _BByx_dp_rel,1,0,, Pls, IF, OP1 -- Read DP
1540 --------------------------------------------------------------------------------
1541 -- End of Instruction Decode Table
1542 --------------------------------------------------------------------------------
1544 0x0200 _Last: .org 512
1546 0x0200 _end: