OpenCores
URL https://opencores.org/ocsvn/m65c02/m65c02/trunk

Subversion Repositories m65c02

[/] [m65c02/] [trunk/] [Src/] [M65C02-Test-Programs/] [m65c02_tst3.lst] - Rev 2

Compare with Previous | Blame | View Log

AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    1
--------------------------------------------------------- m65c02_tst3.a65 ---------------------------------------------------------

---------------------------------------------------------- Symbol Table -----------------------------------------------------------

              Symbol   Value        Decimal

                 Abs : $0200            512
            AbsI_Dst : $f83c          63548
                AbsX : $0201            513
           AbsXI_Dst : $f840          63552
                AbsY : $0202            514
             Abs_Dst : $f838          63544
                BBRx : <macro>
                BBSx : <macro>
             BCD_Tst : $fbdf          64479
             Clr_MSB : $fcb8          64696
            Continue : $f867          63591
                  DP : $0010             16
                 DPX : $0011             17
                 DPY : $0012             18
             Err_BCC : $f84f          63567
             Err_BCS : $f855          63573
            Err_BCS2 : $f861          63585
             Err_BEQ : $f857          63575
             Err_BMI : $f84c          63564
             Err_BNE : $f85e          63582
             Err_BPL : $f848          63560
             Err_BVC : $f853          63571
             Err_BVS : $f85c          63580
                 Fwd : $f865          63589
           Hi_Return : $0000              0
            Init_RAM : $f815          63509
           Interrupt : $f808          63496
             IRQ_Off : $fff9          65529
              IRQ_On : $fff8          65528
             IRQ_Tst : $fbf6          64502
            IRQ_Tst2 : $fbfe          64510
            IRQ_Tst3 : $fc05          64517
            IRQ_Tst4 : $fc08          64520
          IRQ_Vector : $fffe          65534
             ISR_End : $f814          63508
            Jmp_AbsI : $f803          63491
           Jmp_AbsXI : $f805          63493
          Last_Addrs : $fcd8          64728
             LBL0002 : $fc63          64611
             LBL0004 : $fc68          64616
             LBL0006 : $fc6d          64621
             LBL0008 : $fc72          64626
             LBL0010 : $fc77          64631
             LBL0012 : $fc7c          64636
             LBL0014 : $fc81          64641
             LBL0016 : $fc86          64646
             LBL0018 : $fc8b          64651
             LBL0020 : $fc90          64656
             LBL0022 : $fc95          64661
             LBL0024 : $fc9a          64666
             LBL0026 : $fc9f          64671
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    2
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

             LBL0028 : $fca4          64676
             LBL0030 : $fca9          64681
             LBL0032 : $fcae          64686
             LBL0033 : $fcb5          64693
             LBL0035 : $fcba          64698
           Lo_Return : $00ff            255
             MSB_Clr : $fcbf          64703
             MSB_Set : $fcbd          64701
          Neg_Return : $0001              1
          NMI_Vector : $fffa          65530
                pDPI : $0008              8
               pDPIY : $000c             12
               pDPXI : $000a             10
              Return : $f837          63543
                RMBx : <macro>
           ROM_Start : $f800          63488
          RST_Vector : $fffc          65532
                SMBx : <macro>
                 STP : <macro>
               Start : $f800          63488
           Test_Main : $f844          63556
             Tst_BPL : $f846          63558
                 WAI : <macro>
          __65SC02__ : $0001              1

69 labels used

1009 lines read, no errors in pass 1.
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    3
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Copyright 2012 by Michael A. Morris, dba M. A. Morris & Associates
                             ;;
                             ;;  All rights reserved. The source code contained herein is publicly released
                             ;;  under the terms and conditions of the GNU Lesser Public License. No part of
                             ;;  this source code may be reproduced or transmitted in any form or by any
                             ;;  means, electronic or mechanical, including photocopying, recording, or any
                             ;;  information storage and retrieval system in violation of the license under
                             ;;  which the source code is released.
                             ;;
                             ;;  The souce code contained herein is free; it may be redistributed and/or 
                             ;;  modified in accordance with the terms of the GNU Lesser General Public
                             ;;  License as published by the Free Software Foundation; either version 2.1 of
                             ;;  the GNU Lesser General Public License, or any later version.
                             ;;
                             ;;  The souce code contained herein is freely released WITHOUT ANY WARRANTY;
                             ;;  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
                             ;;  PARTICULAR PURPOSE. (Refer to the GNU Lesser General Public License for
                             ;;  more details.)
                             ;;
                             ;;  A copy of the GNU Lesser General Public License should have been received
                             ;;  along with the source code contained herein; if not, a copy can be obtained
                             ;;  by writing to:
                             ;;
                             ;;  Free Software Foundation, Inc.
                             ;;  51 Franklin Street, Fifth Floor
                             ;;  Boston, MA  02110-1301 USA
                             ;;
                             ;;  Further, no use of this source code is permitted in any form or means
                             ;;  without inclusion of this banner prominently in any derived works. 
                             ;;
                             ;;  Michael A. Morris
                             ;;  Huntsville, AL
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ; #------------------------------------------------------------------------#
                             ; |                                                                        |
                             ; |   M65C02_Tst2.A65                                                      |
                             ; |                                                                        |
                             ; |   Test program for M65C02_Core.v                                       |
                             ; |                                                                        |
                             ; |   Copyright 2012, Michael A. Morris                                    |
                             ; |                                                                        |
                             ; #------------------------------------------------------------------------#
                             ;
                             ; File created 11-Feb-2012
                             ;
                             ;   Modified 09-Dec-2012    mam     Changed to a "ROM" type of test program
                             ;                                   where the program is at the top of memory
                             ;                                   and includes the three vectors. Intent is to
                             ;                                   convert core so it indirectly jump through
                             ;                                   the normal processor vectors when an excep-
                             ;                                   is performed: Reset, NMI, or IRQ/BRK.
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    4
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                             ;
                             ;                                   To make this change need to add code to
                             ;                                   initialize page 0, 1, and 2 RAM locations.
                             ;
                             ;   Modified 15-Dec-2012    mam     Modified to remove Rockwell instruction op-
                             ;                                   codes from the NOP/Invalid instruction list.
                             ;
                                         title   "M65C02_Core Test Program - all instructions"
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Define macros for the Rockwell instructions
                             ;;
                             RMBx        macro   BitNum, ZP
                                         db      ((BitNum+0)*16)+7
                                         db      ZP
                                         endm
                             ;;
                             SMBx        macro   BitNum, ZP
                                         db      ((BitNum+8)*16)+7
                                         db      ZP
                                         endm
                             ;;          
                             BBRx        macro   BitNum, ZP, Dst
                             LBL\?       db      ((BitNum+0)*16)+15
                                         db      ZP
                                         if(Dst < LBL\?+3)
                                         db      -(Dst-LBL\?+1)
                                         else
                                         db      (Dst-LBL\?-3)
                                         endif
                                         endm
                             ;;
                             BBSx        macro   BitNum, ZP, Dst
                             LBL\?       db      ((BitNum+8)*16)+15
                                         db      ZP
                                         if(Dst < LBL\?+3)
                                         db      -(Dst-LBL\?+1)
                                         else
                                         db      (Dst-LBL\?-3)
                                         endif
                                         endm
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Define macros for the W65802/65816 instructions implemented in W65C02S
                             ;;
                             STP         macro
                                         db      $DB
                                         endm
                             ;;
                             WAI         macro
                                         db      $CB
                                         endm
                             ;;
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    5
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
f800 =                       ROM_Start   equ     $F800       ;; Boot "ROM" Start Address
                             ;;
fffa =                       NMI_Vector  equ     $FFFA       ;; Normal Non-maskable Interrupt Vector
fffc =                       RST_Vector  equ     $FFFC       ;; Normal Reset Vector
fffe =                       IRQ_Vector  equ     $FFFE       ;; Normal Maskable Interrupt or BRK Vector
                             ;;
fff8 =                       IRQ_On      equ     $FFF8       ;; Set External Interrupt Request
fff9 =                       IRQ_Off     equ     $FFF9       ;; Clr External Interrupt Request
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                                         bss
0000 =                                   org     $0000
                             ;;
0000 =                       Hi_Return   ds      1
0001 =                       Neg_Return  ds      2
                             ;;
0008 =                                   org     $0008             
                             ;;
0008 =                       pDPI        ds      2           ;; DP  = (pDPI)
000a =                       pDPXI       ds      2           ;; DPX = (pDPI,X) {X = 2}
000c =                       pDPIY       ds      2           ;; DPY = (pDPI),Y {Y = 2}
                             ;;
0010 =                                   org     $0010
                             ;;
0010 =                       DP          ds      1           ;; DP;  DP,X (X = 0); DP,Y (Y = 0)
0011 =                       DPX         ds      1           ;; DPX; DP,X (X = 1); DP,Y (Y = 1)
0012 =                       DPY         ds      1           ;; DPY; DP,X (X = 2); DP,Y (Y = 2)
                             ;;
00ff =                                   org     $00FF
                             ;;
00ff =                       Lo_Return   ds      1
                             ;;
                                         bss
0100 =                       Stack_Page  org     $0100
                             ;;
0200 =                       RAM_Start   org     $0200
                             ;;
0200 =                       Abs         ds      1
0201 =                       AbsX        ds      1
0202 =                       AbsY        ds      1
                             ;;
                                         code
f800 =                                   org     ROM_Start
f800 : 4c38f8           [ 3] Start       jmp     Abs_Dst
                             ;;
f803 : 3cf8                  Jmp_AbsI    dw      AbsI_Dst
f805 : 40f8                  Jmp_AbsXI   dw      AbsXI_Dst
                             ;;
f807 : 00                                ds      1
                             ;;
f808 : 48               [ 3] Interrupt   pha                 ;; preserve Acc
f809 : 08               [ 3]             php                 ;; push current PSW, on entry D cleared and 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    6
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f80a : 68               [ 4]             pla                 ;; I should be set
f80b : 8908             [ 2]             bit     #$08        ;; check if BCD mode not set
f80d : d0fe             [ 3]             bne     *           ;; if <> 0, error
f80f : 8904             [ 2]             bit     #$04        ;; check is Interrupt Mask set
f811 : f0fe             [ 3]             beq     *           ;; if == 0, error
f813 : 68               [ 4]             pla                 ;; restore Acc
f814 : 40               [ 6] ISR_End     rti                 ;; Exit ISR
                             ;;
f815 : a937             [ 2] Init_RAM    lda     #(lo Return)
f817 : 85ff             [ 3]             sta     Lo_Return
f819 : a9f8             [ 2]             lda     #(hi Return)
f81b : 8500             [ 3]             sta     Hi_Return
                             ;;
f81d : a9c9             [ 2]             lda     #(lo -Return)
f81f : 8501             [ 3]             sta     Hi_Return+1
f821 : a907             [ 2]             lda     #(hi -Return)
f823 : 8502             [ 3]             sta     Hi_Return+2
                             ;;
f825 : a910             [ 2]             lda     #(lo DP)
f827 : 8508             [ 3]             sta     pDPI
f829 : 6409             [ 3]             stz     pDPI+1
                             ;;
f82b : a911             [ 2]             lda     #(lo DPX)
f82d : 850a             [ 3]             sta     pDPXI
f82f : 640b             [ 3]             stz     pDPXI+1
                             ;;
f831 : a912             [ 2]             lda     #(lo DPY)
f833 : 850c             [ 3]             sta     pDPIY
f835 : 640d             [ 3]             stz     pDPIY+1
                             ;;
f837 : 60               [ 6] Return      rts
                             ;;
f838 : 6c03f8           [ 6] Abs_Dst     jmp     (Jmp_AbsI)
f83b : ea               [ 2]             nop
f83c : 7c05f8           [ 6] AbsI_Dst    jmp     (Jmp_AbsXI, x)
f83f : ea               [ 2]             nop
                             ;;
f840 : 2037f8           [ 6] AbsXI_Dst   jsr     Return
f843 : ea               [ 2]             nop
f844 : 801f             [ 3] Test_Main   bra     Fwd         ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f846 : a980             [ 2] Tst_BPL     lda     #$80        ;; Imm, A = 0x80, P = 0xA4
f848 : 10fe             [ 3] Err_BPL     bpl     Err_BPL     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f84a : 4980             [ 2]             eor     #$80        ;; Imm, A = 0x00, P = 0x26
f84c : 30fe             [ 3] Err_BMI     bmi     Err_BMI     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f84e : 38               [ 2]             sec                 ;; Imp, A = 0x00, P = 0x27
f84f : 90fe             [ 3] Err_BCC     bcc     Err_BCC     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f851 : e980             [ 2]             sbc     #$80        ;; Imm, A = 0x80, P = 0xE4
f853 : 50fe             [ 3] Err_BVC     bvc     Err_BVC     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f855 : b0fe             [ 3] Err_BCS     bcs     Err_BCS     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f857 : f0fe             [ 3] Err_BEQ     beq     Err_BEQ     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f859 : e97f             [ 2]             sbc     #$7F        ;; Imm, A = 0x00, P = 0x67
f85b : b8               [ 2]             clv                 ;; Imp, A = 0x00, P = 0x27
f85c : 70fe             [ 3] Err_BVS     bvs     Err_BVS     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f85e : d0fe             [ 3] Err_BNE     bne     Err_BNE     ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f860 : 18               [ 2]             clc                 ;; Imp, A = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    7
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f861 : b0fe             [ 3] Err_BCS2    bcs     Err_BCS2    ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f863 : 8002             [ 3]             bra     Continue
f865 : 80df             [ 3] Fwd         bra     Tst_BPL     ;; Test Conditional Branch Instructions
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Implicit/Accumulator/Immediate Address Instructions
                             ;;
f867 : ea               [ 2] Continue    nop                 ;; Imp, A   = 0x00, P = 0x26
                             ;;
f868 : 58               [ 2]             cli                 ;; Imp, A   = 0x00, P = 0x22
f869 : 08               [ 3]             php                 ;; Psh, (S) = 0x22, P = 0x22
f86a : 68               [ 4]             pla                 ;; Pop, A   = 0x22, P = 0x20
f86b : 2904             [ 2]             and     #$04        ;; Imm, A   = 0x00, P = 0x22
f86d : d0fe             [ 3]             bne     *           ;; Rel, A   = 0x00, P = 0x22
f86f : ea               [ 2]             nop                 ;; Imp, A   = 0x00, P = 0x22
                             ;;
f870 : 78               [ 2]             sei                 ;; Imp, A   = 0x00, P = 0x26
f871 : 08               [ 3]             php                 ;; Psh, (S) = 0x26, P = 0x26
f872 : 68               [ 4]             pla                 ;; Pop, A   = 0x26, P = 0x24
f873 : 2904             [ 2]             and     #$04        ;; Imm, A   = 0x04, P = 0x24
f875 : f0fe             [ 3]             beq     *           ;; Rel, A   = 0x04, P = 0x24
f877 : ea               [ 2]             nop                 ;; Imp, A   = 0x04, P = 0x24
                             ;;
f878 : f8               [ 2]             sed                 ;; Imp, A   = 0x04, P = 0x2C
f879 : 08               [ 3]             php                 ;; Psh, (S) = 0x2C, P = 0x2C
f87a : 68               [ 4]             pla                 ;; Pop, A   = 0x2C, P = 0x2C
f87b : 2908             [ 2]             and     #$08        ;; Imm, A   = 0x08, P = 0x2C
f87d : f0fe             [ 3]             beq     *           ;; Rel, A   = 0x08, P = 0x2C
f87f : ea               [ 2]             nop                 ;; Imp, A   = 0x08, P = 0x2C
                             ;;
f880 : d8               [ 2]             cld                 ;; Imp, A   = 0x08, P = 0x24
f881 : 08               [ 3]             php                 ;; Psh, A   = 0x08, P = 0x24
f882 : 68               [ 4]             pla                 ;; Pop, A   = 0x24, P = 0x24
f883 : 2908             [ 2]             and     #$08        ;; Imm, A   = 0x00, P = 0x26
f885 : d0fe             [ 3]             bne     *           ;; Rel, P   = {N, V, 1'b1, B, D, I, Z, C}
f887 : ea               [ 2]             nop                 ;; Imp, A   = 0x00, P = 0x26
                             ;;
f888 : a955             [ 2]             lda     #$55        ;; Imm, A   = 0x55, P = 0x24
f88a : 09aa             [ 2]             ora     #$AA        ;; Imm, A   = 0xFF, P = 0xA4
f88c : 48               [ 3]             pha                 ;; Psh, A   = 0xFF, P = 0xA4
f88d : 28               [ 4]             plp                 ;; Pop, A   = 0xFF, P = 0xEF
f88e : 50fe             [ 3]             bvc     *           ;; Stop if ~V
f890 : d0fe             [ 3]             bne     *           ;; Stop if ~Z
f892 : 90fe             [ 3]             bcc     *           ;; Stop if ~C
f894 : 10fe             [ 3]             bpl     *           ;; Stop if ~N
                             ;;
f896 : c9ff             [ 2]             cmp     #$FF        ;; Imm, A   = 0xFF, P = 0x6F Make sure A is -1
f898 : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xFF, P = 0x6F
f89a : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0xFF, P = 0x6F
f89c : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0xFF, P = 0x6F
                             ;;
f89e : 18               [ 2]             clc                 ;; Imp, A   = 0xFF, P = 0x6E
f89f : d8               [ 2]             cld                 ;; Imp, A   = 0xFF, P = 0x66
f8a0 : b8               [ 2]             clv                 ;; Imm, A   = 0xFF, P = 0x66
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    8
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f8a1 : 6901             [ 2]             adc     #$01        ;; Imm, A   = 0x00, P = 0x27
f8a3 : 0904             [ 2]             ora     #$04        ;; Imm, A   = 0x04, P = 0x25
f8a5 : 48               [ 3]             pha                 ;; Psh, A   = 0x04, P = 0x25
f8a6 : 28               [ 4]             plp                 ;; Pop, A   = 0x04, P = 0x24
                             ;;
f8a7 : a0aa             [ 2]             ldy     #$AA        ;; Imm, Y   = 0xAA, P = 0xA4
f8a9 : c0aa             [ 2]             cpy     #$AA        ;; Imm, Y   = 0xAA, P = 0x27
f8ab : d0fe             [ 3]             bne     *           ;; Rel, Y   = 0xAA, P = 0x27
f8ad : 30fe             [ 3]             bmi     *           ;; Rel, Y   = 0xAA, P = 0x27
f8af : 90fe             [ 3]             bcc     *           ;; Rel, Y   = 0xAA, P = 0x27
f8b1 : 5a               [ 3]             phy
                             ;;
f8b2 : a255             [ 2]             ldx     #$55        ;; Imm, X   = 0x55, P = 0x25
f8b4 : e055             [ 2]             cpx     #$55        ;; Imm, X   = 0x55, P = 0x27
f8b6 : d0fe             [ 3]             bne     *           ;; Rel, X   = 0x55, P = 0x27
f8b8 : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0x55, P = 0x27
f8ba : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0x55, P = 0x27
f8bc : da               [ 3]             phx
                             ;;
f8bd : 7a               [ 4]             ply                 ;; Imm, Y   = 0x55, P = 0x25
f8be : c055             [ 2]             cpy     #$55        ;; Imm, Y   = 0x55, P = 0x27
f8c0 : d0fe             [ 3]             bne     *           ;; Rel, Y   = 0x55, P = 0x27
f8c2 : 30fe             [ 3]             bmi     *           ;; Rel, Y   = 0x55, P = 0x27
f8c4 : 90fe             [ 3]             bcc     *           ;; Rel, Y   = 0x55, P = 0x27
                             ;;
f8c6 : fa               [ 4]             plx                 ;; Imm, X   = 0xAA, P = 0xA5
f8c7 : e0aa             [ 2]             cpx     #$AA        ;; Imm, X   = 0xAA, P = 0x27
f8c9 : d0fe             [ 3]             bne     *           ;; Rel, X   = 0xAA, P = 0x27
f8cb : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0xAA, P = 0x27
f8cd : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0xAA, P = 0x27
                             ;;
f8cf : 8904             [ 2]             bit     #$04        ;; Imm, A   = 0x04, P = 0x25
f8d1 : f0fe             [ 3]             beq     *           ;; Rel, A   = 0x04, P = 0x25
f8d3 : 8900             [ 2]             bit     #$00        ;; Imm, A   = 0x04, P = 0x27
f8d5 : d0fe             [ 3]             bne     *           ;; Rel, A   = 0x04, P = 0x27
                             ;;
f8d7 : 98               [ 2]             tya                 ;; Imm, A   = 0x55, P = 0x25
f8d8 : c955             [ 2]             cmp     #$55        ;; Imm, A   = 0x55, P = 0x27
f8da : d0fe             [ 3]             bne     *           ;; Rel, A   = 0x55, P = 0x27
f8dc : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0x55, P = 0x27
f8de : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0x55, P = 0x27
                             ;;
f8e0 : a8               [ 2]             tay                 ;; Imm, Y   = 0x55, P = 0x25
f8e1 : c055             [ 2]             cpy     #$55        ;; Imm, Y   = 0x55, P = 0x27
f8e3 : d0fe             [ 3]             bne     *           ;; Rel, Y   = 0x55, P = 0x27
f8e5 : 30fe             [ 3]             bmi     *           ;; Rel, Y   = 0x55, P = 0x27
f8e7 : 90fe             [ 3]             bcc     *           ;; Rel, Y   = 0x55, P = 0x27
                             ;;
f8e9 : 8a               [ 2]             txa                 ;; Imm, A   = 0xAA, P = 0xA5
f8ea : c9aa             [ 2]             cmp     #$AA        ;; Imm, A   = 0xAA, P = 0x27
f8ec : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xAA, P = 0x27
f8ee : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0xAA, P = 0x27
f8f0 : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0xAA, P = 0x27
                             ;;
f8f2 : aa               [ 2]             tax                 ;; Imm, X   = 0xAA, P = 0xA5
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    9
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f8f3 : e0aa             [ 2]             cpx     #$AA        ;; Imm, X   = 0xAA, P = 0x27
f8f5 : d0fe             [ 3]             bne     *           ;; Rel, X   = 0xAA, P = 0x27
f8f7 : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0xAA, P = 0x27
f8f9 : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0xAA, P = 0x27
                             ;;
f8fb : ba               [ 2]             tsx                 ;; Imm, X   = 0xFF, P = 0xA5
f8fc : 9a               [ 2]             txs                 ;; Imm, S   = 0xFF, P = 0xA5
f8fd : e0ff             [ 2]             cpx     #$FF        ;; Imm, X   = 0xFF, P = 0x27
f8ff : d0fe             [ 3]             bne     *           ;; Rel, X   = 0xFF, P = 0x27
f901 : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0xFF, P = 0x27
f903 : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0xFF, P = 0x27
                             ;;
f905 : 0a               [ 2]             asl     a           ;; Acc, A   = 0x54, P = 0x25
f906 : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0x54, P = 0x25
f908 : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0x54, P = 0x25
f90a : c954             [ 2]             cmp     #$54        ;; Imm, A   = 0x54, P = 0x27
f90c : d0fe             [ 3]             bne     *           ;; Rel, A   = 0x54, P = 0x27
                             ;;
f90e : 2a               [ 2]             rol     a           ;; Acc, A   = 0xA9, P = 0xA5
f90f : 10fe             [ 3]             bpl     *           ;; Rel, A   = 0xA9, P = 0xA4
f911 : b0fe             [ 3]             bcs     *           ;; Rel, A   = 0xA9, P = 0xA4
f913 : c9a9             [ 2]             cmp     #$A9        ;; Imm, A   = 0xA9, P = 0x26
f915 : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xA9, P = 0x26
                             ;;
f917 : 4a               [ 2]             lsr     a           ;; Acc, A   = 0x54, P = 0x25
f918 : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0x54, P = 0x25
f91a : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0x54, P = 0x25
f91c : c954             [ 2]             cmp     #$54        ;; Imm, A   = 0x54, P = 0x27
f91e : d0fe             [ 3]             bne     *           ;; Rel, A   = 0x54, P = 0x27
                             ;;
f920 : 6a               [ 2]             ror     a           ;; Acc, A   = 0xAA, P = 0xA4
f921 : 10fe             [ 3]             bpl     *           ;; Rel, A   = 0xA9, P = 0xA4
f923 : b0fe             [ 3]             bcs     *           ;; Rel, A   = 0xA9, P = 0xA4
f925 : c9aa             [ 2]             cmp     #$AA        ;; Imm, A   = 0xAA, P = 0x27
f927 : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xAA, P = 0x27
                             ;;
f929 : 1a               [ 2]             inc     a           ;; Acc, A   = 0xAB, P = 0xA5
f92a : c9ab             [ 2]             cmp     #$AB        ;; Imm, A   = 0xAB, P = 0x27
f92c : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xAB, P = 0x27
f92e : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0xAB, P = 0x27
f930 : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0xAB, P = 0x27
                             ;;
f932 : e8               [ 2]             inx                 ;; Imp, X   = 0x00, P = 0x27
f933 : e000             [ 2]             cpx     #$00        ;; Imm, X   = 0x00, P = 0x27
f935 : d0fe             [ 3]             bne     *           ;; Rel, X   = 0x00, P = 0x27
f937 : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0x00, P = 0x27
f939 : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0x00, P = 0x27
                             ;;
f93b : c8               [ 2]             iny                 ;; Imp, Y   = 0x56, P = 0x25
f93c : c056             [ 2]             cpy     #$56        ;; Imm, Y   = 0x56, P = 0x27
f93e : d0fe             [ 3]             bne     *           ;; Rel, Y   = 0x56, P = 0x27
f940 : 30fe             [ 3]             bmi     *           ;; Rel, Y   = 0x56, P = 0x27
f942 : 90fe             [ 3]             bcc     *           ;; Rel, Y   = 0x56, P = 0x27
                             ;;
f944 : 3a               [ 2]             dec     a           ;; Acc, A   = 0xAA, P = 0xA5
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   10
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f945 : c9aa             [ 2]             cmp     #$AA        ;; Imm, A   = 0xAA, P = 0x27
f947 : d0fe             [ 3]             bne     *           ;; Rel, A   = 0xAA, P = 0x27
f949 : 30fe             [ 3]             bmi     *           ;; Rel, A   = 0xAA, P = 0x27
f94b : 90fe             [ 3]             bcc     *           ;; Rel, A   = 0xAA, P = 0x27
                             ;;
f94d : ca               [ 2]             dex                 ;; Imp, X   = 0xFF, P = 0xA5
f94e : e0ff             [ 2]             cpx     #$FF        ;; Imm, X   = 0xFF, P = 0x27
f950 : d0fe             [ 3]             bne     *           ;; Rel, X   = 0xFF, P = 0x27
f952 : 30fe             [ 3]             bmi     *           ;; Rel, X   = 0xFF, P = 0x27
f954 : 90fe             [ 3]             bcc     *           ;; Rel, X   = 0xFF, P = 0x27
                             ;;
f956 : 88               [ 2]             dey                 ;; Imp, Y   = 0x55, P = 0x25
f957 : c055             [ 2]             cpy     #$55        ;; Imm, Y   = 0x55, P = 0x27
f959 : d0fe             [ 3]             bne     *           ;; Rel, Y   = 0x55, P = 0x27
f95b : 30fe             [ 3]             bmi     *           ;; Rel, Y   = 0x55, P = 0x27
f95d : 90fe             [ 3]             bcc     *           ;; Rel, Y   = 0x55, P = 0x27
                             ;;
f95f : a900             [ 2]             lda     #$00        ;; Imm, A   = 0x00, P = 0x27
f961 : aa               [ 2]             tax                 ;; Imp, X   = 0x00, P = 0x27
f962 : a8               [ 2]             tay                 ;; Imp, Y   = 0x00, P = 0x27
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page Instructions
                             ;;
f963 : 3a               [ 2]             dec     a           ;; Acc,   A   = 0xFF, P = 0xA5
f964 : 8510             [ 3]             sta     DP          ;; WO_DP, DP  = 0xFF, P = 0xA5
f966 : 2a               [ 2]             rol     a           ;; Acc,   A   = 0xFF, P = 0xA5
f967 : 0510             [ 3]             ora     DP          ;; RO_DP, A   = 0xFF, P = 0xA5
f969 : c9ff             [ 2]             cmp     #$FF        ;; Imm,   A   = 0xFF, P = 0x27
f96b : d0fe             [ 3]             bne     *           ;; Rel,   A   = 0xFF, P = 0x27
                             ;;
f96d : 6410             [ 3]             stz     DP          ;; WO_DP, DP  = 0x00, P = 0x27
f96f : 3a               [ 2]             dec     a           ;; Acc,   A   = 0xFE, P = 0xA5
f970 : a510             [ 3]             lda     DP          ;; RO_DP, A   = 0x00, P = 0x27
f972 : d0fe             [ 3]             bne     *           ;; Rel,   A   = 0x00, P = 0x27
f974 : c510             [ 3]             cmp     DP          ;; RO_DP, A   = 0x00, P = 0x27
f976 : d0fe             [ 3]             bne     *           ;; Rel,   A   = 0x00, P = 0x27
                             ;;
f978 : 6410             [ 3]             stz     DP          ;; WO_DP, DP  = 0x00, p = 0x27
f97a : 88               [ 2]             dey                 ;; Imp,   Y   = 0xFF, P = 0xA5
f97b : 8410             [ 3]             sty     DP          ;; RO_DP, Y   = 0xFF, P = 0xA5
f97d : c8               [ 2]             iny                 ;; Imp,   Y   = 0x00, P = 0x27
f97e : a410             [ 3]             ldy     DP          ;; RO_DP, Y   = 0xFF, P = 0xA5
f980 : c0ff             [ 2]             cpy     #$FF        ;; Imm,   Y   = 0xFF, P = 0x27
f982 : d0fe             [ 3]             bne     *
f984 : c410             [ 3]             cpy     DP          ;; RO_DP, Y   = 0xFF, P = 0x27
f986 : d0fe             [ 3]             bne     *
                             ;;
f988 : 6410             [ 3]             stz     DP          ;; WO_DP, DP  = 0x00, p = 0x27
f98a : ca               [ 2]             dex                 ;; Imp,   X   = 0xFF, P = 0xA5
f98b : 8610             [ 3]             stx     DP          ;; RO_DP, DP  = 0xFF, P = 0xA5
f98d : e8               [ 2]             inx                 ;; Imp,   X   = 0x00, P = 0x27
f98e : a610             [ 3]             ldx     DP          ;; RO_DP, X   = 0xFF, P = 0xA5
f990 : e0ff             [ 2]             cpx     #$FF        ;; Imm,   X   = 0xFF, P = 0x27
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   11
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f992 : d0fe             [ 3]             bne     *
f994 : e410             [ 3]             cpx     DP          ;; RO_DP, X   = 0xFF, P = 0x27
f996 : d0fe             [ 3]             bne     *
                             ;;
f998 : 8a               [ 2]             txa                 ;; Imp,   A   = 0xFF, P = 0xA5
f999 : 4510             [ 3]             eor     DP          ;; RO_DP, A   = 0x00, P = 0x27
f99b : d0fe             [ 3]             bne     *
                             ;;
f99d : a955             [ 2]             lda     #$55        ;; Imm,   A   = 0x55, P = 0x25
f99f : 8510             [ 3]             sta     DP          ;; WO_DO, DP  = 0x55, P = 0x25
f9a1 : a9ff             [ 2]             lda     #$FF        ;; Imm,   A   = 0xFF, P = 0xA5
f9a3 : 2510             [ 3]             and     DP          ;; RO_DP, A   = 0x55, P = 0x25
f9a5 : c955             [ 2]             cmp     #$55        ;; Imm,   A   = 0x55, P = 0x27
f9a7 : d0fe             [ 3]             bne     *
                             ;;
f9a9 : 6510             [ 3]             adc     DP          ;; RO_DP, A   = 0xAB, P = 0xE4
f9ab : c9ab             [ 2]             cmp     #$AB        ;; Imm,   A   = 0xAB, P = 0x67
f9ad : d0fe             [ 3]             bne     *
f9af : e510             [ 3]             sbc     DP          ;; RO_DP, A   = 0x55, P = 0x65
f9b1 : c956             [ 2]             cmp     #$56        ;; Imm,   A   = 0x56, P = 0x67
f9b3 : d0fe             [ 3]             bne     *
f9b5 : a982             [ 2]             lda     #$82        ;; Imm,   A   = 0x82, P = 0xE5
f9b7 : 2410             [ 3]             bit     DP          ;; RO_DP  A   = 0x82, P = 0x67
f9b9 : 30fe             [ 3]             bmi     *
f9bb : 50fe             [ 3]             bvc     *
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page Indexed Instructions
                             ;;
f9bd : a924             [ 2]             lda     #$24        ;; Imm,    A   = 0x24, P = 0x65
f9bf : 48               [ 3]             pha                 ;; Imp,    A   = 0x24, P = 0x65
f9c0 : 28               [ 4]             plp                 ;; Imp,    A   = 0x24, P = 0x24
                             ;;
f9c1 : 6410             [ 3]             stz     DP          ;; DP,     DP  = 0x00, P = 0x24
f9c3 : 6411             [ 3]             stz     DP+1        ;; DP,     DPX = 0x00, P = 0x24
f9c5 : 6412             [ 3]             stz     DP+2        ;; DP,     DPY = 0x00, P = 0x24
                             ;;
f9c7 : a955             [ 2]             lda     #$55        ;; Imm,    A   = 0x55, P = 0x24
f9c9 : 8512             [ 3]             sta     DPY         ;; DP,     DPY = 0x55, P = 0x24
f9cb : 0a               [ 2]             asl     a           ;; Acc,    A   = 0xAA, P = 0xA4
f9cc : a611             [ 3]             ldx     DPX         ;; DP,     X   = 0x00, P = 0x26
f9ce : a412             [ 3]             ldy     DPY         ;; DP,     Y   = 0x55, P = 0x26
                             ;;
f9d0 : e8               [ 2]             inx                 ;; Imp,    X   = 0x01, P = 0x24
f9d1 : 9510             [ 4]             sta     DP,x        ;; WO_DPX, DPX = 0xAA, P = 0x24
f9d3 : 4a               [ 2]             lsr     a           ;; Acc,    A   = 0x55, P = 0x24
f9d4 : e8               [ 2]             inx                 ;; Imp,    X   = 0x02, P = 0x24
f9d5 : 9510             [ 4]             sta     DP,x        ;; WO_DPX, DPY = 0x55, P = 0x24
f9d7 : ca               [ 2]             dex                 ;; Imp,    X   = 0x01, P = 0x24
f9d8 : 1510             [ 4]             ora     DP,x        ;; RO_DPX, A   = 0xFF, P = 0xA4
f9da : 3510             [ 4]             and     DP,x        ;; RO_DPX, A   = 0xAA, P = 0xA4
f9dc : 5510             [ 4]             eor     DP,x        ;; RO_DPX, A   = 0x00, P = 0x26
f9de : d0fe             [ 3]             bne     *           ;; Rel,    A   = 0x00, P = 0x26
f9e0 : 7410             [ 4]             stz     DP,x        ;; WO_DPX, DPX = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   12
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

f9e2 : d510             [ 4]             cmp     DP,x        ;; RO_DPX, A   = 0x00, P = 0x27
f9e4 : d0fe             [ 3]             bne     *           ;; Rel,    A   = 0x00, P = 0x27
f9e6 : 90fe             [ 3]             bcc     *           ;; Rel,    A   = 0x00, P = 0x27
f9e8 : e8               [ 2]             inx                 ;; Imp,    X   = 0x02, P = 0x25
f9e9 : b410             [ 4]             ldy     DP,x        ;; RO_DPX, Y   = 0x55, P = 0x25
f9eb : 98               [ 2]             tya                 ;; Imp,    A   = 0x55, P = 0x25
f9ec : 0a               [ 2]             asl     a           ;; Acc,    A   = 0xAA, P = 0xA4
f9ed : 3410             [ 4]             bit     DP,x        ;; RO_DPX, A   = 0xAA, M = 0x55, P = 0x66
f9ef : 30fe             [ 3]             bmi     *           ;; Rel,    A   = 0xAA, P = 0x66
f9f1 : 50fe             [ 3]             bvc     *           ;; Rel,    A   = 0xAA, P = 0x66
f9f3 : d0fe             [ 3]             bne     *           ;; Rel,    A   = 0xAA, P = 0x66
f9f5 : b8               [ 2]             clv                 ;; Imp,    A   = 0xAA, P = 0x26
f9f6 : 38               [ 2]             sec                 ;; Imp,    A   = 0xAA, P = 0x27
f9f7 : 7510             [ 4]             adc     DP,x        ;; RO_DPX, A   = 0x00, P = 0x27
f9f9 : 18               [ 2]             clc
f9fa : f510             [ 4]             sbc     DP,x        ;; RO_DPX, A   = 0xAA, P = 0xA4
f9fc : 10fe             [ 3]             bpl     *           ;; Rel,    A   = 0xAA, P = 0xA4
f9fe : 70fe             [ 3]             bvs     *           ;; Rel,    A   = 0xAA, P = 0xA4
fa00 : f0fe             [ 3]             beq     *           ;; Rel,    A   = 0xAA, P = 0xA4
fa02 : b0fe             [ 3]             bcs     *           ;; Rel,    A   = 0xAA, P = 0xA4
                             ;;
fa04 : b50e             [ 4]             lda     DP-2,x      ;; RO_DPX, A   = 0x00, P = 0x26
fa06 : a8               [ 2]             tay                 ;; Imp,    Y   = 0x00, P = 0x26
fa07 : 9410             [ 4]             sty     DP,x        ;; WO_DPX, DPY = 0x00, P = 0x26
                             ;;
fa09 : b610             [ 4]             ldx     DP,y        ;; RO_DPY, X   = 0x00, P = 0x26
fa0b : c8               [ 2]             iny                 ;; Imp,    Y   = 0x01, P = 0x24
fa0c : 9610             [ 4]             stx     DP,y        ;; WO_DPY, DPX = 0x00, P = 0x24
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Absolute Address Instructions
                             ;;
fa0e : a924             [ 2]             lda     #$24        ;; Imm,    A    = 0x24, P = 0x67
fa10 : 48               [ 3]             pha                 ;; Imp,    A    = 0x24, P = 0x67
fa11 : 28               [ 4]             plp                 ;; Imp,    A    = 0x24, P = 0x24
                             ;;
fa12 : 9c0002           [ 4]             stz     Abs         ;; WO_Abs, Abs  = 0x00, P = 0x24
fa15 : 9c0102           [ 4]             stz     Abs+1       ;; WO_Abs, AbsX = 0x00, P = 0x24
fa18 : 9c0202           [ 4]             stz     Abs+2       ;; WO_Abs, AbsY = 0x00, P = 0x24
                             ;;
fa1b : a955             [ 2]             lda     #$55        ;; Imm,    A    = 0x55, P = 0x24
fa1d : 8d0202           [ 4]             sta     AbsY        ;; WO_Abs, AbsY = 0x55, P = 0x24
fa20 : 0a               [ 2]             asl     a           ;; Acc,    A    = 0xAA, P = 0xA4
fa21 : ae0102           [ 4]             ldx     AbsX        ;; RO_Abs, X    = 0x00, P = 0x26
fa24 : ac0202           [ 4]             ldy     AbsY        ;; RO_Abs, Y    = 0x55, P = 0x26
                             ;;
fa27 : 8d0102           [ 4]             sta     AbsX        ;; WO_Abs, AbsX = 0xAA, P = 0x24
fa2a : 4a               [ 2]             lsr     a           ;; Acc,    A    = 0x55, P = 0x24
fa2b : 8d0202           [ 4]             sta     AbsY        ;; WO_Abs, AbsY = 0x55, P = 0x24
                             ;;
fa2e : 0d0102           [ 4]             ora     AbsX        ;; RO_Abs, A    = 0xFF, P = 0xA4
fa31 : 2d0102           [ 4]             and     AbsX        ;; RO_Abs, A    = 0xAA, P = 0xA4
fa34 : 4d0102           [ 4]             eor     AbsX        ;; RO_Abs, A    = 0x00, P = 0x26
fa37 : d0fe             [ 3]             bne     *           ;; Rel,    A    = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   13
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fa39 : 9c0102           [ 4]             stz     AbsX        ;; WO_Abs, AbsX = 0x00, P = 0x26
fa3c : cd0102           [ 4]             cmp     AbsX        ;; RO_Abs, A    = 0x00, P = 0x27
fa3f : d0fe             [ 3]             bne     *           ;; Rel,    A    = 0x00, P = 0x27
fa41 : 90fe             [ 3]             bcc     *           ;; Rel,    A    = 0x00, P = 0x27
fa43 : ac0202           [ 4]             ldy     AbsY        ;; RO_Abs, Y    = 0x55, P = 0x25
fa46 : 98               [ 2]             tya                 ;; Imp,    A    = 0x55, P = 0x25
fa47 : 0a               [ 2]             asl     a           ;; Acc,    A    = 0xAA, P = 0xA4
fa48 : 2c0202           [ 4]             bit     AbsY        ;; RO_Abs, A    = 0xAA, M = 0x55, P = 0x66
fa4b : 30fe             [ 3]             bmi     *           ;; Rel,    A    = 0xAA, P = 0x66
fa4d : 50fe             [ 3]             bvc     *           ;; Rel,    A    = 0xAA, P = 0x66
fa4f : d0fe             [ 3]             bne     *           ;; Rel,    A    = 0xAA, P = 0x66
fa51 : b8               [ 2]             clv                 ;; Imp,    A    = 0xAA, P = 0x26
fa52 : 38               [ 2]             sec                 ;; Imp,    A    = 0xAA, P = 0x27
fa53 : 6d0202           [ 4]             adc     AbsY        ;; RO_Abs, A    = 0x00, P = 0x27
fa56 : 18               [ 2]             clc
fa57 : ed0202           [ 4]             sbc     AbsY        ;; RO_Abs, A    = 0xAA, P = 0xA4
fa5a : 10fe             [ 3]             bpl     *           ;; Rel,    A    = 0xAA, P = 0xA4
fa5c : 70fe             [ 3]             bvs     *           ;; Rel,    A    = 0xAA, P = 0xA4
fa5e : f0fe             [ 3]             beq     *           ;; Rel,    A    = 0xAA, P = 0xA4
fa60 : b0fe             [ 3]             bcs     *           ;; Rel,    A    = 0xAA, P = 0xA4
                             ;;
fa62 : ad0002           [ 4]             lda     Abs         ;; RO_Abs, A    = 0x00, P = 0x26
fa65 : a8               [ 2]             tay                 ;; Imp,    Y    = 0x00, P = 0x26
fa66 : 8c0202           [ 4]             sty     AbsY        ;; WO_Abs, AbsY = 0x00, P = 0x26
fa69 : cc0002           [ 4]             cpy     Abs         ;; RO_Abs, Y = 0x00, Abs = 0x00, P = 0x26
fa6c : d0fe             [ 3]             bne     *           ;; Rel,    A    = 0xAA, P = 0x66
                             ;;
fa6e : ae0002           [ 4]             ldx     Abs         ;; RO_Abs, X    = 0x00, P = 0x26
fa71 : 8e0102           [ 4]             stx     AbsX        ;; WO_Abs, AbsX = 0x00, P = 0x26
fa74 : ec0002           [ 4]             cpx     Abs         ;; RO_Abs, X = 0x00, Abs = 0x00, P = 0x26
fa77 : d0fe             [ 3]             bne     *           ;; Rel,    A    = 0xAA, P = 0x26
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Absolute Indexed Address Instructions
                             ;;
fa79 : a924             [ 2]             lda     #$24        ;; Imm,     A    = 0x24, P = 0x67
fa7b : 48               [ 3]             pha                 ;; Imp,     A    = 0x24, P = 0x67
fa7c : 28               [ 4]             plp                 ;; Imp,     A    = 0x24, P = 0x24
                             ;;
fa7d : 9c0002           [ 4]             stz     Abs         ;; Abs,     Abs  = 0x00, P = 0x24
fa80 : 9c0102           [ 4]             stz     Abs+1       ;; Abs,     AbsX = 0x00, P = 0x24
fa83 : 9c0202           [ 4]             stz     Abs+2       ;; Abs,     AbsY = 0x00, P = 0x24
                             ;;
fa86 : a955             [ 2]             lda     #$55        ;; Imm,     A    = 0x55, P = 0x24
fa88 : 8d0202           [ 4]             sta     AbsY        ;; Abs,     AbsY = 0x55, P = 0x24
fa8b : 0a               [ 2]             asl     a           ;; Acc,     A    = 0xAA, P = 0xA4
fa8c : ae0102           [ 4]             ldx     AbsX        ;; Abs,     X    = 0x00, P = 0x26
fa8f : ac0202           [ 4]             ldy     AbsY        ;; Abs,     Y    = 0x55, P = 0x26
                             ;;
fa92 : e8               [ 2]             inx                 ;; Imp,     X    = 0x01, P = 0x24
fa93 : 9d0002           [ 5]             sta     Abs,x       ;; WO_AbsX, AbsX = 0xAA, P = 0x24
fa96 : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
fa97 : e8               [ 2]             inx                 ;; Imp,     X    = 0x02, P = 0x24
fa98 : 9d0002           [ 5]             sta     Abs,x       ;; WO_AbsX, AbsX = 0x55, P = 0x24
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   14
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fa9b : ca               [ 2]             dex                 ;; Imp,     X    = 0x01, P = 0x24
fa9c : 1d0002           [ 4]             ora     Abs,x       ;; RO_AbsX, A    = 0xFF, P = 0xA4
fa9f : 3d0002           [ 4]             and     Abs,x       ;; RO_AbsX, A    = 0xAA, P = 0xA4
faa2 : 5d0002           [ 4]             eor     Abs,x       ;; RO_AbsX, A    = 0x00, P = 0x26
faa5 : d0fe             [ 3]             bne     *           ;; Rel,     A    = 0x00, P = 0x26
faa7 : 9e0002           [ 5]             stz     Abs,x       ;; WO_AbsX, AbsX = 0x00, P = 0x26
faaa : dd0002           [ 4]             cmp     Abs,x       ;; RO_AbsX, A    = 0x00, P = 0x27
faad : d0fe             [ 3]             bne     *           ;; Rel,     A    = 0x00, P = 0x27
faaf : 90fe             [ 3]             bcc     *           ;; Rel,     A    = 0x00, P = 0x27
fab1 : e8               [ 2]             inx                 ;; Imp,     X    = 0x02, P = 0x25
fab2 : bc0002           [ 4]             ldy     Abs,x       ;; RO_AbsX, Y    = 0x55, P = 0x25
fab5 : 98               [ 2]             tya                 ;; Imp,     A    = 0x55, P = 0x25
fab6 : 0a               [ 2]             asl     a           ;; Acc,     A    = 0xAA, P = 0xA4
fab7 : 3c0002           [ 4]             bit     Abs,x       ;; RO_AbsX, A    = 0xAA, M = 0x55, P = 0x66
faba : 30fe             [ 3]             bmi     *           ;; Rel,     A    = 0xAA, P = 0x66
fabc : 50fe             [ 3]             bvc     *           ;; Rel,     A    = 0xAA, P = 0x66
fabe : d0fe             [ 3]             bne     *           ;; Rel,     A    = 0xAA, P = 0x66
fac0 : b8               [ 2]             clv                 ;; Imp,     A    = 0xAA, P = 0x26
fac1 : 38               [ 2]             sec                 ;; Imp,     A    = 0xAA, P = 0x27
fac2 : 7d0002           [ 4]             adc     Abs,x       ;; RO_AbsX, A    = 0x00, P = 0x27
fac5 : 18               [ 2]             clc
fac6 : fd0002           [ 4]             sbc     Abs,x       ;; RO_AbsX, A    = 0xAA, P = 0xA4
fac9 : 10fe             [ 3]             bpl     *           ;; Rel,     A    = 0xAA, P = 0xA4
facb : 70fe             [ 3]             bvs     *           ;; Rel,     A    = 0xAA, P = 0xA4
facd : f0fe             [ 3]             beq     *           ;; Rel,     A    = 0xAA, P = 0xA4
facf : b0fe             [ 3]             bcs     *           ;; Rel,     A    = 0xAA, P = 0xA4
                             ;;
fad1 : bdfe01           [ 4]             lda     Abs-2,x     ;; RO_AbsX, A    = 0x00, P = 0x26
fad4 : a8               [ 2]             tay                 ;; Imp,     Y    = 0x00, P = 0x26
fad5 : 8c0202           [ 4]             sty     AbsY        ;; WO_Abs,  AbsY = 0x00, P = 0x26
                             ;;
fad8 : be0002           [ 4]             ldx     Abs,y       ;; RO_AbsY, X    = 0x00, P = 0x26
fadb : 8e0102           [ 4]             stx     AbsX        ;; WO_Abs,  AbsX = 0x00, P = 0x24
                             ;;
fade : a002             [ 2]             ldy     #$02        ;; Imm,     Y    = 0x02, P = 0x24
fae0 : a9aa             [ 2]             lda     #$AA        ;; Imm,     A    = 0xAA, P = 0xA4
                             ;;
fae2 : 990002           [ 5]             sta     Abs,y       ;; WO_AbsY, AbsY = 0xAA, P = 0xA4
fae5 : 590002           [ 4]             eor     Abs,y       ;; RO_AbsY, A    = 0x00, P = 0x26
fae8 : b90002           [ 4]             lda     Abs,y       ;; RO_AbsY, A    = 0xAA, P = 0xA4
faeb : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
faec : 190002           [ 4]             ora     Abs,y       ;; RO_AbsY, A    = 0xFF, P = 0xA4
faef : 390002           [ 4]             and     Abs,y       ;; RO_AbsY, A    = 0xAA, P = 0xA4
faf2 : d90002           [ 4]             cmp     Abs,y       ;; RO_AbsY, A    = 0xAA, P = 0x27
                             ;;
faf5 : f90002           [ 4]             sbc     Abs,y       ;; RO_AbsY, A    = 0x00, P = 0x27
faf8 : 18               [ 2]             clc                 ;; Imp,     A    = 0x00, P = 0x26
faf9 : 790002           [ 4]             adc     Abs,y       ;; RO_AbsY, A    = 0xAA, P = 0xA4
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page RMW Instructions
                             ;;
fafc : a924             [ 2]             lda     #$24        ;; Imm,     A    = 0x24, P = 0xXX
fafe : 48               [ 3]             pha                 ;; Imp,     A    = 0x24, P = 0xXX
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   15
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

faff : 28               [ 4]             plp                 ;; Imp,     A    = 0x24, P = 0x24
                             ;;
fb00 : a9aa             [ 2]             lda     #$AA        ;; Imm,     A    = 0xAA, P = 0xA4
fb02 : 8510             [ 3]             sta     DP          ;; WO_DP,   DP   = 0xAA, P = 0xA4
                             ;;
fb04 : 0610             [ 5]             asl     DP          ;; RMW_DP,  DP   = 0x54, P = 0x25
fb06 : 2610             [ 5]             rol     DP          ;; RMW_DP,  DP   = 0xA9, P = 0xA4
fb08 : 4610             [ 5]             lsr     DP          ;; RMW_DP,  DP   = 0x54, P = 0x25
fb0a : 6610             [ 5]             ror     DP          ;; RMW_DP,  DP   = 0xAA, P = 0xA4
                             ;;
fb0c : c610             [ 5]             dec     DP          ;; RMW_DP,  DP   = 0xA9, P = 0xA4
fb0e : e610             [ 5]             inc     DP          ;; RMW_DP,  DP   = 0xAA, P = 0xA4
                             ;;
fb10 : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
                             ;;
fb11 : 0410             [ 2]             tsb     DP          ;; RMW_DP,  DP   = 0xFF, P = 0x26
fb13 : 1410             [ 2]             trb     DP          ;; RMW_DP,  DP   = 0xAA, P = 0x24
                             ;;
fb15 : a201             [ 2]             ldx     #$01        ;; Imm,     X    = 0x01, P = 0x24
fb17 : 0a               [ 2]             asl     a           ;; Acc,     A    = 0xAA, P = 0x24
fb18 : 9510             [ 4]             sta     DP,x        ;; WO_DPX,  DPX  = 0xAA, P = 0x24
                             ;;
fb1a : 1610             [ 6]             asl     DP,x        ;; RMW_DPX, DPX  = 0x54, P = 0x25
fb1c : 3610             [ 6]             rol     DP,x        ;; RMW_DPX, DPX  = 0xA9, P = 0xA4
fb1e : 5610             [ 6]             lsr     DP,x        ;; RMW_DPX, DPX  = 0x54, P = 0x25
fb20 : 7610             [ 6]             ror     DP,x        ;; RMW_DPX, DPX  = 0xAA, P = 0xA4
                             ;;
fb22 : d610             [ 6]             dec     DP,x        ;; RMW_DPX, DPX  = 0xA9, P = 0xA4
fb24 : f610             [ 6]             inc     DP,x        ;; RMW_DPX, DPX  = 0xAA, P = 0xA4
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Absolute Address RMW Instructions
                             ;;
fb26 : a924             [ 2]             lda     #$24        ;; Imm,     A    = 0x24, P = 0xXX
fb28 : 48               [ 3]             pha                 ;; Imp,     A    = 0x24, P = 0xXX
fb29 : 28               [ 4]             plp                 ;; Imp,     A    = 0x24, P = 0x24
                             ;;
fb2a : a9aa             [ 2]             lda     #$AA        ;; Imm,     A    = 0xAA, P = 0xA4
fb2c : 8d0002           [ 4]             sta     Abs         ;; WO_Abs,  Abs  = 0xAA, P = 0xA4
                             ;;
fb2f : 0e0002           [ 6]             asl     Abs         ;; RMW_Abs, Abs  = 0x54, P = 0x25
fb32 : 2e0002           [ 6]             rol     Abs         ;; RMW_Abs, Abs  = 0xA9, P = 0xA4
fb35 : 4e0002           [ 6]             lsr     Abs         ;; RMW_Abs, Abs  = 0x54, P = 0x25
fb38 : 6e0002           [ 6]             ror     Abs         ;; RMW_Abs, Abs  = 0xAA, P = 0xA4
                             ;;
fb3b : ce0002           [ 6]             dec     Abs         ;; RMW_Abs, Abs  = 0xA9, P = 0xA5
fb3e : ee0002           [ 6]             inc     Abs         ;; RMW_Abs, Abs  = 0xAA, P = 0xA4
                             ;;
fb41 : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
                             ;;
fb42 : 0c0002           [ 3]             tsb     Abs         ;; RMW_Abs, Abs  = 0xFF, P = 0x26
fb45 : 1c0002           [ 3]             trb     Abs         ;; RMW_Abs, Abs  = 0xAA, P = 0x24
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   16
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                             ;;
                             ;;  Absolute Address Indexed RMW Instructions
                             ;;
fb48 : a201             [ 2]             ldx     #$01        ;; Imm,      X    = 0x01, P = 0x24
fb4a : 0a               [ 2]             asl     a           ;; Acc,      A    = 0xAA, P = 0xA4
fb4b : 9d0002           [ 5]             sta     Abs,x       ;; WO_AbsX,  AbsX = 0xAA, P = 0xA4
                             ;;
fb4e : 1e0002           [ 6]             asl     Abs,x       ;; RMW_AbsX, AbsX = 0x54, P = 0x25
fb51 : 3e0002           [ 6]             rol     Abs,x       ;; RMW_AbsX, AbsX = 0xA9, P = 0xA4
fb54 : 5e0002           [ 6]             lsr     Abs,x       ;; RMW_AbsX, AbsX = 0x54, P = 0x25
fb57 : 7e0002           [ 6]             ror     Abs,x       ;; RMW_AbsX, AbsX = 0xAA, P = 0xA4
                             ;;
fb5a : de0002           [ 6]             dec     Abs,x       ;; RMW_AbsX, AbsX = 0xA9, P = 0xA4
fb5d : fe0002           [ 6]             inc     Abs,x       ;; RMW_AbsX, AbsX = 0xAA, P = 0xA4
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page Indirect Instructions
                             ;;
fb60 : 2015f8           [ 6]             jsr     Init_RAM    ;; Initialize RAM used for pointers
                             ;;
fb63 : a924             [ 2]             lda     #$24        ;; Imm,     A    = 0x24, P = 0xXX
fb65 : 48               [ 3]             pha                 ;; Imp,     A    = 0x24, P = 0xXX
fb66 : 28               [ 4]             plp                 ;; Imp,     A    = 0x24, P = 0x24
                             ;;
fb67 : a9aa             [ 2]             lda     #$AA        ;; Imm,     A    = 0xAA, P = 0xA4
fb69 : 8510             [ 3]             sta     DP          ;; WO_DP,   DP   = 0xAA, P = 0xA4
fb6b : a900             [ 2]             lda     #$00        ;; Imm,     A    = 0x00, P = 0x26
                             ;;
fb6d : 1208             [ 5]             ora     (pDPI)      ;; RO_DPI   A    = 0xAA, P = 0xA4
fb6f : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
fb70 : 5208             [ 5]             eor     (pDPI)      ;; RO_DPI,  A    = 0xFF, P = 0xA4
fb72 : 38               [ 2]             sec                 ;; Imp,     A    = 0xFF, P = 0xA5
fb73 : 7208             [ 5]             adc     (pDPI)      ;; RO_DPI,  A    = 0xAA, P = 0xA5
fb75 : 18               [ 2]             clc                 ;; Imp,     A    = 0xAA, P = 0xA4
fb76 : f208             [ 5]             sbc     (pDPI)      ;; RO_DPI,  A    = 0xFF, P = 0xA4
fb78 : 3208             [ 5]             and     (pDPI)      ;; RO_DPI,  A    = 0xAA, P = 0xA4
fb7a : d208             [ 5]             cmp     (pDPI)      ;; RO_DPI,  A    = 0xAA, P = 0x27
                             ;;
fb7c : b208             [ 5]             lda     (pDPI)      ;; RO_DPI,  A    = 0xAA, P = 0xA5
fb7e : 4a               [ 2]             lsr     a           ;; Acc,     A    = 0x55, P = 0x24
fb7f : 9208             [ 5]             sta     (pDPI)      ;; WO_DPI   DP   = 0x55, P = 0x24
fb81 : c510             [ 3]             cmp     DP          ;; RO_DP    A    = 0x55, P = 0x27
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page Pre-Indexed Indirect Instructions
                             ;;
fb83 : a202             [ 2]             ldx     #$02        ;; Imm,     X    = 0x02, P = 0x25
fb85 : 0108             [ 6]             ora     (pDPI,x)    ;; RO_DPXI, A    = 0xFF, P = 0xA5
fb87 : 2108             [ 6]             and     (pDPI,x)    ;; RO_DPXI, A    = 0xAA, P = 0xA5
fb89 : 4108             [ 6]             eor     (pDPI,x)    ;; RO_DPXI, A    = 0x00, P = 0x27
fb8b : 18               [ 2]             clc                 ;; Imp,     A    = 0x00, P = 0x26
fb8c : 6108             [ 6]             adc     (pDPI,x)    ;; RO_DPXI, A    = 0xAA, P = 0xA4
fb8e : c108             [ 6]             cmp     (pDPI,x)    ;; RO_DPXI, A    = 0xAA, P = 0x27
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   17
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fb90 : e108             [ 6]             sbc     (pDPI,x)    ;; RO_DPXI, A    = 0x00, P = 0x27
fb92 : a108             [ 6]             lda     (pDPI,x)    ;; RO_DPXI, A    = 0xAA, P = 0xA5
fb94 : a204             [ 2]             ldx     #$04        ;; Imm,     X    = 0x04, P = 0x25
fb96 : 8108             [ 6]             sta     (pDPI,x)    ;; WO_DPXI, DPY  = 0xAA, P = 0x25
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Direct/Zero Page Post-Indexed Indirect Instructions
                             ;;
fb98 : a000             [ 2]             ldy     #$00        ;; Imm,     Y    = 0x00, P = 0x27
                             ;;
fb9a : 1108             [ 5]             ora     (pDPI),y    ;; RO_DPIY, A    = 0xFF, P = 0xA5
fb9c : c8               [ 2]             iny                 ;; Imp,     Y    = 0x01, P = 0x25
fb9d : 3108             [ 5]             and     (pDPI),y    ;; RO_DPIY, A    = 0xAA, P = 0xA5
fb9f : 88               [ 2]             dey                 ;; Imp,     Y    = 0x00, P = 0x27
fba0 : 5108             [ 5]             eor     (pDPI),y    ;; RO_DPIY, A    = 0xFF, P = 0xA5
fba2 : 7108             [ 5]             adc     (pDPI),y    ;; RO_DPIY, A    = 0x55, P = 0x25
fba4 : d108             [ 5]             cmp     (pDPI),y    ;; RO_DPIY, A    = 0x55, P = 0x27
fba6 : f108             [ 5]             sbc     (pDPI),y    ;; RO_DPIY, A    = 0x00, P = 0x27
fba8 : c8               [ 2]             iny                 ;; Imp,     Y    = 0x01, P = 0x25
fba9 : 9108             [ 5]             sta     (pDPI),y    ;; WO_DPIY, DPX  = 0x00, P = 0x25
fbab : 88               [ 2]             dey                 ;; Imp,     Y    = 0x00, P = 0x26
fbac : b108             [ 5]             lda     (pDPI),y    ;; RO_DPIY, A    = 0x55, P = 0x24
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  All Unused Op-codes - Expected to execute in single cycle as NOPs.
                             ;;
                             
fbae : 0222426282c2e2                    db      $02, $22, $42, $62, $82, $C2, $E2
fbb5 : 0313233343536373                  db      $03, $13, $23, $33, $43, $53, $63, $73
fbbd : 8393a3b3c3d3e3f3                  db      $83, $93, $A3, $B3, $C3, $D3, $E3, $F3
fbc5 : 4454d4f4                          db      $44, $54, $D4, $F4
                             ;;            db      $07, $17, $27, $37, $47, $57, $67, $77  ;; RMBx dp
                             ;;            db      $87, $97, $A7, $B7, $C7, $D7, $E7, $F7  ;; SMBx dp
fbc9 : 0b1b2b3b4b5b6b7b                  db      $0B, $1B, $2B, $3B, $4B, $5B, $6B, $7B
fbd1 : 8b9babbbebfb                      db      $8B, $9B, $AB, $BB, $EB, $FB
fbd7 : 5cdcfc                            db      $5C, $DC, $FC
                             ;;            db      $0F, $1F, $2F, $3F, $4F, $5F, $6F, $7F  ;; BBRx dp,rel
                             ;;            db      $8F, $9F, $AF, $BF, $CF, $DF, $EF, $FF  ;; BBSx dp,rel
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  BRK Instruction
                             ;;
fbda : f8               [ 2]             sed                 ;; Set Decimal Mode Flag
fbdb : 58               [ 2]             cli                 ;; Clear Interrupt Mask
                             ;;
fbdc : 00               [ 7]             brk                 ;; Single Cycle, Nxt
fbdd : ff                                db      $FF         ;; Simple tag so ISR does not need to return PC
                             ;;
fbde : 78               [ 2]             sei
                             ;;
fbdf : 18               [ 2] BCD_Tst:    clc
fbe0 : a999             [ 2]             lda     #$99
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   18
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fbe2 : 6901             [ 2]             adc     #$01
fbe4 : 90fe             [ 3]             bcc     *
fbe6 : d0fe             [ 3]             bne     *
fbe8 : e901             [ 2]             sbc     #$01
fbea : f0fe             [ 3]             beq     *
fbec : b0fe             [ 3]             bcs     *
fbee : c999             [ 2]             cmp     #$99
fbf0 : d0fe             [ 3]             bne     *
fbf2 : 18               [ 2]             clc
                             ;;
fbf3 : 9cf8ff           [ 4]             stz     IRQ_On
                             ;;
fbf6 : f8               [ 2] IRQ_Tst:    sed
fbf7 : 58               [ 2]             cli
fbf8 : ea               [ 2]             nop
fbf9 : 38               [ 2]             sec
fbfa : a900             [ 2]             lda     #$00
fbfc : d007             [ 4]             bne     IRQ_Tst3
fbfe : e901             [ 2] IRQ_Tst2:   sbc     #$01
fc00 : 2037f8           [ 6]             jsr     Return
fc03 : 8003             [ 3]             bra     IRQ_Tst4
fc05 : 4cfefb           [ 3] IRQ_Tst3:   jmp     IRQ_Tst2
fc08 : 78               [ 2] IRQ_Tst4:   sei
fc09 : d8               [ 2]             cld
                             ;;
fc0a : 9cf9ff           [ 4]             stz     IRQ_Off
                             ;;
                             ;;  Test zp,x and zp,y page zero wrapping
                             ;;
fc0d : a900             [ 2]             lda     #$00        ;; clear Accumulator
fc0f : a201             [ 2]             ldx     #$01        ;; Set X to test first page 0 index operation
fc11 : a002             [ 2]             ldy     #$02        ;; Set Y to test second index operation
                             ;;            tax                 ;; clear X
                             ;;            tay                 ;; clear Y
                             ;;            inx                 ;; increment X to test first index operation
                             ;;            iny                 ;; increment Y twice to force it to point to
                             ;;            iny                 ;; wrapped negative of the wrapped pointer.
                             ;;
fc13 : 18               [ 2]             clc                 ;; clear carry before summation
fc14 : b5fe             [ 4]             lda     $FE,x       ;; load low byte of the
fc16 : 79ffff           [ 4]             adc     $FFFF,y     ;; add low bytes of Return and -Return
                             ;;
fc19 : d0fe             [ 3]             bne     *           ;; halt here if sum is not zero
                             ;;
fc1b : e8               [ 2]             inx                 ;; point to wrapped high bytes
fc1c : c8               [ 2]             iny
fc1d : b5fe             [ 4]             lda     $FE,x       ;; load high byte of Return
fc1f : 79ffff           [ 4]             adc     $FFFF,y     ;; add high bytes of Return and -Return
                             ;;
fc22 : d0fe             [ 3]             bne     *           ;; halt here if the sum is not zero
                             ;;
fc24 : 88               [ 2]             dey                     ;; point back to lsb
fc25 : b6ff             [ 4]             ldx     $ff,y           ;; load lsb of -Return value
fc27 : e0c9             [ 2]             cpx     #(lo -Return)   ;; compare
                             ;;
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   19
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fc29 : d0fe             [ 3]             bne     *               ;; halt here if the values are not equal
                             ;;
fc2b : 8a               [ 2]             txa                     ;; complement value and store back
fc2c : 49ff             [ 2]             eor     #$ff            ;; pointer will point to location Return-1
fc2e : aa               [ 2]             tax                     ;; because of 1's complement math
fc2f : 96ff             [ 4]             stx     $ff,y
                             ;;
fc31 : c8               [ 2]             iny                     ;; point to msb
fc32 : b6ff             [ 4]             ldx     $ff,y           ;; load msb of -Return value
fc34 : e007             [ 2]             cpx     #(hi -Return)   ;; compare
                             ;;
fc36 : d0fe             [ 3]             bne     *               ;; halt here if the values are not equal
                             ;;
fc38 : 8a               [ 2]             txa                     ;; complement value and store back
fc39 : 49ff             [ 2]             eor     #$ff            ;; pointer will point to location Return-1
fc3b : aa               [ 2]             tax                     ;; because of 1's complement math
fc3c : 96ff             [ 4]             stx     $ff,y
                             ;;
                             ;;  Test (dp), (dp,x), and (dp,y) address mode page 0 wrapping
                             ;;
fc3e : b2ff             [ 5]             lda     ($ff)           ;; load value stored in Return
fc40 : a001             [ 2]             ldy     #$01            ;; ptr stored at $0001 points to Return-1
fc42 : d101             [ 5]             cmp     ($01),y         ;; compare
                             ;;
fc44 : d0fe             [ 3]             bne     *               ;; halt here if the *($ff) <> *(*($01)+1)
                             ;;
fc46 : a202             [ 2]             ldx     #$02            ;; increment pointer at $0001
fc48 : 18               [ 2]             clc
fc49 : b5ff             [ 4]             lda     $FF,x           ;; load lsb from $0001
fc4b : 6901             [ 2]             adc     #$01            ;; increment
fc4d : 95ff             [ 4]             sta     $FF,x           ;; store lsb
fc4f : e8               [ 2]             inx                     ;; point to msb 
fc50 : b5ff             [ 4]             lda     $FF,x           ;; load lsb from $0002
fc52 : 6900             [ 2]             adc     #$00            ;; increment msb if carry out of lsb
fc54 : 95ff             [ 4]             sta     $FF,x
                             ;;
fc56 : ca               [ 2]             dex                     ;; point back to lsb
fc57 : a1ff             [ 6]             lda     ($ff,x)         ;; load opcode at Return
fc59 : c6ff             [ 5]             dec     $ff             ;; change pointer to point to Return-1
fc5b : d1ff             [ 5]             cmp     ($ff),y         ;; both pointers (after indexing) -> Return
                             ;;
fc5d : d0fe             [ 3]             bne     *
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Test Rockwell Instructions
                             ;;
fc5f : 6480             [ 3]             stz     $80             ;; ZP location for Rockwell Instruction Test
                             ;;
                                         SMBx    0,$80
fc61 : 87                   >            db      ((0+8)*16)+7
fc62 : 80                   >            db      $80
                             
                                         BBRx    0,$80,$
fc63 : 0f                   >LBL0002       db      ((0+0)*16)+15
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   20
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fc64 : 80                   >            db      $80
                            >            if($ < LBL0002+3)
fc65 : fd                   >            db      -($-LBL0002+1)
                            >            else
                            >            db      ($-LBL0002-3)
                            >            endif
                             
                                         RMBx    0,$80
fc66 : 07                   >            db      ((0+0)*16)+7
fc67 : 80                   >            db      $80
                             
                                         BBSx    0,$80,$
fc68 : 8f                   >LBL0004       db      ((0+8)*16)+15
fc69 : 80                   >            db      $80
                            >            if($ < LBL0004+3)
fc6a : fd                   >            db      -($-LBL0004+1)
                            >            else
                            >            db      ($-LBL0004-3)
                            >            endif
                             
                             ;;
                                         SMBx    1,$80
fc6b : 97                   >            db      ((1+8)*16)+7
fc6c : 80                   >            db      $80
                             
                                         BBRx    1,$80,$
fc6d : 1f                   >LBL0006       db      ((1+0)*16)+15
fc6e : 80                   >            db      $80
                            >            if($ < LBL0006+3)
fc6f : fd                   >            db      -($-LBL0006+1)
                            >            else
                            >            db      ($-LBL0006-3)
                            >            endif
                             
                                         RMBx    1,$80
fc70 : 17                   >            db      ((1+0)*16)+7
fc71 : 80                   >            db      $80
                             
                                         BBSx    1,$80,$
fc72 : 9f                   >LBL0008       db      ((1+8)*16)+15
fc73 : 80                   >            db      $80
                            >            if($ < LBL0008+3)
fc74 : fd                   >            db      -($-LBL0008+1)
                            >            else
                            >            db      ($-LBL0008-3)
                            >            endif
                             
                             ;;
                                         SMBx    2,$80
fc75 : a7                   >            db      ((2+8)*16)+7
fc76 : 80                   >            db      $80
                             
                                         BBRx    2,$80,$
fc77 : 2f                   >LBL0010       db      ((2+0)*16)+15
fc78 : 80                   >            db      $80
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   21
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                            >            if($ < LBL0010+3)
fc79 : fd                   >            db      -($-LBL0010+1)
                            >            else
                            >            db      ($-LBL0010-3)
                            >            endif
                             
                                         RMBx    2,$80
fc7a : 27                   >            db      ((2+0)*16)+7
fc7b : 80                   >            db      $80
                             
                                         BBSx    2,$80,$
fc7c : af                   >LBL0012       db      ((2+8)*16)+15
fc7d : 80                   >            db      $80
                            >            if($ < LBL0012+3)
fc7e : fd                   >            db      -($-LBL0012+1)
                            >            else
                            >            db      ($-LBL0012-3)
                            >            endif
                             
                             ;;
                                         SMBx    3,$80
fc7f : b7                   >            db      ((3+8)*16)+7
fc80 : 80                   >            db      $80
                             
                                         BBRx    3,$80,$
fc81 : 3f                   >LBL0014       db      ((3+0)*16)+15
fc82 : 80                   >            db      $80
                            >            if($ < LBL0014+3)
fc83 : fd                   >            db      -($-LBL0014+1)
                            >            else
                            >            db      ($-LBL0014-3)
                            >            endif
                             
                                         RMBx    3,$80
fc84 : 37                   >            db      ((3+0)*16)+7
fc85 : 80                   >            db      $80
                             
                                         BBSx    3,$80,$
fc86 : bf                   >LBL0016       db      ((3+8)*16)+15
fc87 : 80                   >            db      $80
                            >            if($ < LBL0016+3)
fc88 : fd                   >            db      -($-LBL0016+1)
                            >            else
                            >            db      ($-LBL0016-3)
                            >            endif
                             
                             ;;
                                         SMBx    4,$80
fc89 : c7                   >            db      ((4+8)*16)+7
fc8a : 80                   >            db      $80
                             
                                         BBRx    4,$80,$
fc8b : 4f                   >LBL0018       db      ((4+0)*16)+15
fc8c : 80                   >            db      $80
                            >            if($ < LBL0018+3)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   22
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

fc8d : fd                   >            db      -($-LBL0018+1)
                            >            else
                            >            db      ($-LBL0018-3)
                            >            endif
                             
                                         RMBx    4,$80
fc8e : 47                   >            db      ((4+0)*16)+7
fc8f : 80                   >            db      $80
                             
                                         BBSx    4,$80,$
fc90 : cf                   >LBL0020       db      ((4+8)*16)+15
fc91 : 80                   >            db      $80
                            >            if($ < LBL0020+3)
fc92 : fd                   >            db      -($-LBL0020+1)
                            >            else
                            >            db      ($-LBL0020-3)
                            >            endif
                             
                             ;;
                                         SMBx    5,$80
fc93 : d7                   >            db      ((5+8)*16)+7
fc94 : 80                   >            db      $80
                             
                                         BBRx    5,$80,$
fc95 : 5f                   >LBL0022       db      ((5+0)*16)+15
fc96 : 80                   >            db      $80
                            >            if($ < LBL0022+3)
fc97 : fd                   >            db      -($-LBL0022+1)
                            >            else
                            >            db      ($-LBL0022-3)
                            >            endif
                             
                                         RMBx    5,$80
fc98 : 57                   >            db      ((5+0)*16)+7
fc99 : 80                   >            db      $80
                             
                                         BBSx    5,$80,$
fc9a : df                   >LBL0024       db      ((5+8)*16)+15
fc9b : 80                   >            db      $80
                            >            if($ < LBL0024+3)
fc9c : fd                   >            db      -($-LBL0024+1)
                            >            else
                            >            db      ($-LBL0024-3)
                            >            endif
                             
                             ;;
                                         SMBx    6,$80
fc9d : e7                   >            db      ((6+8)*16)+7
fc9e : 80                   >            db      $80
                             
                                         BBRx    6,$80,$
fc9f : 6f                   >LBL0026       db      ((6+0)*16)+15
fca0 : 80                   >            db      $80
                            >            if($ < LBL0026+3)
fca1 : fd                   >            db      -($-LBL0026+1)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   23
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                            >            else
                            >            db      ($-LBL0026-3)
                            >            endif
                             
                                         RMBx    6,$80
fca2 : 67                   >            db      ((6+0)*16)+7
fca3 : 80                   >            db      $80
                             
                                         BBSx    6,$80,$
fca4 : ef                   >LBL0028       db      ((6+8)*16)+15
fca5 : 80                   >            db      $80
                            >            if($ < LBL0028+3)
fca6 : fd                   >            db      -($-LBL0028+1)
                            >            else
                            >            db      ($-LBL0028-3)
                            >            endif
                             
                             ;;
                                         SMBx    7,$80
fca7 : f7                   >            db      ((7+8)*16)+7
fca8 : 80                   >            db      $80
                             
                                         BBRx    7,$80,$
fca9 : 7f                   >LBL0030       db      ((7+0)*16)+15
fcaa : 80                   >            db      $80
                            >            if($ < LBL0030+3)
fcab : fd                   >            db      -($-LBL0030+1)
                            >            else
                            >            db      ($-LBL0030-3)
                            >            endif
                             
                                         RMBx    7,$80
fcac : 77                   >            db      ((7+0)*16)+7
fcad : 80                   >            db      $80
                             
                                         BBSx    7,$80,$
fcae : ff                   >LBL0032       db      ((7+8)*16)+15
fcaf : 80                   >            db      $80
                            >            if($ < LBL0032+3)
fcb0 : fd                   >            db      -($-LBL0032+1)
                            >            else
                            >            db      ($-LBL0032-3)
                            >            endif
                             
                             ;;
fcb1 : a9ff             [ 2]             lda     #$ff
fcb3 : 8580             [ 3]             sta     $80
                             ;;
                                         BBSx    7,$80,MSB_Set
fcb5 : ff                   >LBL0033       db      ((7+8)*16)+15
fcb6 : 80                   >            db      $80
                            >            if(MSB_Set < LBL0033+3)
                            >            db      -(MSB_Set-LBL0033+1)
                            >            else
fcb7 : 05                   >            db      (MSB_Set-LBL0033-3)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   24
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

                            >            endif
                             
fcb8 :                       Clr_MSB:
                                         RMBx    7,$80
fcb8 : 77                   >            db      ((7+0)*16)+7
fcb9 : 80                   >            db      $80
                             
                                         BBRx    7,$80,MSB_Clr
fcba : 7f                   >LBL0035       db      ((7+0)*16)+15
fcbb : 80                   >            db      $80
                            >            if(MSB_Clr < LBL0035+3)
                            >            db      -(MSB_Clr-LBL0035+1)
                            >            else
fcbc : 02                   >            db      (MSB_Clr-LBL0035-3)
                            >            endif
                             
fcbd : 80f9             [ 3] MSB_Set     bra     Clr_MSB
fcbf :                       MSB_Clr:
                                         WAI
fcbf : cb                   >            db      $CB
                             
fcc0 : eaeaeaea         [ 8]             nop     4
fcc4 : 9cf8ff           [ 4]             stz     IRQ_On
fcc7 : eaeaeaea         [ 8]             nop     4
fccb : 58               [ 2]             cli
                                         WAI
fccc : cb                   >            db      $CB
                             
fccd : 78               [ 2]             sei  
fcce : 9cf9ff           [ 4]             stz     IRQ_Off
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Prepare Registers for looping to start of the test program
                             ;;
fcd1 : a900             [ 2]             lda     #$00        ;; Imm, A = 0x00, P = 0x26
fcd3 : aa               [ 2]             tax                 ;; Imp, X = 0x00, P = 0x26
fcd4 : a8               [ 2]             tay                 ;; Imp, Y = 0x00, P = 0x26
                             ;;
fcd5 : 4c00f8           [ 3]             jmp     Start       ;; Imp, A = X = Y = 0x00, P = 0x26
                             ;;
fcd8 :                       Last_Addrs:
                             ;;
                             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;
                             ;;  Vector Table
                             ;;
fffa =                       Vect_Table  org     $FFFA
                             ;;
fffa : 00f8                              dw      Start       ;; NMI Interrupt Vector
fffc : 00f8                              dw      Start       ;; Reset Vector
fffe : 08f8                              dw      Interrupt   ;; IRQ/BRK Interrupt Vector
                             ;;
                                         end     Start
No errors in pass 2.
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   25
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------

Wrote binary from address $f800 through $ffff.
Total size 2048 bytes.


Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.