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

Subversion Repositories m65c02

[/] [m65c02/] [trunk/] [Src/] [M65C02-Test-Programs/] [Klaus2m5_Functional_Tests/] [65c02_ft.lst] - Diff between revs 2 and 3

Show entire file | Details | Blame | View Log

Rev 2 Rev 3
Line 5... Line 5...
 
 
              Symbol   Value        Decimal
              Symbol   Value        Decimal
 
 
               absAN : $023f            575
               absAN : $023f            575
              absANa : $024b            587
              absANa : $024b            587
 
             absANa_ : $3ed6          16086
 
              absAN_ : $3eca          16074
               absEO : $0243            579
               absEO : $0243            579
              absEOa : $024f            591
              absEOa : $024f            591
 
             absEOa_ : $3eda          16090
 
              absEO_ : $3ece          16078
              absflo : $0257            599
              absflo : $0257            599
 
             absflo_ : $3ee2          16098
               absOR : $023b            571
               absOR : $023b            571
              absORa : $0247            583
              absORa : $0247            583
 
             absORa_ : $3ed2          16082
 
              absOR_ : $3ec6          16070
              absrlo : $0253            595
              absrlo : $0253            595
 
             absrlo_ : $3ede          16094
                abst : $0203            515
                abst : $0203            515
                abs1 : $0208            520
                abs1 : $0208            520
 
               abs1_ : $3e93          16019
               abs7f : $020c            524
               abs7f : $020c            524
 
              abs7f_ : $3e97          16023
                ada2 : $0203            515
                ada2 : $0203            515
                adfc : $000c             12
                adfc : $00b2            178
               adiy2 : $0056             86
               adiy2 : $00fc            252
                adi2 : $0052             82
              adiy2_ : $3e8f          16015
                adrf : $0011             17
                adi2 : $00f8            248
                adrh : $0010             16
               adi2_ : $3e8b          16011
                adrl : $000f             15
                adrf : $00b7            183
                 ad1 : $000d             13
                adrh : $00b6            182
                 ad2 : $000e             14
                adrl : $00b5            181
            bin_test : $31b8          12728
                 ad1 : $00b3            179
 
                 ad2 : $00b4            180
 
            bin_test : $38fc          14588
               break : $0010             16
               break : $0010             16
             brk_ret : $08b9           2233
             brk_ret : $09bb           2491
                 br1 : $05c9           1481
                 br1 : $0613           1555
                br11 : $060d           1549
                br11 : $065d           1629
                br12 : $0612           1554
                br12 : $0661           1633
                br13 : $0617           1559
                br13 : $0665           1637
                br14 : $0628           1576
                br14 : $0671           1649
                 br2 : $05ce           1486
                 br2 : $0617           1559
                 br3 : $05d3           1491
                 br3 : $061b           1563
                 br4 : $05e4           1508
                 br4 : $0627           1575
               carry : $0001              1
               carry : $0001              1
           check_ram : 
           check_ram : 
              chkadd : $3403          13315
              chkadd : $3b90          15248
              chkadi : $346e          13422   *
              chkadi : $3c0b          15371   *
              chkdad : $32d2          13010
              chkdad : $3a1f          14879
             chkdadi : $3325          13093   *
             chkdadi : $3a82          14978   *
             chkdsbi : $333c          13116   *
             chkdsbi : $3a9d          15005   *
              chksbi : $3485          13445   *
              chksbi : $3c26          15398   *
               ckad1 : $3418          13336
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    2
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
               ckad1 : $3ba5          15269
            cmp_flag : 
            cmp_flag : 
        code_segment : $0400           1024   *
        code_segment : $0400           1024   *
            data_bss : $0208            520
            data_bss : $0208            520
        data_bss_end : $025b            603
        data_bss_end : $025b            603
 
            data_end : $3ee6          16102
 
           data_init : $3e93          16019
        data_segment : $0200            512   *
        data_segment : $0200            512   *
             decmode : $0008              8
             decmode : $0008              8
            dec_test : $3220          12832
            dec_test : $3968          14696
            eor_flag : 
            eor_flag : 
                fASL : $0221            545
                fASL : $0221            545
 
               fASL_ : $3eac          16044
                 fai : $0034             52
                 fai : $0034             52
                 fao : $0030             48
                 fao : $0030             48
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    2
             far_ret : $08a8           2216
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
             far_ret : $07f7           2039
 
                  fc : $0001              1
                  fc : $0001              1
                fINC : $0236            566
                fINC : $0236            566
 
               fINC_ : $3ec1          16065
                fLDx : $020d            525
                fLDx : $020d            525
 
               fLDx_ : $3e98          16024
                fLSR : $0229            553
                fLSR : $0229            553
 
               fLSR_ : $3eb4          16052
                  fn : $0080            128
                  fn : $0080            128
                 fnc : $0081            129
                 fnc : $0081            129
                 fnv : $00c0            192
                 fnv : $00c0            192
                 fnz : $0082            130
                 fnz : $0082            130
                fnzc : $0083            131
                fnzc : $0083            131
                fROL : $0221            545
                fROL : $0221            545
               fROLc : $0225            549
               fROLc : $0225            549
 
              fROLc_ : $3eb0          16048
 
               fROL_ : $3eac          16044
                fROR : $0229            553
                fROR : $0229            553
               fRORc : $022d            557
               fRORc : $022d            557
 
              fRORc_ : $3eb8          16056
 
               fROR_ : $3eb4          16052
                  fv : $0040             64
                  fv : $0040             64
                 fvz : $0042             66
                 fvz : $0042             66
                  fz : $0002              2
                  fz : $0002              2
                 fzc : $0003              3
                 fzc : $0003              3
              I_flag : $0003              3   *
              I_flag : $0003              3   *
               indAN : $003a             58
               indAN : $00e0            224
               indEO : $0042             66
              indAN_ : $3e73          15987
               indOR : $004a             74
               indEO : $00e8            232
                indt : $0030             48
              indEO_ : $3e7b          15995
                ind1 : $0024             36
               indOR : $00f0            240
             ind_ret : $084c           2124
              indOR_ : $3e83          16003
 
                indt : $00d6            214
 
               indt_ : $3e69          15977
 
                ind1 : $00ca            202
 
               ind1_ : $3e5d          15965
 
             ind_ret : $091f           2335
              intdis : $0004              4
              intdis : $0004              4
                inwt : $0038             56
                inwt : $00de            222
                inw1 : $002e             46
               inwt_ : $3e71          15985
               irq_a : $000a             10
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    3
            irq_trap : $35fd          13821
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
               irq_x : $000b             11
 
             jsr_ret : $0882           2178   *
                inw1 : $00d4            212
    load_data_direct : $0001              1   *
               inw1_ : $3e67          15975
 
               irq_a : $00b0            176
 
            irq_trap : $3dfa          15866
 
               irq_x : $00b1            177
 
             jsr_ret : $0967           2407   *
 
             ld_data : $0412           1042
 
               ld_zp : $0408           1032
 
    load_data_direct : $0000              0   *
           load_flag : 
           load_flag : 
               minus : $0080            128
               minus : $0080            128
                  m8 : $00ff            255
                  m8 : $00ff            255
                 m8i : $00fb            251
                 m8i : $00fb            251
                nbr1 : $05d8           1496
                nbr1 : $061f           1567
               nbr11 : $061c           1564
               nbr11 : $0669           1641
               nbr12 : $061f           1567
               nbr12 : $066b           1643
               nbr13 : $0622           1570
               nbr13 : $066d           1645
               nbr14 : $0625           1573
               nbr14 : $066f           1647
                nbr2 : $05db           1499
                nbr2 : $0621           1569
                nbr3 : $05de           1502
                nbr3 : $0623           1571
                nbr4 : $05e1           1505
                nbr4 : $0625           1573
           next_test : 
           next_test : 
            nmi_trap : $35f5          13813
            nmi_trap : $3df4          15860
              overfl : $0040             64
              overfl : $0040             64
         ptr_ind_ret : $357e          13694
         ptr_ind_ret : $3d5c          15708
         ptr_tst_ind : $357c          13692
         ptr_tst_ind : $3d5a          15706
         ROM_vectors : $0001              1   *
         ROM_vectors : $0000              0   *
                rASL : $0211            529
                rASL : $0211            529
 
               rASL_ : $3e9c          16028
           ram_chksm : $0201            513
           ram_chksm : $0201            513
             ram_top : $ffff             -1   *
             ram_top : $ffff             -1   *
           range_adr : $04a5           1189   *
           range_adr : $04bc           1212   *
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    3
           range_end : $0547           1351
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
            range_fw : $0433           1075
 
          range_loop : $042b           1067
           range_end : $0531           1329
            range_ok : $0540           1344
            range_fw : $041c           1052
            range_op : $04bb           1211
          range_loop : $0414           1044
 
            range_ok : $052a           1322
 
            range_op : $04a4           1188
 
              reserv : $0020             32
              reserv : $0020             32
            res_trap : $35f8          13816
            res_trap : $3df6          15862
                rINC : $0231            561
                rINC : $0231            561
 
               rINC_ : $3ebc          16060
                rLSR : $0219            537
                rLSR : $0219            537
 
               rLSR_ : $3ea4          16036
                rROL : $0211            529
                rROL : $0211            529
               rROLc : $0215            533
               rROLc : $0215            533
 
              rROLc_ : $3ea0          16032
 
               rROL_ : $3e9c          16028
                rROR : $0219            537
                rROR : $0219            537
               rRORc : $021d            541
               rRORc : $021d            541
 
              rRORc_ : $3ea8          16040
 
               rROR_ : $3ea4          16036
                sba2 : $0204            516
                sba2 : $0204            516
               sbiy2 : $0058             88
               sbiy2 : $00fe            254
                sbi2 : $0054             84
              sbiy2_ : $3e91          16017
                 sb2 : $0012             18
                sbi2 : $00fa            250
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    4
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
               sbi2_ : $3e8d          16013
 
                 sb2 : $00b8            184
               set_a : 
               set_a : 
             set_abs : 
             set_abs : 
            set_absx : 
            set_absx : 
              set_ax : 
              set_ax : 
              set_ay : 
              set_ay : 
            set_stat : 
            set_stat : 
               set_x : 
               set_x : 
               set_y : 
               set_y : 
               set_z : 
               set_z : 
              set_zx : 
              set_zx : 
       skip_bin_test : $0001              1   *
            skip0002 : $0424           1060
       skip_dec_test : $0001              1   *
            skip0006 : $0550           1360
 
            skip0009 : $0563           1379
 
            skip0011 : $0567           1383
 
            skip0013 : $056b           1387
 
            skip0015 : $0571           1393
 
            skip0017 : $0575           1397
 
            skip0019 : $0579           1401
 
            skip0021 : $0580           1408
 
            skip0023 : $0584           1412
 
            skip0025 : $0588           1416
 
            skip0027 : $058e           1422
 
            skip0029 : $0592           1426
 
            skip0031 : $0596           1430
 
            skip0033 : $059d           1437
 
            skip0035 : $05a1           1441
 
            skip0037 : $05a5           1445
 
            skip0039 : $05ab           1451
 
            skip0041 : $05af           1455
 
            skip0043 : $05b3           1459
 
            skip0046 : $05bc           1468
 
            skip0048 : $05d1           1489
 
            skip0050 : $05d9           1497
 
            skip0052 : $05e0           1504
 
            skip0054 : $05e7           1511
 
            skip0056 : $05ee           1518
 
            skip0058 : $05f5           1525
 
            skip0061 : $05fe           1534
 
            skip0073 : $062f           1583
 
            skip0076 : $0636           1590
 
            skip0078 : $063d           1597
 
            skip0082 : $064d           1613
 
            skip0084 : $0651           1617
 
            skip0086 : $0655           1621
 
            skip0088 : $0659           1625
 
            skip0099 : $0679           1657
 
            skip0103 : $0681           1665
 
            skip0107 : $0689           1673
 
            skip0111 : $0691           1681
 
            skip0115 : $0699           1689
 
            skip0119 : $06a1           1697
 
            skip0123 : $06a9           1705
 
            skip0127 : $06b1           1713
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    5
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip0131 : $06b9           1721
 
            skip0134 : $06c2           1730
 
            skip0139 : $06da           1754
 
            skip0142 : $06e1           1761
 
            skip0147 : $06f1           1777
 
            skip0150 : $06f8           1784
 
            skip0155 : $0708           1800
 
            skip0158 : $070f           1807
 
            skip0163 : $071f           1823
 
            skip0166 : $0726           1830
 
            skip0171 : $0736           1846
 
            skip0174 : $073d           1853
 
            skip0179 : $074d           1869
 
            skip0182 : $0754           1876
 
            skip0187 : $0764           1892
 
            skip0190 : $076b           1899
 
            skip0195 : $077b           1915
 
            skip0198 : $0782           1922
 
            skip0203 : $0792           1938
 
            skip0206 : $0799           1945
 
            skip0211 : $07a9           1961
 
            skip0214 : $07b0           1968
 
            skip0219 : $07c0           1984
 
            skip0222 : $07c7           1991
 
            skip0227 : $07d7           2007
 
            skip0230 : $07de           2014
 
            skip0232 : $07e5           2021
 
            skip0234 : $07eb           2027
 
            skip0237 : $07f4           2036
 
            skip0242 : $0809           2057
 
            skip0245 : $0810           2064
 
            skip0250 : $0821           2081
 
            skip0253 : $0828           2088
 
            skip0256 : $0832           2098
 
            skip0261 : $084a           2122
 
            skip0264 : $0851           2129
 
            skip0266 : $0858           2136
 
            skip0268 : $085e           2142
 
            skip0273 : $0871           2161
 
            skip0276 : $0878           2168
 
            skip0278 : $087f           2175
 
            skip0280 : $0885           2181
 
            skip0283 : $088e           2190
 
            skip0287 : $08a6           2214
 
            skip0289 : $08ac           2220
 
            skip0291 : $08b0           2224
 
            skip0293 : $08b4           2228
 
            skip0295 : $08b8           2232
 
            skip0297 : $08be           2238
 
            skip0299 : $08c4           2244
 
            skip0301 : $08ca           2250
 
            skip0303 : $08d9           2265
 
            skip0305 : $08df           2271
 
            skip0307 : $08e3           2275
 
            skip0309 : $08e7           2279
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    6
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip0311 : $08eb           2283
 
            skip0313 : $08f1           2289
 
            skip0315 : $08f7           2295
 
            skip0317 : $08fd           2301
 
            skip0320 : $0906           2310
 
            skip0324 : $091d           2333
 
            skip0326 : $0928           2344
 
            skip0328 : $092c           2348
 
            skip0330 : $0930           2352
 
            skip0332 : $0934           2356
 
            skip0334 : $093a           2362
 
            skip0336 : $0940           2368
 
            skip0338 : $0946           2374
 
            skip0340 : $094d           2381
 
            skip0343 : $0956           2390
 
            skip0347 : $0971           2417
 
            skip0349 : $0975           2421
 
            skip0351 : $0979           2425
 
            skip0353 : $097d           2429
 
            skip0355 : $0983           2435
 
            skip0357 : $0989           2441
 
            skip0359 : $098f           2447
 
            skip0361 : $0996           2454
 
            skip0364 : $099f           2463
 
            skip0368 : $09c5           2501
 
            skip0370 : $09cb           2507
 
            skip0372 : $09d1           2513
 
            skip0375 : $09d8           2520
 
            skip0377 : $09df           2527
 
            skip0380 : $09e8           2536
 
            skip0386 : $09fb           2555
 
            skip0390 : $0a06           2566
 
            skip0394 : $0a11           2577
 
            skip0398 : $0a1c           2588
 
            skip0402 : $0a27           2599
 
            skip0406 : $0a32           2610
 
            skip0410 : $0a3d           2621
 
            skip0416 : $0a4b           2635
 
            skip0420 : $0a56           2646
 
            skip0424 : $0a61           2657
 
            skip0428 : $0a6c           2668
 
            skip0432 : $0a77           2679
 
            skip0436 : $0a82           2690
 
            skip0440 : $0a8d           2701
 
            skip0446 : $0a9b           2715
 
            skip0450 : $0aa6           2726
 
            skip0453 : $0ab0           2736
 
            skip0458 : $0ac4           2756
 
            skip0461 : $0acb           2763
 
            skip0464 : $0ad5           2773
 
            skip0467 : $0adc           2780
 
            skip0470 : $0ae6           2790
 
            skip0473 : $0aed           2797
 
            skip0476 : $0af7           2807
 
            skip0479 : $0afe           2814
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    7
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip0482 : $0b08           2824
 
            skip0485 : $0b0f           2831
 
            skip0490 : $0b1e           2846
 
            skip0493 : $0b25           2853
 
            skip0496 : $0b2f           2863
 
            skip0499 : $0b36           2870
 
            skip0502 : $0b40           2880
 
            skip0505 : $0b47           2887
 
            skip0508 : $0b51           2897
 
            skip0511 : $0b58           2904
 
            skip0514 : $0b62           2914
 
            skip0517 : $0b69           2921
 
            skip0522 : $0b79           2937
 
            skip0525 : $0b80           2944
 
            skip0528 : $0b8a           2954
 
            skip0531 : $0b91           2961
 
            skip0534 : $0b9b           2971
 
            skip0537 : $0ba2           2978
 
            skip0540 : $0bac           2988
 
            skip0543 : $0bb3           2995
 
            skip0546 : $0bbd           3005
 
            skip0549 : $0bc4           3012
 
            skip0554 : $0bd3           3027
 
            skip0557 : $0bda           3034
 
            skip0560 : $0be4           3044
 
            skip0563 : $0beb           3051
 
            skip0566 : $0bf5           3061
 
            skip0569 : $0bfc           3068
 
            skip0572 : $0c06           3078
 
            skip0575 : $0c0d           3085
 
            skip0578 : $0c17           3095
 
            skip0581 : $0c1e           3102
 
            skip0586 : $0c2e           3118
 
            skip0589 : $0c35           3125
 
            skip0592 : $0c42           3138
 
            skip0595 : $0c49           3145
 
            skip0598 : $0c56           3158
 
            skip0601 : $0c5d           3165
 
            skip0606 : $0c6b           3179
 
            skip0609 : $0c72           3186
 
            skip0612 : $0c7f           3199
 
            skip0615 : $0c86           3206
 
            skip0618 : $0c93           3219
 
            skip0621 : $0c9a           3226
 
            skip0626 : $0caa           3242
 
            skip0629 : $0cb1           3249
 
            skip0632 : $0cbe           3262
 
            skip0635 : $0cc5           3269
 
            skip0638 : $0cd2           3282
 
            skip0641 : $0cd9           3289
 
            skip0646 : $0ce7           3303
 
            skip0649 : $0cee           3310
 
            skip0652 : $0cfb           3323
 
            skip0655 : $0d02           3330
 
            skip0658 : $0d0f           3343
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    8
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip0661 : $0d16           3350
 
            skip0665 : $0d27           3367
 
            skip0668 : $0d2e           3374
 
            skip0671 : $0d3c           3388
 
            skip0674 : $0d43           3395
 
            skip0677 : $0d51           3409
 
            skip0680 : $0d58           3416
 
            skip0684 : $0d69           3433
 
            skip0687 : $0d70           3440
 
            skip0690 : $0d7e           3454
 
            skip0693 : $0d85           3461
 
            skip0696 : $0d93           3475
 
            skip0699 : $0d9a           3482
 
            skip0703 : $0dab           3499
 
            skip0706 : $0db2           3506
 
            skip0709 : $0dc0           3520
 
            skip0712 : $0dc7           3527
 
            skip0715 : $0dd5           3541
 
            skip0718 : $0ddc           3548
 
            skip0722 : $0ded           3565
 
            skip0725 : $0df4           3572
 
            skip0728 : $0e02           3586
 
            skip0731 : $0e09           3593
 
            skip0734 : $0e17           3607
 
            skip0737 : $0e1e           3614
 
            skip0740 : $0e28           3624
 
            skip0745 : $0e3e           3646
 
            skip0750 : $0e4d           3661
 
            skip0755 : $0e5d           3677
 
            skip0760 : $0e6c           3692
 
            skip0765 : $0e7c           3708
 
            skip0772 : $0e96           3734
 
            skip0775 : $0e9f           3743
 
            skip0779 : $0eab           3755
 
            skip0782 : $0eb4           3764
 
            skip0786 : $0ec0           3776
 
            skip0789 : $0ec9           3785
 
            skip0793 : $0ed8           3800
 
            skip0796 : $0ee1           3809
 
            skip0800 : $0eed           3821
 
            skip0803 : $0ef6           3830
 
            skip0807 : $0f02           3842
 
            skip0810 : $0f0b           3851
 
            skip0813 : $0f15           3861
 
            skip0817 : $0f34           3892
 
            skip0820 : $0f3e           3902
 
            skip0824 : $0f5b           3931
 
            skip0827 : $0f65           3941
 
            skip0831 : $0f83           3971
 
            skip0834 : $0f8d           3981
 
            skip0838 : $0fab           4011
 
            skip0841 : $0fb5           4021
 
            skip0843 : $0fc8           4040
 
            skip0845 : $0fd6           4054
 
            skip0848 : $0fe6           4070
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    9
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip0850 : $1012           4114
 
            skip0852 : $101e           4126
 
            skip0855 : $102e           4142
 
            skip0859 : $104d           4173
 
            skip0862 : $1057           4183
 
            skip0866 : $1074           4212
 
            skip0869 : $107e           4222
 
            skip0873 : $109b           4251
 
            skip0876 : $10a5           4261
 
            skip0880 : $10c2           4290
 
            skip0883 : $10cc           4300
 
            skip0885 : $10dd           4317
 
            skip0887 : $10eb           4331
 
            skip0890 : $10fb           4347
 
            skip0892 : $1125           4389
 
            skip0894 : $1131           4401
 
            skip0897 : $1141           4417
 
            skip0901 : $115f           4447
 
            skip0904 : $1169           4457
 
            skip0908 : $1182           4482
 
            skip0911 : $118c           4492
 
            skip0915 : $11a5           4517
 
            skip0918 : $11af           4527
 
            skip0922 : $11c8           4552
 
            skip0925 : $11d2           4562
 
            skip0929 : $11eb           4587
 
            skip0932 : $11f5           4597
 
            skip0936 : $120e           4622
 
            skip0939 : $1218           4632
 
            skip0943 : $1231           4657
 
            skip0946 : $123b           4667
 
            skip0950 : $1254           4692
 
            skip0953 : $125e           4702
 
            skip0957 : $1276           4726
 
            skip0960 : $1280           4736
 
            skip0964 : $1298           4760
 
            skip0967 : $12a2           4770
 
            skip0971 : $12ba           4794
 
            skip0974 : $12c4           4804
 
            skip0978 : $12dc           4828
 
            skip0981 : $12e6           4838
 
            skip0985 : $12ff           4863
 
            skip0988 : $1309           4873
 
            skip0992 : $1322           4898
 
            skip0995 : $132c           4908
 
            skip0999 : $1345           4933
 
            skip1002 : $134f           4943
 
            skip1006 : $1368           4968
 
            skip1009 : $1372           4978
 
            skip1013 : $1380           4992
 
            skip1016 : $138a           5002
 
            skip1020 : $1398           5016
 
            skip1023 : $13a2           5026
 
            skip1027 : $13b0           5040
 
            skip1030 : $13ba           5050
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   10
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1034 : $13c8           5064
 
            skip1037 : $13d2           5074
 
            skip1041 : $13e0           5088
 
            skip1044 : $13ea           5098
 
            skip1048 : $13f8           5112
 
            skip1051 : $1402           5122
 
            skip1055 : $1410           5136
 
            skip1058 : $141a           5146
 
            skip1062 : $1428           5160
 
            skip1065 : $1432           5170
 
            skip1067 : $143e           5182
 
            skip1069 : $144c           5196
 
            skip1071 : $1459           5209
 
            skip1073 : $1467           5223
 
            skip1075 : $1474           5236
 
            skip1077 : $1482           5250
 
            skip1079 : $148f           5263
 
            skip1081 : $149d           5277
 
            skip1084 : $14a9           5289
 
            skip1088 : $14c7           5319
 
            skip1091 : $14d1           5329
 
            skip1095 : $14ea           5354
 
            skip1098 : $14f4           5364
 
            skip1102 : $150d           5389
 
            skip1105 : $1517           5399
 
            skip1109 : $1530           5424
 
            skip1112 : $153a           5434
 
            skip1116 : $1553           5459
 
            skip1119 : $155d           5469
 
            skip1123 : $1576           5494
 
            skip1126 : $1580           5504
 
            skip1130 : $1599           5529
 
            skip1133 : $15a3           5539
 
            skip1137 : $15bc           5564
 
            skip1140 : $15c6           5574
 
            skip1144 : $15df           5599
 
            skip1147 : $15e9           5609
 
            skip1151 : $1602           5634
 
            skip1154 : $160c           5644
 
            skip1158 : $1625           5669
 
            skip1161 : $162f           5679
 
            skip1165 : $1648           5704
 
            skip1168 : $1652           5714
 
            skip1172 : $166b           5739
 
            skip1175 : $1675           5749
 
            skip1179 : $168e           5774
 
            skip1182 : $1698           5784
 
            skip1186 : $16b1           5809
 
            skip1189 : $16bb           5819
 
            skip1193 : $16d4           5844
 
            skip1196 : $16de           5854
 
            skip1200 : $16ec           5868
 
            skip1203 : $16f6           5878
 
            skip1207 : $1704           5892
 
            skip1210 : $170e           5902
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   11
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1214 : $171c           5916
 
            skip1217 : $1726           5926
 
            skip1221 : $1734           5940
 
            skip1224 : $173e           5950
 
            skip1228 : $174c           5964
 
            skip1231 : $1756           5974
 
            skip1235 : $1764           5988
 
            skip1238 : $176e           5998
 
            skip1242 : $177c           6012
 
            skip1245 : $1786           6022
 
            skip1249 : $1794           6036
 
            skip1252 : $179e           6046
 
            skip1254 : $17aa           6058
 
            skip1256 : $17b8           6072
 
            skip1258 : $17c5           6085
 
            skip1260 : $17d3           6099
 
            skip1262 : $17e0           6112
 
            skip1264 : $17ee           6126
 
            skip1266 : $17fb           6139
 
            skip1268 : $1809           6153
 
            skip1271 : $1815           6165
 
            skip1275 : $1833           6195
 
            skip1278 : $183d           6205
 
            skip1282 : $1859           6233
 
            skip1285 : $1863           6243
 
            skip1289 : $187e           6270
 
            skip1292 : $1888           6280
 
            skip1296 : $18a3           6307
 
            skip1299 : $18ad           6317
 
            skip1301 : $18be           6334
 
            skip1303 : $18cc           6348
 
            skip1306 : $18dc           6364
 
            skip1310 : $18fa           6394
 
            skip1313 : $1904           6404
 
            skip1317 : $1920           6432
 
            skip1320 : $192a           6442
 
            skip1322 : $193d           6461
 
            skip1326 : $195c           6492
 
            skip1329 : $1966           6502
 
            skip1333 : $1981           6529
 
            skip1336 : $198b           6539
 
            skip1338 : $199e           6558
 
            skip1342 : $19bf           6591
 
            skip1345 : $19c9           6601
 
            skip1349 : $19e8           6632
 
            skip1352 : $19f2           6642
 
            skip1354 : $1a07           6663
 
            skip1357 : $1a17           6679
 
            skip1359 : $1a40           6720
 
            skip1361 : $1a4c           6732
 
            skip1363 : $1a71           6769
 
            skip1365 : $1a92           6802
 
            skip1367 : $1ab6           6838
 
            skip1370 : $1ac6           6854
 
            skip1374 : $1ae1           6881
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   12
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1377 : $1aeb           6891
 
            skip1381 : $1b01           6913
 
            skip1384 : $1b0b           6923
 
            skip1388 : $1b21           6945
 
            skip1391 : $1b2b           6955
 
            skip1395 : $1b41           6977
 
            skip1398 : $1b4b           6987
 
            skip1402 : $1b61           7009
 
            skip1405 : $1b6b           7019
 
            skip1409 : $1b81           7041
 
            skip1412 : $1b8b           7051
 
            skip1416 : $1ba1           7073
 
            skip1419 : $1bab           7083
 
            skip1423 : $1bc1           7105
 
            skip1426 : $1bcb           7115
 
            skip1430 : $1be1           7137
 
            skip1433 : $1beb           7147
 
            skip1437 : $1c01           7169
 
            skip1440 : $1c0b           7179
 
            skip1444 : $1c21           7201
 
            skip1447 : $1c2b           7211
 
            skip1451 : $1c41           7233
 
            skip1454 : $1c4b           7243
 
            skip1458 : $1c61           7265
 
            skip1461 : $1c6b           7275
 
            skip1465 : $1c81           7297
 
            skip1468 : $1c8b           7307
 
            skip1472 : $1ca1           7329
 
            skip1475 : $1cab           7339
 
            skip1479 : $1cc1           7361
 
            skip1482 : $1ccb           7371
 
            skip1486 : $1cd9           7385
 
            skip1489 : $1ce3           7395
 
            skip1493 : $1cf1           7409
 
            skip1496 : $1cfb           7419
 
            skip1500 : $1d09           7433
 
            skip1503 : $1d13           7443
 
            skip1507 : $1d21           7457
 
            skip1510 : $1d2b           7467
 
            skip1514 : $1d39           7481
 
            skip1517 : $1d43           7491
 
            skip1521 : $1d51           7505
 
            skip1524 : $1d5b           7515
 
            skip1528 : $1d69           7529
 
            skip1531 : $1d73           7539
 
            skip1535 : $1d81           7553
 
            skip1538 : $1d8b           7563
 
            skip1540 : $1d97           7575
 
            skip1542 : $1da5           7589
 
            skip1544 : $1db2           7602
 
            skip1546 : $1dc0           7616
 
            skip1548 : $1dcd           7629
 
            skip1550 : $1ddb           7643
 
            skip1552 : $1de8           7656
 
            skip1554 : $1df6           7670
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   13
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1557 : $1e02           7682
 
            skip1562 : $1e17           7703
 
            skip1565 : $1e1e           7710
 
            skip1570 : $1e2f           7727
 
            skip1573 : $1e36           7734
 
            skip1578 : $1e47           7751
 
            skip1581 : $1e4e           7758
 
            skip1586 : $1e5f           7775
 
            skip1589 : $1e66           7782
 
            skip1594 : $1e77           7799
 
            skip1597 : $1e7e           7806
 
            skip1602 : $1e8f           7823
 
            skip1605 : $1e96           7830
 
            skip1610 : $1ea7           7847
 
            skip1613 : $1eae           7854
 
            skip1618 : $1ebf           7871
 
            skip1621 : $1ec6           7878
 
            skip1626 : $1ed8           7896
 
            skip1629 : $1edf           7903
 
            skip1634 : $1ef1           7921
 
            skip1637 : $1ef8           7928
 
            skip1642 : $1f0a           7946
 
            skip1645 : $1f11           7953
 
            skip1650 : $1f23           7971
 
            skip1653 : $1f2a           7978
 
            skip1658 : $1f3c           7996
 
            skip1661 : $1f43           8003
 
            skip1666 : $1f55           8021
 
            skip1669 : $1f5c           8028
 
            skip1674 : $1f6e           8046
 
            skip1677 : $1f75           8053
 
            skip1682 : $1f87           8071
 
            skip1685 : $1f8e           8078
 
            skip1688 : $1f98           8088
 
            skip1694 : $1fae           8110
 
            skip1698 : $1fbb           8123
 
            skip1701 : $1fc7           8135
 
            skip1704 : $1fce           8142
 
            skip1710 : $1fe0           8160
 
            skip1714 : $1fed           8173
 
            skip1717 : $1ff9           8185
 
            skip1720 : $2000           8192
 
            skip1726 : $2013           8211
 
            skip1730 : $2021           8225
 
            skip1733 : $202e           8238
 
            skip1736 : $2035           8245
 
            skip1742 : $2048           8264
 
            skip1746 : $2056           8278
 
            skip1749 : $2063           8291
 
            skip1752 : $206a           8298
 
            skip1758 : $207c           8316
 
            skip1762 : $2089           8329
 
            skip1765 : $2095           8341
 
            skip1768 : $209c           8348
 
            skip1774 : $20ae           8366
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   14
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1778 : $20bb           8379
 
            skip1781 : $20c7           8391
 
            skip1784 : $20ce           8398
 
            skip1787 : $20d8           8408
 
            skip1793 : $20ee           8430
 
            skip1797 : $20fb           8443
 
            skip1800 : $2107           8455
 
            skip1803 : $210e           8462
 
            skip1809 : $2120           8480
 
            skip1813 : $212d           8493
 
            skip1816 : $2139           8505
 
            skip1819 : $2140           8512
 
            skip1825 : $2153           8531
 
            skip1829 : $2161           8545
 
            skip1832 : $216e           8558
 
            skip1835 : $2175           8565
 
            skip1841 : $2188           8584
 
            skip1845 : $2196           8598
 
            skip1848 : $21a3           8611
 
            skip1851 : $21aa           8618
 
            skip1857 : $21bc           8636
 
            skip1861 : $21c9           8649
 
            skip1864 : $21d5           8661
 
            skip1867 : $21dc           8668
 
            skip1873 : $21ee           8686
 
            skip1877 : $21fb           8699
 
            skip1880 : $2207           8711
 
            skip1883 : $220e           8718
 
            skip1886 : $2218           8728
 
            skip1891 : $222d           8749
 
            skip1894 : $2234           8756
 
            skip1899 : $2245           8773
 
            skip1902 : $224c           8780
 
            skip1907 : $225d           8797
 
            skip1910 : $2264           8804
 
            skip1915 : $2275           8821
 
            skip1918 : $227c           8828
 
            skip1923 : $228d           8845
 
            skip1926 : $2294           8852
 
            skip1931 : $22a5           8869
 
            skip1934 : $22ac           8876
 
            skip1939 : $22be           8894
 
            skip1942 : $22c5           8901
 
            skip1947 : $22d7           8919
 
            skip1950 : $22de           8926
 
            skip1955 : $22f0           8944
 
            skip1958 : $22f7           8951
 
            skip1963 : $2309           8969
 
            skip1966 : $2310           8976
 
            skip1971 : $2322           8994
 
            skip1974 : $2329           9001
 
            skip1979 : $233b           9019
 
            skip1982 : $2342           9026
 
            skip1987 : $2353           9043
 
            skip1990 : $235a           9050
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   15
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip1995 : $236b           9067
 
            skip1998 : $2372           9074
 
            skip2003 : $2383           9091
 
            skip2006 : $238a           9098
 
            skip2011 : $239b           9115
 
            skip2014 : $23a2           9122
 
            skip2019 : $23b3           9139
 
            skip2022 : $23ba           9146
 
            skip2027 : $23cb           9163
 
            skip2030 : $23d2           9170
 
            skip2035 : $23e5           9189
 
            skip2038 : $23ec           9196
 
            skip2043 : $23fd           9213
 
            skip2046 : $2404           9220
 
            skip2051 : $2415           9237
 
            skip2054 : $241c           9244
 
            skip2059 : $242d           9261
 
            skip2062 : $2434           9268
 
            skip2067 : $2445           9285
 
            skip2070 : $244c           9292
 
            skip2075 : $245d           9309
 
            skip2078 : $2464           9316
 
            skip2083 : $2476           9334
 
            skip2086 : $247d           9341
 
            skip2091 : $248f           9359
 
            skip2094 : $2496           9366
 
            skip2099 : $24a8           9384
 
            skip2102 : $24af           9391
 
            skip2107 : $24c1           9409
 
            skip2110 : $24c8           9416
 
            skip2115 : $24da           9434
 
            skip2118 : $24e1           9441
 
            skip2123 : $24f3           9459
 
            skip2126 : $24fa           9466
 
            skip2131 : $2510           9488
 
            skip2134 : $2517           9495
 
            skip2139 : $2529           9513
 
            skip2142 : $2530           9520
 
            skip2147 : $2542           9538
 
            skip2150 : $2549           9545
 
            skip2155 : $255b           9563
 
            skip2158 : $2562           9570
 
            skip2163 : $2574           9588
 
            skip2166 : $257b           9595
 
            skip2171 : $258d           9613
 
            skip2174 : $2594           9620
 
            skip2179 : $25a5           9637
 
            skip2182 : $25ac           9644
 
            skip2187 : $25bd           9661
 
            skip2190 : $25c4           9668
 
            skip2195 : $25d5           9685
 
            skip2198 : $25dc           9692
 
            skip2203 : $25ed           9709
 
            skip2206 : $25f4           9716
 
            skip2211 : $2605           9733
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   16
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip2214 : $260c           9740
 
            skip2219 : $261d           9757
 
            skip2222 : $2624           9764
 
            skip2227 : $2635           9781
 
            skip2230 : $263c           9788
 
            skip2235 : $264d           9805
 
            skip2238 : $2654           9812
 
            skip2243 : $2665           9829
 
            skip2246 : $266c           9836
 
            skip2251 : $267d           9853
 
            skip2254 : $2684           9860
 
            skip2259 : $2695           9877
 
            skip2262 : $269c           9884
 
            skip2267 : $26ad           9901
 
            skip2270 : $26b4           9908
 
            skip2273 : $26be           9918
 
            skip2278 : $26d4           9940
 
            skip2281 : $26de           9950
 
            skip2286 : $26f2           9970
 
            skip2289 : $26fc           9980
 
            skip2294 : $2710          10000
 
            skip2297 : $271a          10010
 
            skip2302 : $272e          10030
 
            skip2305 : $2738          10040
 
            skip2310 : $274c          10060
 
            skip2313 : $2756          10070
 
            skip2318 : $276a          10090
 
            skip2321 : $2774          10100
 
            skip2326 : $2788          10120
 
            skip2329 : $2792          10130
 
            skip2334 : $27a6          10150
 
            skip2337 : $27b0          10160
 
            skip2342 : $27c4          10180
 
            skip2345 : $27ce          10190
 
            skip2350 : $27e2          10210
 
            skip2353 : $27ec          10220
 
            skip2358 : $2800          10240
 
            skip2361 : $280a          10250
 
            skip2366 : $281e          10270
 
            skip2369 : $2828          10280
 
            skip2372 : $2834          10292
 
            skip2377 : $284f          10319
 
            skip2380 : $2859          10329
 
            skip2385 : $2872          10354
 
            skip2388 : $287c          10364
 
            skip2393 : $2895          10389
 
            skip2396 : $289f          10399
 
            skip2401 : $28b8          10424
 
            skip2404 : $28c2          10434
 
            skip2409 : $28db          10459
 
            skip2412 : $28e5          10469
 
            skip2417 : $28fe          10494
 
            skip2420 : $2908          10504
 
            skip2425 : $2921          10529
 
            skip2428 : $292b          10539
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   17
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip2433 : $2944          10564
 
            skip2436 : $294e          10574
 
            skip2441 : $2967          10599
 
            skip2444 : $2971          10609
 
            skip2449 : $298a          10634
 
            skip2452 : $2994          10644
 
            skip2457 : $29ad          10669
 
            skip2460 : $29b7          10679
 
            skip2465 : $29d0          10704
 
            skip2468 : $29da          10714
 
            skip2471 : $29e6          10726
 
            skip2476 : $2a04          10756
 
            skip2479 : $2a0e          10766
 
            skip2484 : $2a2a          10794
 
            skip2487 : $2a34          10804
 
            skip2492 : $2a50          10832
 
            skip2495 : $2a5a          10842
 
            skip2500 : $2a76          10870
 
            skip2503 : $2a80          10880
 
            skip2508 : $2a9c          10908
 
            skip2511 : $2aa6          10918
 
            skip2516 : $2ac2          10946
 
            skip2519 : $2acc          10956
 
            skip2524 : $2ae8          10984
 
            skip2527 : $2af2          10994
 
            skip2532 : $2b0e          11022
 
            skip2535 : $2b18          11032
 
            skip2540 : $2b34          11060
 
            skip2543 : $2b3e          11070
 
            skip2548 : $2b5a          11098
 
            skip2551 : $2b64          11108
 
            skip2556 : $2b80          11136
 
            skip2559 : $2b8a          11146
 
            skip2564 : $2ba6          11174
 
            skip2567 : $2bb0          11184
 
            skip2570 : $2bbc          11196
 
            skip2575 : $2bd7          11223
 
            skip2578 : $2be1          11233
 
            skip2583 : $2bfa          11258
 
            skip2586 : $2c04          11268
 
            skip2591 : $2c1d          11293
 
            skip2594 : $2c27          11303
 
            skip2599 : $2c40          11328
 
            skip2602 : $2c4a          11338
 
            skip2607 : $2c63          11363
 
            skip2610 : $2c6d          11373
 
            skip2615 : $2c86          11398
 
            skip2618 : $2c90          11408
 
            skip2623 : $2ca9          11433
 
            skip2626 : $2cb3          11443
 
            skip2631 : $2ccc          11468
 
            skip2634 : $2cd6          11478
 
            skip2639 : $2cef          11503
 
            skip2642 : $2cf9          11513
 
            skip2647 : $2d12          11538
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   18
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip2650 : $2d1c          11548
 
            skip2655 : $2d35          11573
 
            skip2658 : $2d3f          11583
 
            skip2663 : $2d58          11608
 
            skip2666 : $2d62          11618
 
            skip2669 : $2d6e          11630
 
            skip2674 : $2d8c          11660
 
            skip2677 : $2d96          11670
 
            skip2682 : $2db2          11698
 
            skip2685 : $2dbc          11708
 
            skip2690 : $2dd8          11736
 
            skip2693 : $2de2          11746
 
            skip2698 : $2dfe          11774
 
            skip2701 : $2e08          11784
 
            skip2706 : $2e24          11812
 
            skip2709 : $2e2e          11822
 
            skip2714 : $2e4a          11850
 
            skip2717 : $2e54          11860
 
            skip2722 : $2e70          11888
 
            skip2725 : $2e7a          11898
 
            skip2730 : $2e96          11926
 
            skip2733 : $2ea0          11936
 
            skip2738 : $2ebc          11964
 
            skip2741 : $2ec6          11974
 
            skip2746 : $2ee2          12002
 
            skip2749 : $2eec          12012
 
            skip2754 : $2f08          12040
 
            skip2757 : $2f12          12050
 
            skip2762 : $2f2e          12078
 
            skip2765 : $2f38          12088
 
            skip2768 : $2f44          12100
 
            skip2773 : $2f5f          12127
 
            skip2776 : $2f69          12137
 
            skip2781 : $2f89          12169
 
            skip2784 : $2f93          12179
 
            skip2789 : $2fb6          12214
 
            skip2792 : $2fc0          12224
 
            skip2797 : $2fe0          12256
 
            skip2800 : $2fea          12266
 
            skip2803 : $3000          12288
 
            skip2808 : $301e          12318
 
            skip2811 : $3028          12328
 
            skip2816 : $304c          12364
 
            skip2819 : $3056          12374
 
            skip2824 : $307d          12413
 
            skip2827 : $3087          12423
 
            skip2832 : $30ab          12459
 
            skip2835 : $30b5          12469
 
            skip2838 : $30cc          12492
 
            skip2843 : $30e7          12519
 
            skip2846 : $30f1          12529
 
            skip2851 : $3113          12563
 
            skip2854 : $311d          12573
 
            skip2859 : $3140          12608
 
            skip2862 : $314a          12618
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   19
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip2867 : $316c          12652
 
            skip2870 : $3176          12662
 
            skip2873 : $318c          12684
 
            skip2878 : $31aa          12714
 
            skip2881 : $31b4          12724
 
            skip2886 : $31da          12762
 
            skip2889 : $31e4          12772
 
            skip2894 : $320b          12811
 
            skip2897 : $3215          12821
 
            skip2902 : $323b          12859
 
            skip2905 : $3245          12869
 
            skip2908 : $325c          12892
 
            skip2913 : $3279          12921
 
            skip2916 : $3283          12931
 
            skip2921 : $329e          12958
 
            skip2924 : $32a8          12968
 
            skip2929 : $32c2          12994
 
            skip2932 : $32cc          13004
 
            skip2937 : $32e6          13030
 
            skip2940 : $32f0          13040
 
            skip2945 : $330c          13068
 
            skip2948 : $3316          13078
 
            skip2953 : $3332          13106
 
            skip2956 : $333c          13116
 
            skip2961 : $3352          13138
 
            skip2964 : $335c          13148
 
            skip2969 : $3372          13170
 
            skip2972 : $337c          13180
 
            skip2977 : $3393          13203
 
            skip2980 : $339d          13213
 
            skip2985 : $33b4          13236
 
            skip2988 : $33be          13246
 
            skip2993 : $33d5          13269
 
            skip2996 : $33df          13279
 
            skip3001 : $33f6          13302
 
            skip3004 : $3400          13312
 
            skip3009 : $3418          13336
 
            skip3012 : $3422          13346
 
            skip3017 : $343c          13372
 
            skip3020 : $3446          13382
 
            skip3025 : $345e          13406
 
            skip3028 : $3468          13416
 
            skip3033 : $347e          13438
 
            skip3036 : $3488          13448
 
            skip3039 : $3494          13460
 
            skip3044 : $34b1          13489
 
            skip3047 : $34bb          13499
 
            skip3052 : $34d6          13526
 
            skip3055 : $34e0          13536
 
            skip3060 : $34fa          13562
 
            skip3063 : $3504          13572
 
            skip3068 : $351e          13598
 
            skip3071 : $3528          13608
 
            skip3076 : $3544          13636
 
            skip3079 : $354e          13646
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   20
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip3084 : $356a          13674
 
            skip3087 : $3574          13684
 
            skip3092 : $358a          13706
 
            skip3095 : $3594          13716
 
            skip3100 : $35aa          13738
 
            skip3103 : $35b4          13748
 
            skip3108 : $35cb          13771
 
            skip3111 : $35d5          13781
 
            skip3116 : $35ec          13804
 
            skip3119 : $35f6          13814
 
            skip3124 : $360d          13837
 
            skip3127 : $3617          13847
 
            skip3132 : $362e          13870
 
            skip3135 : $3638          13880
 
            skip3140 : $3650          13904
 
            skip3143 : $365a          13914
 
            skip3148 : $3674          13940
 
            skip3151 : $367e          13950
 
            skip3156 : $3696          13974
 
            skip3159 : $36a0          13984
 
            skip3164 : $36b6          14006
 
            skip3167 : $36c0          14016
 
            skip3170 : $36cc          14028
 
            skip3175 : $36e9          14057
 
            skip3178 : $36f3          14067
 
            skip3183 : $370e          14094
 
            skip3186 : $3718          14104
 
            skip3191 : $3732          14130
 
            skip3194 : $373c          14140
 
            skip3199 : $3756          14166
 
            skip3202 : $3760          14176
 
            skip3207 : $377c          14204
 
            skip3210 : $3786          14214
 
            skip3215 : $37a2          14242
 
            skip3218 : $37ac          14252
 
            skip3223 : $37c2          14274
 
            skip3226 : $37cc          14284
 
            skip3231 : $37e2          14306
 
            skip3234 : $37ec          14316
 
            skip3239 : $3803          14339
 
            skip3242 : $380d          14349
 
            skip3247 : $3824          14372
 
            skip3250 : $382e          14382
 
            skip3255 : $3845          14405
 
            skip3258 : $384f          14415
 
            skip3263 : $3866          14438
 
            skip3266 : $3870          14448
 
            skip3271 : $3888          14472
 
            skip3274 : $3892          14482
 
            skip3279 : $38ac          14508
 
            skip3282 : $38b6          14518
 
            skip3287 : $38ce          14542
 
            skip3290 : $38d8          14552
 
            skip3295 : $38ee          14574
 
            skip3298 : $38f8          14584
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   21
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip3301 : $390a          14602
 
            skip3304 : $3976          14710
 
            skip3306 : $3a1d          14877
 
            skip3310 : $3a2b          14891
 
            skip3312 : $3a34          14900
 
            skip3314 : $3a41          14913
 
            skip3316 : $3a4a          14922
 
            skip3318 : $3a58          14936
 
            skip3320 : $3a61          14945
 
            skip3322 : $3a6f          14959
 
            skip3324 : $3a78          14968
 
            skip3326 : $3a8a          14986
 
            skip3328 : $3a93          14995
 
            skip3330 : $3aa5          15013
 
            skip3332 : $3aae          15022
 
            skip3334 : $3abb          15035
 
            skip3336 : $3ac4          15044
 
            skip3338 : $3ad1          15057
 
            skip3340 : $3ada          15066
 
            skip3342 : $3ae8          15080
 
            skip3344 : $3af1          15089
 
            skip3346 : $3aff          15103
 
            skip3348 : $3b08          15112
 
            skip3350 : $3b16          15126
 
            skip3352 : $3b1f          15135
 
            skip3354 : $3b2d          15149
 
            skip3356 : $3b36          15158
 
            skip3358 : $3b43          15171
 
            skip3360 : $3b4c          15180
 
            skip3362 : $3b59          15193
 
            skip3364 : $3b62          15202
 
            skip3366 : $3b6f          15215
 
            skip3368 : $3b78          15224
 
            skip3370 : $3b85          15237
 
            skip3372 : $3b8e          15246
 
            skip3374 : $3bb4          15284
 
            skip3376 : $3bbd          15293
 
            skip3378 : $3bca          15306
 
            skip3380 : $3bd3          15315
 
            skip3382 : $3be1          15329
 
            skip3384 : $3bea          15338
 
            skip3386 : $3bf8          15352
 
            skip3388 : $3c01          15361
 
            skip3390 : $3c13          15379
 
            skip3392 : $3c1c          15388
 
            skip3394 : $3c2e          15406
 
            skip3396 : $3c37          15415
 
            skip3398 : $3c44          15428
 
            skip3400 : $3c4d          15437
 
            skip3402 : $3c5a          15450
 
            skip3404 : $3c63          15459
 
            skip3406 : $3c71          15473
 
            skip3408 : $3c7a          15482
 
            skip3410 : $3c88          15496
 
            skip3412 : $3c91          15505
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   22
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
            skip3414 : $3c9f          15519
 
            skip3416 : $3ca8          15528
 
            skip3418 : $3cb6          15542
 
            skip3420 : $3cbf          15551
 
            skip3422 : $3ccc          15564
 
            skip3424 : $3cd5          15573
 
            skip3426 : $3ce2          15586
 
            skip3428 : $3ceb          15595
 
            skip3430 : $3cf8          15608
 
            skip3432 : $3d01          15617
 
            skip3434 : $3d0e          15630
 
            skip3436 : $3d17          15639
 
            skip3438 : $3d24          15652
 
            skip3440 : $3d28          15656
 
            skip3442 : $3d2c          15660
 
            skip3444 : $3d30          15664
 
            skip3446 : $3d36          15670
 
            skip3448 : $3d3c          15676
 
            skip3450 : $3d42          15682
 
            skip3452 : $3d4c          15692
 
            skip3457 : $3d6b          15723
 
            skip3459 : $3d6f          15727
 
            skip3461 : $3d73          15731
 
            skip3463 : $3d77          15735
 
            skip3465 : $3d7d          15741
 
            skip3467 : $3d83          15747
 
            skip3469 : $3d89          15753
 
            skip3471 : $3d93          15763
 
            skip3476 : $3dad          15789
 
            skip3478 : $3db1          15793
 
            skip3480 : $3db5          15797
 
            skip3482 : $3db9          15801
 
            skip3484 : $3dbf          15807
 
            skip3486 : $3dc5          15813
 
            skip3488 : $3dcb          15819
 
            skip3490 : $3dd5          15829
 
            skip3492 : $3dde          15838
 
            skip3494 : $3de7          15847
 
            skip3501 : $3e04          15876
 
            skip3503 : $3e0a          15882
 
            skip3505 : $3e10          15888
 
            skip3508 : $3e1e          15902
 
            skip3510 : $3e25          15909
 
            skip3512 : $3e2c          15916
 
            skip3514 : $3e35          15925
 
            skip3516 : $3e3e          15934
 
       skip_bin_test : $0000              0   *
 
       skip_dec_test : $0000              0   *
         skip_part_1 : $0000              0   *
         skip_part_1 : $0000              0   *
 
           stack_top : $01ff            511   *
               start : $0400           1024
               start : $0400           1024
             success : $32cf          13007
             success : 
                tadd : $31e6          12774
                tadd : $392e          14638
               tadd1 : $31f8          12792
               tadd1 : $3940          14656
                tand : $2be3          11235
                tand : $3263          12899
              tandi1 : $2bf0          11248
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   23
              tandi2 : $2c11          11281
 
               tand1 : $2c04          11268
 
              tand10 : $2d1b          11547
 
              tand11 : $2d38          11576
 
              tand12 : $2d57          11607
 
              tand13 : $2d77          11639
 
              tand14 : $2d95          11669
 
              tand15 : $2db1          11697
 
               tand2 : $2c25          11301
 
               tand3 : $2c45          11333
 
               tand4 : $2c65          11365
 
               tand5 : $2c87          11399
 
               tand6 : $2ca9          11433
 
               tand7 : $2cc5          11461
 
               tand8 : $2ce1          11489
 
               tand9 : $2cfe          11518
 
                tasl : $2187           8583
 
               tasl1 : $21a1           8609
 
               tasl2 : $22cb           8907
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    4
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
               tasl3 : $22ea           8938
              tandi1 : $3270          12912
               tasl4 : $244b           9291
              tandi2 : $3295          12949
               tasl5 : $246d           9325
               tand1 : $3288          12936
               tasl6 : $25ef           9711
              tand10 : $33c3          13251
               tasl7 : $260e           9742
              tand11 : $33e4          13284
               tasl8 : $276f          10095
              tand12 : $3407          13319
               tasl9 : $2791          10129
              tand13 : $342b          13355
                tdad : $324c          12876
              tand14 : $344d          13389
               tdad1 : $325e          12894
              tand15 : $346d          13421
               tdad2 : $326e          12910
               tand2 : $32ad          12973
               tdad3 : $3270          12912
               tand3 : $32d1          13009
               tdad4 : $328a          12938
               tand4 : $32f5          13045
               tdad5 : $328f          12943
               tand5 : $331b          13083
               tdad6 : $32b3          12979
               tand6 : $3341          13121
               tdad7 : $32c7          12999
               tand7 : $3361          13153
                tdec : $293d          10557
               tand8 : $3381          13185
               tdec1 : $2960          10592
               tand9 : $33a2          13218
              tdec10 : $298c          10636
                tasl : $26c5           9925
              tdec11 : $29af          10671
               tasl1 : $26e3           9955
              tdec12 : $2a43          10819
               tasl2 : $283b          10299
              tdec13 : $2a69          10857
               tasl3 : $285e          10334
              tdec14 : $2af2          10994
               tasl4 : $29ed          10733
              tdec15 : $2b17          11031
               tasl5 : $2a13          10771
              tdec16 : $2bac          11180
               tasl6 : $2bc3          11203
              tdec17 : $2bd5          11221
               tasl7 : $2be6          11238
               tdec2 : $29ec          10732
               tasl8 : $2d75          11637
               tdec3 : $2a12          10770
               tasl9 : $2d9b          11675
               tdec4 : $2aa1          10913
                tdad : $3998          14744
               tdec5 : $2ac6          10950
               tdad1 : $39aa          14762
               tdec6 : $2b53          11091
               tdad2 : $39ba          14778
               tdec7 : $2b7c          11132
               tdad3 : $39bc          14780
                teor : $2dd9          11737
               tdad4 : $39d6          14806
              teori1 : $2de6          11750
               tdad5 : $39db          14811
              teori2 : $2e07          11783
               tdad6 : $39ff          14847
               teor1 : $2dfa          11770
               tdad7 : $3a13          14867
              teor10 : $2f11          12049
                tdec : $2f79          12153
              teor11 : $2f2e          12078
               tdec1 : $2fa0          12192
              teor12 : $2f4d          12109
              tdec10 : $2fd0          12240
              teor13 : $2f6d          12141
              tdec11 : $2ff7          12279
              teor14 : $2f8b          12171
              tdec12 : $3099          12441
              teor15 : $2fa7          12199
              tdec13 : $30c3          12483
               teor2 : $2e1b          11803
              tdec14 : $315a          12634
               teor3 : $2e3b          11835
              tdec15 : $3183          12675
               teor4 : $2e5b          11867
              tdec16 : $3226          12838
               teor5 : $2e7d          11901
              tdec17 : $3253          12883
               teor6 : $2e9f          11935
               tdec2 : $303a          12346
               teor7 : $2ebb          11963
               tdec3 : $3064          12388
               teor8 : $2ed7          11991
               tdec4 : $3101          12545
               teor9 : $2ef4          12020
               tdec5 : $312a          12586
            test_bne : $0544           1348
               tdec6 : $31c5          12741
           test_case : $0200            512
               tdec7 : $31f2          12786
            test_far : $354e          13646
                teor : $349b          13467
            test_ind : $3585          13701
              teori1 : $34a8          13480
            test_jsr : $35b8          13752
              teori2 : $34cd          13517
           test_near : $081a           2074
               teor1 : $34c0          13504
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    5
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   24
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
              teor10 : $35fb          13819
 
              teor11 : $361c          13852
 
              teor12 : $363f          13887
 
              teor13 : $3663          13923
 
              teor14 : $3685          13957
 
              teor15 : $36a5          13989
 
               teor2 : $34e5          13541
 
               teor3 : $3509          13577
 
               teor4 : $352d          13613
 
               teor5 : $3553          13651
 
               teor6 : $3579          13689
 
               teor7 : $3599          13721
 
               teor8 : $35b9          13753
 
               teor9 : $35da          13786
 
            test_bne : $055b           1371
 
           test_case : $0200            512
 
            test_far : $3d1b          15643
 
            test_ind : $3d62          15714
 
            test_jsr : $3da4          15780
 
           test_near : $08db           2267
            test_num : $002a             42   *
            test_num : $002a             42   *
                tinc : $2917          10519
                tinc : $2f4f          12111
               tinc1 : $2936          10550
               tinc1 : $2f72          12146
              tinc10 : $2966          10598
              tinc10 : $2fa6          12198
              tinc11 : $2985          10629
              tinc11 : $2fc9          12233
              tinc12 : $2a19          10777
              tinc12 : $306b          12395
              tinc13 : $2a3b          10811
              tinc13 : $3091          12433
              tinc14 : $2aca          10954
              tinc14 : $312e          12590
              tinc15 : $2aeb          10987
              tinc15 : $3153          12627
              tinc16 : $2b80          11136
              tinc16 : $31f6          12790
              tinc17 : $2ba5          11173
              tinc17 : $321f          12831
               tinc2 : $29c2          10690
               tinc2 : $300c          12300
               tinc3 : $29e4          10724
               tinc3 : $3032          12338
               tinc4 : $2a79          10873
               tinc4 : $30d5          12501
               tinc5 : $2a9a          10906
               tinc5 : $30fa          12538
               tinc6 : $2b27          11047
               tinc6 : $3195          12693
               tinc7 : $2b4c          11084
               tinc7 : $31be          12734
               tldax : $14fa           5370
               tldax : $181c           6172
              tldax1 : $151c           5404
              tldax1 : $1842           6210
              tldax2 : $153e           5438
              tldax2 : $1868           6248
              tldax3 : $155f           5471
              tldax3 : $188d           6285
              tldax4 : $165d           5725
              tldax4 : $19a9           6569
              tldax5 : $1682           5762
              tldax5 : $19d2           6610
              tldax6 : $16c6           5830
              tldax6 : $1a1e           6686
              tldax7 : $16d2           5842
              tldax7 : $1a2a           6698
               tlday : $15ab           5547
               tlday : $18e3           6371
              tlday1 : $15cd           5581
              tlday1 : $1909           6409
              tlday2 : $1604           5636
              tlday2 : $1946           6470
              tlday3 : $1625           5669
              tlday3 : $196b           6507
              tlday4 : $16fb           5883
              tlday4 : $1a57           6743
              tlday5 : $171c           5916
              tlday5 : $1a7a           6778
              tlday6 : $173d           5949
              tlday6 : $1a9d           6813
                tldx : $0d16           3350
                tldx : $0f1c           3868
               tldx1 : $0d39           3385
               tldx1 : $0f43           3907
               tldx2 : $0d5c           3420
               tldx2 : $0f6a           3946
               tldx3 : $0d80           3456
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   25
               tldx4 : $0dd1           3537
 
               tldx5 : $0dde           3550
 
                tldy : $0e13           3603
 
               tldy1 : $0e36           3638
 
               tldy2 : $0e59           3673
 
               tldy3 : $0e7c           3708
 
               tldy4 : $0eca           3786
 
               tldy5 : $0ed7           3799
 
                tlsr : $21bb           8635
 
               tlsr1 : $21d5           8661
 
               tlsr2 : $2309           8969
 
               tlsr3 : $2328           9000
 
               tlsr4 : $248f           9359
 
               tlsr5 : $24b1           9393
 
               tlsr6 : $262d           9773
 
               tlsr7 : $264c           9804
 
               tlsr8 : $27b3          10163
 
               tlsr9 : $27d5          10197
 
                tora : $2fcf          12239
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    6
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
              torai1 : $2fdc          12252
               tldx3 : $0f92           3986
              torai2 : $2ffd          12285
               tldx4 : $0fed           4077
               tora1 : $2ff0          12272
               tldx5 : $0ffa           4090
              tora10 : $3107          12551
                tldy : $1035           4149
              tora11 : $3124          12580
               tldy1 : $105c           4188
              tora12 : $3143          12611
               tldy2 : $1083           4227
              tora13 : $3163          12643
               tldy3 : $10aa           4266
              tora14 : $3181          12673
               tldy4 : $1102           4354
              tora15 : $319d          12701
               tldy5 : $110f           4367
               tora2 : $3011          12305
                tlsr : $2701           9985
               tora3 : $3031          12337
               tlsr1 : $271f          10015
               tora4 : $3051          12369
               tlsr2 : $2881          10369
               tora5 : $3073          12403
               tlsr3 : $28a4          10404
               tora6 : $3095          12437
               tlsr4 : $2a39          10809
               tora7 : $30b1          12465
               tlsr5 : $2a5f          10847
               tora8 : $30cd          12493
               tlsr6 : $2c09          11273
               tora9 : $30ea          12522
               tlsr7 : $2c2c          11308
 
               tlsr8 : $2dc1          11713
 
               tlsr9 : $2de7          11751
 
                tora : $36d3          14035
 
              torai1 : $36e0          14048
 
              torai2 : $3705          14085
 
               tora1 : $36f8          14072
 
              tora10 : $3833          14387
 
              tora11 : $3854          14420
 
              tora12 : $3877          14455
 
              tora13 : $389b          14491
 
              tora14 : $38bd          14525
 
              tora15 : $38dd          14557
 
               tora2 : $371d          14109
 
               tora3 : $3741          14145
 
               tora4 : $3765          14181
 
               tora5 : $378b          14219
 
               tora6 : $37b1          14257
 
               tora7 : $37d1          14289
 
               tora8 : $37f1          14321
 
               tora9 : $3812          14354
                trap : 
                trap : 
             trap_cc : 
             trap_cc : 
             trap_cs : 
             trap_cs : 
             trap_eq : 
             trap_eq : 
             trap_mi : 
             trap_mi : 
             trap_ne : 
             trap_ne : 
             trap_pl : 
             trap_pl : 
             trap_vc : 
             trap_vc : 
             trap_vs : 
             trap_vs : 
                trol : $21ef           8687
                trol : $273d          10045
               trolc : $2223           8739
               trolc : $2779          10105
              trolc1 : $223d           8765
              trolc1 : $2797          10135
              trolc2 : $2385           9093
              trolc2 : $290d          10509
              trolc3 : $23a4           9124
              trolc3 : $2930          10544
              trolc4 : $2517           9495
              trolc4 : $2ad1          10961
              trolc5 : $2539           9529
              trolc5 : $2af7          10999
              trolc6 : $26a9           9897
              trolc6 : $2c95          11413
              trolc7 : $26c8           9928
              trolc7 : $2cb8          11448
              trolc8 : $283b          10299
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   26
              trolc9 : $285d          10333
 
               trol1 : $2209           8713
 
               trol2 : $2347           9031
 
               trol3 : $2366           9062
 
               trol4 : $24d3           9427
 
               trol5 : $24f5           9461
 
               trol6 : $266b           9835
 
               trol7 : $268a           9866
 
               trol8 : $27f7          10231
 
               trol9 : $2819          10265
 
                tror : $2257           8791
 
               trorc : $228b           8843
 
              trorc1 : $22a5           8869
 
              trorc2 : $2401           9217
 
              trorc3 : $2420           9248
 
              trorc4 : $259f           9631
 
              trorc5 : $25c1           9665
 
              trorc6 : $2725          10021
 
              trorc7 : $2744          10052
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    7
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
              trorc8 : $28c3          10435
              trolc8 : $2e59          11865
              trorc9 : $28e5          10469
              trolc9 : $2e7f          11903
               tror1 : $2271           8817
               trol1 : $275b          10075
               tror2 : $23c3           9155
               trol2 : $28c7          10439
               tror3 : $23e2           9186
               trol3 : $28ea          10474
               tror4 : $255b           9563
               trol4 : $2a85          10885
               tror5 : $257d           9597
               trol5 : $2aab          10923
               tror6 : $26e7           9959
               trol6 : $2c4f          11343
               tror7 : $2706           9990
               trol7 : $2c72          11378
               tror8 : $287f          10367
               trol8 : $2e0d          11789
               tror9 : $28a1          10401
               trol9 : $2e33          11827
               tstax : $1582           5506
                tror : $27b5          10165
              tstax1 : $16e0           5856
               trorc : $27f1          10225
               tstay : $15f1           5617
              trorc1 : $280f          10255
              tstay1 : $1648           5704
              trorc2 : $2999          10649
              tstay2 : $16a7           5799
              trorc3 : $29bc          10684
              tstay4 : $170b           5899
              trorc4 : $2b69          11113
              tstay5 : $172a           5930
              trorc5 : $2b8f          11151
              tstay6 : $174c           5964
              trorc6 : $2d21          11553
                tstx : $0da6           3494
              trorc7 : $2d44          11588
               tstx1 : $0dec           3564
              trorc8 : $2ef1          12017
                tsty : $0ea1           3745
              trorc9 : $2f17          12055
               tsty1 : $0ee5           3813
               tror1 : $27d3          10195
 
               tror2 : $2953          10579
 
               tror3 : $2976          10614
 
               tror4 : $2b1d          11037
 
               tror5 : $2b43          11075
 
               tror6 : $2cdb          11483
 
               tror7 : $2cfe          11518
 
               tror8 : $2ea5          11941
 
               tror9 : $2ecb          11979
 
               tstax : $18b4           6324
 
              tstax1 : $1a38           6712
 
               tstay : $1931           6449
 
              tstay1 : $1992           6546
 
              tstay2 : $19fb           6651
 
              tstay4 : $1a67           6759
 
              tstay5 : $1a88           6792
 
              tstay6 : $1aac           6828
 
                tstx : $0fbc           4028
 
               tstx1 : $1008           4104
 
                tsty : $10d3           4307
 
               tsty1 : $111d           4381
               tst_a : 
               tst_a : 
             tst_abs : 
             tst_abs : 
            tst_absx : 
            tst_absx : 
              tst_ax : 
              tst_ax : 
              tst_ay : 
              tst_ay : 
            tst_stat : 
            tst_stat : 
               tst_x : 
               tst_x : 
               tst_y : 
               tst_y : 
               tst_z : 
               tst_z : 
              tst_zx : 
              tst_zx : 
 
             vec_bss : $fffa          65530
 
            vec_init : $3ffa          16378
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   27
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                zero : $0002              2
                zero : $0002              2
           zero_page : $000a             10   *
           zero_page : $00b0            176   *
                zpAN : $001c             28
                zpAN : $00c2            194
                zpEO : $0020             32
               zpAN_ : $3e55          15957
                zpOR : $0018             24
                zpEO : $00c6            198
                 zpt : $000c             12
               zpEO_ : $3e59          15961
                 zp1 : $0013             19
                zpOR : $00be            190
                zp7f : $0017             23
               zpOR_ : $3e51          15953
              zp_bss : $0013             19
                 zpt : $00b2            178
          zp_bss_end : $005a             90
                 zp1 : $00b9            185
          __65SC02__ : $0001              1
                zp1_ : $3e4c          15948
 
                zp7f : $00bd            189
 
               zp7f_ : $3e50          15952
 
              zp_bss : $00b9            185
 
          zp_bss_end : $0100            256
 
              zp_end : $3e93          16019
 
             zp_init : $3e4c          15948
 
            __6502__ : $0001              1
 
 
336 labels used
1409 labels used
 
 
5633 lines read, no errors in pass 1.
5937 lines read, no errors in pass 1.
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    8
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   28
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ;
                             ;
                             ; 6 5 0 2   F U N C T I O N A L   T E S T
                             ; 6 5 0 2   F U N C T I O N A L   T E S T
                             ;
                             ;
Line 415... Line 1549...
                             ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             ; GNU General Public License for more details.
                             ; GNU General Public License for more details.
                             ;
                             ;
                             ; You should have received a copy of the GNU General Public License
                             ; You should have received a copy of the GNU General Public License
                             ; along with this program.  If not, see .
                             ; along with this program.  If not, see .
 
                             ;
 
                             ;
                             ; This program is designed to test all opcodes of a 6502 emulator using all
                             ; This program is designed to test all opcodes of a 6502 emulator using all
                             ; addressing modes with focus on propper setting of the processor status
                             ; addressing modes with focus on propper setting of the processor status
                             ; register bits.
                             ; register bits.
                             ;
                             ;
                             ; version 23-jul-2013
                             ; version 23-jul-2013
Line 453... Line 1587...
                             ;   immediately preceeding code for the instruction to be tested. Results are
                             ;   immediately preceeding code for the instruction to be tested. Results are
                             ;   tested first, flags are checked second by pushing them onto the stack and
                             ;   tested first, flags are checked second by pushing them onto the stack and
                             ;   pulling them to the accumulator after the result was checked. The "real"
                             ;   pulling them to the accumulator after the result was checked. The "real"
                             ;   flags are no longer valid for the tested instruction at this time!
                             ;   flags are no longer valid for the tested instruction at this time!
                             ;     If the tested instruction was indexed, the relevant index (X or Y) must
                             ;     If the tested instruction was indexed, the relevant index (X or Y) must
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    9
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   29
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ;   also be checked. Opposed to the flags, X and Y registers are still valid.
                             ;   also be checked. Opposed to the flags, X and Y registers are still valid.
                             ;
                             ;
                             ; versions:
                             ; versions:
Line 469... Line 1603...
                             ;   01-dec-2012  fixed trap in branch field must be a branch
                             ;   01-dec-2012  fixed trap in branch field must be a branch
                             ;   02-mar-2013  fixed PLA flags not tested
                             ;   02-mar-2013  fixed PLA flags not tested
                             ;   19-jul-2013  allowed ROM vectors to be loaded when load_data_direct = 0
                             ;   19-jul-2013  allowed ROM vectors to be loaded when load_data_direct = 0
                             ;                added test sequence check to detect if tests jump their fence
                             ;                added test sequence check to detect if tests jump their fence
                             ;   23-jul-2013  added RAM integrity check
                             ;   23-jul-2013  added RAM integrity check
 
                             ;
 
                             ;   30-Aug-2013  Modified by Michael A. Morris to allow selection of tests
 
                             ;   04-Jan-2014  Modified trap vectors to use sbc2oslite BRK handler for error
 
                             ;                trapping. Enabled success macro, which returns to the monitor.
 
                             ;                Disabled BRK trap test in order to trap out to the monitor.
 
                             ;   30-Jan-2014  Modified success macro to issue brk instruction instead of rts.
 
                             ;   27-Nov-2014  Modified success macro to use stp instruction instead of brk
 
                             ;   07-Dec-2014  Modified success macro to use brk instruction instead of stp
 
                             ;
                             ; C O N F I G U R A T I O N
                             ; C O N F I G U R A T I O N
                             ;
                             ;
                             ;ROM_vectors writable (0=no, 1=yes)
                             ;ROM_vectors writable (0=no, 1=yes)
 
                             ;
                             ;if ROM vectors can not be used interrupts will not be trapped
                             ;if ROM vectors can not be used interrupts will not be trapped
                             ;as a consequence BRK can not be tested but will be emulated to test RTI
                             ;as a consequence BRK can not be tested but will be emulated to test RTI
0001 =                       ROM_vectors = 1
                             ;
 
0000 =                       ROM_vectors = 0
 
                             ;
                             ;load_data_direct (0=move from code segment, 1=load directly)
                             ;load_data_direct (0=move from code segment, 1=load directly)
                             ;loading directly is preferred but may not be supported by your platform
                             ;loading directly is preferred but may not be supported by your platform
                             ;0 produces only consecutive object code, 1 is not suitable for a binary image
                             ;0 produces only consecutive object code, 1 is not suitable for a binary image
0001 =                       load_data_direct = 1
                             ;
 
0000 =                       load_data_direct = 0
 
                             ;
                             ;I_flag behavior (0=force enabled, 1=force disabled, 2=prohibit change, 3=allow
                             ;I_flag behavior (0=force enabled, 1=force disabled, 2=prohibit change, 3=allow
                             ;change) 2 requires extra code and is not recommended. SEI & CLI can only be
                             ;change) 2 requires extra code and is not recommended. SEI & CLI can only be
                             ;tested if you allow changing the interrupt status (I_flag = 3)
                             ;tested if you allow changing the interrupt status (I_flag = 3)
 
                             ;
0003 =                       I_flag = 3
0003 =                       I_flag = 3
 
                             ;
                             ;configure memory - try to stay away from memory used by the system
                             ;configure memory - try to stay away from memory used by the system
                             ;zero_page memory start address, $50 (80) consecutive Bytes required
                             ;zero_page memory start address, $50 (80) consecutive Bytes required
                             ;                                add 2 if I_flag = 2
                             ;                                add 2 if I_flag = 2
000a =                       zero_page = $a
                             ;
 
00b0 =                       zero_page = $B0
 
                             ;
                             ;data_segment memory start address, $5B (91) consecutive Bytes required
                             ;data_segment memory start address, $5B (91) consecutive Bytes required
 
                             ;
0200 =                       data_segment = $200
0200 =                       data_segment = $200
                                 if (data_segment & $ff) != 0
                                 if (data_segment & $ff) != 0
                                     ERROR ERROR ERROR low byte of data_segment MUST be $00 !!
                                     ERROR ERROR ERROR low byte of data_segment MUST be $00 !!
                                 endif
                                 endif
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   30
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                             ;
                             ;code_segment memory start address, 13kB of consecutive space required
                             ;code_segment memory start address, 13kB of consecutive space required
                             ;                                   add 2.5 kB if I_flag = 2
                             ;                                   add 2.5 kB if I_flag = 2
                             ;parts of the code are self modifying and must reside in RAM
                             ;parts of the code are self modifying and must reside in RAM
 
                             ;
0400 =                       code_segment = $400
0400 =                       code_segment = $400
 
                             ;
                             ;RAM integrity test option. Checks for undesired RAM writes.
                             ;RAM integrity test option. Checks for undesired RAM writes.
                             ;set lowest non RAM or RAM mirror address page (-1=disable, 0=64k, $40=16k)
                             ;set lowest non RAM or RAM mirror address page (-1=disable, 0=64k, $40=16k)
                             ;leave disabled if a monitor, OS or background interrupt is allowed to alter RAM
                             ;leave disabled if a monitor, OS or background interrupt is allowed to alter RAM
 
                             ;
ffff =                       ram_top = -1
ffff =                       ram_top = -1
 
                             ;ram_top = $40
 
                             ;
 
                             ;   Define the top of stack location
 
                             ;
 
01ff =                       stack_top = $1FF
                             ;
                             ;
                             ;Skip to ADC/SBC tests
                             ;Skip to ADC/SBC tests
                             ;
                             ;
0000 =                       skip_part_1  = 0
0000 =                       skip_part_1  = 0
                             ;
                             ;
                             ;Skip Binary or Decimal mode ADC/SBC instruction tests
                             ;Skip Binary or Decimal mode ADC/SBC instruction tests
                             ;
                             ;
0001 =                       skip_bin_test = 1
0000 =                       skip_bin_test = 0
0001 =                       skip_dec_test = 1
0000 =                       skip_dec_test = 0
 
                             ;
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   10
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     noopt       ;do not take shortcuts
                                     noopt       ;do not take shortcuts
 
                             ;
                             ;macros for error & success traps to allow user modification
                             ;macros for error & success traps to allow user modification
                             ;example:
                             ;example:
 
                             ;
                             ;trap    macro
                             ;trap    macro
                             ;        jsr my_error_handler
                             ;        jsr my_error_handler
                             ;        endm
                             ;        endm
 
                             ;
                             ;trap_eq macro
                             ;trap_eq macro
                             ;        bne skip\?
                             ;        bne skip\?
                             ;        trap           ;failed equal (zero)
                             ;        trap           ;failed equal (zero)
                             ;skip\?
                             ;skip\?
                             ;        endm
                             ;        endm
                             ;
                             ;
                             ; my_error_handler should pop the calling address from the stack and report it.
                             ; my_error_handler should pop the calling address from the stack and report it.
                             ; putting larger portions of code (more than 3 bytes) inside the trap macro
                             ; putting larger portions of code (more than 3 bytes) inside the trap macro
                             ; may lead to branch range problems for some tests.
                             ; may lead to branch range problems for some tests.
 
 
                             trap    macro
                             trap    macro
                                     jmp *           ;failed anyway
                             ;        db      $db         ; M65C02/M65C02A SToP instruction
 
                                     brk                 ; Use BRK to return to the monitor
 
                                     db      test_num
                                     endm
                                     endm
 
 
                             trap_eq macro
                             trap_eq macro
                                     beq *           ;failed equal (zero)
                                     bne skip\?
 
                                     trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   31
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_ne macro
                             trap_ne macro
                                     bne *           ;failed not equal (non zero)
                                     beq skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_cs macro
                             trap_cs macro
                                     bcs *           ;failed carry set
                                     bcc skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_cc macro
                             trap_cc macro
                                     bcc *           ;failed carry clear
                                     bcs skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_mi macro
                             trap_mi macro
                                     bmi *           ;failed minus (bit 7 set)
                                     bpl skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_pl macro
                             trap_pl macro
                                     bpl *           ;failed plus (bit 7 clear)
                                     bmi skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_vs macro
                             trap_vs macro
                                     bvs *           ;failed overflow set
                                     bvc skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             trap_vc macro
                             trap_vc macro
                                     bvc *           ;failed overflow clear
                                     bvs skip\?
 
                                     trap           ;failed equal (zero)
 
                             skip\?
                                     endm
                                     endm
 
 
                             success macro
                             success macro
                                     jmp *           ;test passed, no errors
                                     brk
 
                                     db      test_num+1
                                     endm
                                     endm
 
 
 
 
0001 =                       carry   equ %00000001   ;flag bits in status
0001 =                       carry   equ %00000001   ;flag bits in status
0002 =                       zero    equ %00000010
0002 =                       zero    equ %00000010
0004 =                       intdis  equ %00000100
0004 =                       intdis  equ %00000100
0008 =                       decmode equ %00001000
0008 =                       decmode equ %00001000
0010 =                       break   equ %00010000
0010 =                       break   equ %00010000
0020 =                       reserv  equ %00100000
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   32
0040 =                       overfl  equ %01000000
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   11
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0020 =                       reserv  equ %00100000
 
0040 =                       overfl  equ %01000000
0080 =                       minus   equ %10000000
0080 =                       minus   equ %10000000
 
 
0001 =                       fc      equ carry
0001 =                       fc      equ carry
0002 =                       fz      equ zero
0002 =                       fz      equ zero
0003 =                       fzc     equ carry+zero
0003 =                       fzc     equ carry+zero
Line 593... Line 1787...
00fb =                       m8i     equ $ff&~intdis     ;8 bit mask - interrupt disable
00fb =                       m8i     equ $ff&~intdis     ;8 bit mask - interrupt disable
 
 
                             ;macros to allow masking of status bits.
                             ;macros to allow masking of status bits.
                             ;masking of interrupt enable/disable on load and compare
                             ;masking of interrupt enable/disable on load and compare
                             ;masking of always on bits after PHP or BRK (unused & break) on compare
                             ;masking of always on bits after PHP or BRK (unused & break) on compare
 
 
                                     if I_flag = 0
                                     if I_flag = 0
 
 
                             load_flag   macro
                             load_flag   macro
                                         lda #\1&m8i         ;force enable interrupts (mask I)
                                         lda #\1&m8i         ;force enable interrupts (mask I)
                                         endm
                                         endm
 
 
                             cmp_flag    macro
                             cmp_flag    macro
                                         cmp #(\1|fao)&m8i   ;I_flag is always enabled + always on bits
                                         cmp #(\1|fao)&m8i   ;I_flag is always enabled + always on bits
                                         endm
                                         endm
 
 
                             eor_flag    macro
                             eor_flag    macro
                                         eor #(\1&m8i|fao)   ;mask I, invert expected flags + always on bits
                                         eor #(\1&m8i|fao)   ;mask I, invert expected flags + always on bits
                                         endm
                                         endm
 
 
                                     endif
                                     endif
 
 
                                     if I_flag = 1
                                     if I_flag = 1
 
 
                             load_flag   macro
                             load_flag   macro
                                         lda #\1|intdis      ;force disable interrupts
                                         lda #\1|intdis      ;force disable interrupts
                                         endm
                                         endm
 
 
                             cmp_flag    macro
                             cmp_flag    macro
                                         cmp #(\1|fai)&m8    ;I_flag is always disabled + always on bits
                                         cmp #(\1|fai)&m8    ;I_flag is always disabled + always on bits
                                         endm
                                         endm
 
 
                             eor_flag    macro
                             eor_flag    macro
                                         eor #(\1|fai)       ;invert expected flags + always on bits + I
                                         eor #(\1|fai)       ;invert expected flags + always on bits + I
                                         endm
                                         endm
 
 
                                     endif
                                     endif
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   33
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     if I_flag = 2
                                     if I_flag = 2
 
 
                             load_flag   macro
                             load_flag   macro
                                         lda #\1
                                         lda #\1
                                         ora flag_I_on       ;restore I-flag
                                         ora flag_I_on       ;restore I-flag
                                         and flag_I_off
                                         and flag_I_off
                                         endm
                                         endm
 
 
                             cmp_flag    macro
                             cmp_flag    macro
                                         eor flag_I_on       ;I_flag is never changed
                                         eor flag_I_on       ;I_flag is never changed
                                         cmp #(\1|fao)&m8i   ;expected flags + always on bits, mask I
                                         cmp #(\1|fao)&m8i   ;expected flags + always on bits, mask I
                                         endm
                                         endm
 
 
                             eor_flag    macro
                             eor_flag    macro
                                         eor flag_I_on       ;I_flag is never changed
                                         eor flag_I_on       ;I_flag is never changed
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   12
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                         eor #(\1&m8i|fao)   ;mask I, invert expected flags + always on bits
                                         eor #(\1&m8i|fao)   ;mask I, invert expected flags + always on bits
                                         endm
                                         endm
 
 
                                     endif
                                     endif
 
 
                                     if I_flag = 3
                                     if I_flag = 3
 
 
                             load_flag   macro
                             load_flag   macro
                                         lda #\1             ;allow test to change I-flag (no mask)
                                         lda #\1             ;allow test to change I-flag (no mask)
                                         endm
                                         endm
 
 
                             cmp_flag    macro
                             cmp_flag    macro
                                         cmp #(\1|fao)&m8    ;expected flags + always on bits
                                         cmp #(\1|fao)&m8    ;expected flags + always on bits
                                         endm
                                         endm
 
 
                             eor_flag    macro
                             eor_flag    macro
                                         eor #\1|fao         ;invert expected flags + always on bits
                                         eor #\1|fao         ;invert expected flags + always on bits
                                         endm
                                         endm
 
 
                                     endif
                                     endif
 
 
                             ;macros to set (register|memory|zeropage) & status
                             ;macros to set (register|memory|zeropage) & status
 
 
                             set_stat    macro       ;setting flags in the processor status register
                             set_stat    macro       ;setting flags in the processor status register
                                         load_flag \1
                                         load_flag \1
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         plp
                                         plp
                                         endm
                                         endm
Line 662... Line 1877...
                                         endm
                                         endm
 
 
                             set_x       macro       ;precharging index & status
                             set_x       macro       ;precharging index & status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   34
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                         ldx #\1     ;precharge index x
                                         ldx #\1     ;precharge index x
                                         plp
                                         plp
                                         endm
                                         endm
 
 
                             set_y       macro       ;precharging index & status
                             set_y       macro       ;precharging index & status
Line 685... Line 1903...
                             set_ay      macro       ;precharging indexed accu & immediate status
                             set_ay      macro       ;precharging indexed accu & immediate status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         lda \1,y    ;precharge accu
                                         lda \1,y    ;precharge accu
                                         plp
                                         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   13
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                         endm
                                         endm
 
 
                             set_z       macro       ;precharging indexed zp & immediate status
                             set_z       macro       ;precharging indexed zp & immediate status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
Line 720... Line 1935...
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         lda \1,x    ;load to indexed memory
                                         lda \1,x    ;load to indexed memory
                                         sta abst,x
                                         sta abst,x
                                         plp
                                         plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   35
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                         endm
                                         endm
 
 
                             ;macros to test (register|memory|zeropage) & status & (mask)
                             ;macros to test (register|memory|zeropage) & status & (mask)
 
 
                             tst_stat    macro       ;testing flags in the processor status register
                             tst_stat    macro       ;testing flags in the processor status register
                                         php         ;save status
                                         php         ;save status
                                         php         ;use stack to retrieve status
                                         php         ;use stack to retrieve status
                                         pla
                                         pla
                                         cmp_flag \1
                                         cmp_flag \1
Line 743... Line 1962...
                                         cmp_flag \2
                                         cmp_flag \2
                                         trap_ne
                                         trap_ne
                                         plp         ;restore status
                                         plp         ;restore status
                                         endm
                                         endm
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   14
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                             tst_x       macro       ;testing result in x index & flags
                             tst_x       macro       ;testing result in x index & flags
                                         php         ;save flags
                                         php         ;save flags
                                         php
                                         php
                                         cpx #\1     ;test result
                                         cpx #\1     ;test result
                                         trap_ne
                                         trap_ne
Line 777... Line 1993...
                                         pla         ;load status
                                         pla         ;load status
                                         eor_flag \3
                                         eor_flag \3
                                         cmp \2,x    ;test flags
                                         cmp \2,x    ;test flags
                                         trap_ne     ;
                                         trap_ne     ;
                                         endm
                                         endm
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   36
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                             tst_ay      macro       ;indexed testing result in accu & flags
                             tst_ay      macro       ;indexed testing result in accu & flags
                                         php         ;save flags
                                         php         ;save flags
                                         cmp \1,y    ;test result
                                         cmp \1,y    ;test result
                                         trap_ne     ;
                                         trap_ne     ;
Line 801... Line 2020...
                                         trap_ne
                                         trap_ne
                                         endm
                                         endm
 
 
                             tst_zx      macro       ;testing result in zp,x & flags
                             tst_zx      macro       ;testing result in zp,x & flags
                                         php         ;save flags
                                         php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   15
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                         lda zpt,x
                                         lda zpt,x
                                         cmp \1,x    ;test result
                                         cmp \1,x    ;test result
                                         trap_ne
                                         trap_ne
                                         pla         ;load status
                                         pla         ;load status
                                         eor_flag \3
                                         eor_flag \3
Line 835... Line 2051...
                                         eor_flag \3
                                         eor_flag \3
                                         cmp \2,x    ;test flags
                                         cmp \2,x    ;test flags
                                         trap_ne
                                         trap_ne
                                         endm
                                         endm
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   37
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ; RAM integrity test
                             ; RAM integrity test
                             ;   verifies that none of the previous tests has altered RAM outside of the
                             ;   verifies that none of the previous tests has altered RAM outside of the
                             ;   designated write areas.
                             ;   designated write areas.
                             ;   uses zpt word as indirect pointer, zpt+2 word as checksum
                             ;   uses zpt word as indirect pointer, zpt+2 word as checksum
 
 
                                     if ram_top > -1
                                     if ram_top > -1
 
 
                             check_ram   macro
                             check_ram   macro
                                         cld
                                         cld
                                         lda #0
                                         lda #0
                                         sta zpt         ;set low byte of indirect pointer
                                         sta zpt         ;set low byte of indirect pointer
                                         sta zpt+3       ;checksum high byte
                                         sta zpt+3       ;checksum high byte
Line 859... Line 2080...
                                         sta chkadi
                                         sta chkadi
                                         sta chksbi
                                         sta chksbi
                                         clc
                                         clc
                                         ldx #zp_bss-zero_page ;zeropage - write test area
                                         ldx #zp_bss-zero_page ;zeropage - write test area
                             ccs3\?      adc zero_page,x
                             ccs3\?      adc zero_page,x
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   16
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                         bcc ccs2\?
                                         bcc ccs2\?
                                         inc zpt+3       ;carry to high byte
                                         inc zpt+3       ;carry to high byte
                                         clc
                                         clc
                             ccs2\?      inx
                             ccs2\?      inx
                                         bne ccs3\?
                                         bne ccs3\?
Line 887... Line 2105...
                                         trap_ne         ;checksum mismatch
                                         trap_ne         ;checksum mismatch
                                         lda zpt+3       ;checksum high is
                                         lda zpt+3       ;checksum high is
                                         cmp ram_chksm+1 ;checksum high expected
                                         cmp ram_chksm+1 ;checksum high expected
                                         trap_ne         ;checksum mismatch
                                         trap_ne         ;checksum mismatch
                                         endm
                                         endm
 
 
                                     else
                                     else
 
 
                             check_ram   macro
                             check_ram   macro
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   38
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                         ;RAM check disabled - RAM size not set
                                         ;RAM check disabled - RAM size not set
                                         endm
                                         endm
 
 
                                     endif
                                     endif
 
 
                             next_test   macro           ;make sure, tests don't jump the fence
                             next_test   macro           ;make sure, tests don't jump the fence
                                         lda test_case   ;previous test
                                         lda test_case   ;previous test
                                         cmp #test_num
                                         cmp #test_num
Line 904... Line 2128...
                                         sta test_case
                                         sta test_case
                                         ;check_ram       ;uncomment to find altered RAM after each test
                                         ;check_ram       ;uncomment to find altered RAM after each test
                                         endm
                                         endm
 
 
                                 if load_data_direct = 1
                                 if load_data_direct = 1
 
 
                                     data
                                     data
 
 
                                 else
                                 else
                                     bss                 ;uninitialized segment, copy of data at end of code!
 
                                 endif
                             ;        bss                 ;uninitialized segment, copy of data at end of code!
                             ;
                                     code
                             ;        org zero_page
 
0000 =                               org 0
0000 =                               org 0
0000 : 00000000000000..              ds  zero_page
0000 : 00000000000000..              ds  zero_page
 
 
 
                                 endif
 
                             ;
 
00b0 =                               org zero_page
 
                             ;
 
                             ;        org 0
 
                             ;        ds  zero_page
 
                             ;
                             ;break test interrupt save
                             ;break test interrupt save
000a : 00                    irq_a   ds  1               ;a register
                             ;
000b : 00                    irq_x   ds  1               ;x register
 
 
00b0 : 00                    irq_a   ds  1               ;a register
 
00b1 : 00                    irq_x   ds  1               ;x register
 
 
                                 if I_flag = 2
                                 if I_flag = 2
 
 
                             ;masking for I bit in status
                             ;masking for I bit in status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   17
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                             flag_I_on   ds  1           ;or mask to load flags
                             flag_I_on   ds  1           ;or mask to load flags
                             flag_I_off  ds  1           ;and mask to load flags
                             flag_I_off  ds  1           ;and mask to load flags
 
 
                                 endif
                                 endif
000c :                       zpt                         ;5 bytes store/modify test area
 
 
00b2 :                       zpt                         ;5 bytes store/modify test area
 
 
                             ;add/subtract operand generation and result/flag prediction
                             ;add/subtract operand generation and result/flag prediction
000c : 00                    adfc    ds  1               ;carry flag before op
 
000d : 00                    ad1     ds  1               ;operand 1 - accumulator
00b2 : 00                    adfc    ds  1               ;carry flag before op
000e : 00                    ad2     ds  1               ;operand 2 - memory / immediate
00b3 : 00                    ad1     ds  1               ;operand 1 - accumulator
000f : 00                    adrl    ds  1               ;expected result bits 0-7
00b4 : 00                    ad2     ds  1               ;operand 2 - memory / immediate
0010 : 00                    adrh    ds  1               ;expected result bit 8 (carry)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   39
0011 : 00                    adrf    ds  1               ;expected flags NV0000ZC (-V in decimal mode)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0012 : 00                    sb2     ds  1               ;operand 2 complemented for subtract
 
0013 :                       zp_bss
00b5 : 00                    adrl    ds  1               ;expected result bits 0-7
0013 : c3824100              zp1     db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
00b6 : 00                    adrh    ds  1               ;expected result bit 8 (carry)
0017 : 7f                    zp7f    db  $7f             ;test pattern for compare
00b7 : 00                    adrf    ds  1               ;expected flags NV0000ZC (-V in decimal mode)
 
00b8 : 00                    sb2     ds  1               ;operand 2 complemented for subtract
 
 
 
00b9 :                       zp_bss
 
 
 
00b9 : c3824100              zp1     db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
 
00bd : 7f                    zp7f    db  $7f             ;test pattern for compare
 
 
                             ;logical zeropage operands
                             ;logical zeropage operands
0018 : 001f7180              zpOR    db  0,$1f,$71,$80   ;test pattern for OR
 
001c : 0fff7f80              zpAN    db  $0f,$ff,$7f,$80 ;test pattern for AND
00be : 001f7180              zpOR    db  0,$1f,$71,$80   ;test pattern for OR
0020 : ff0f8f8f              zpEO    db  $ff,$0f,$8f,$8f ;test pattern for EOR
00c2 : 0fff7f80              zpAN    db  $0f,$ff,$7f,$80 ;test pattern for AND
 
00c6 : ff0f8f8f              zpEO    db  $ff,$0f,$8f,$8f ;test pattern for EOR
 
 
                             ;indirect addressing pointers
                             ;indirect addressing pointers
0024 : 0802                  ind1    dw  abs1            ;indirect pointer to pattern in absolute memory
 
0026 : 0902                          dw  abs1+1
00ca : 0802                  ind1    dw  abs1            ;indirect pointer to pattern in absolute memory
0028 : 0a02                          dw  abs1+2
00cc : 0902                          dw  abs1+1
002a : 0b02                          dw  abs1+3
00ce : 0a02                          dw  abs1+2
002c : 0c02                          dw  abs7f
00d0 : 0b02                          dw  abs1+3
002e : 1001                  inw1    dw  abs1-$f8        ;indirect pointer for wrap-test pattern
00d2 : 0c02                          dw  abs7f
0030 : 0302                  indt    dw  abst            ;indirect pointer to store area in absolute memory
00d4 : 1001                  inw1    dw  abs1-$f8        ;indirect pointer for wrap-test pattern
0032 : 0402                          dw  abst+1
00d6 : 0302                  indt    dw  abst            ;indirect pointer to store area in absolute memory
0034 : 0502                          dw  abst+2
00d8 : 0402                          dw  abst+1
0036 : 0602                          dw  abst+3
00da : 0502                          dw  abst+2
0038 : 0b01                  inwt    dw  abst-$f8        ;indirect pointer for wrap-test store
00dc : 0602                          dw  abst+3
003a : 3f02                  indAN   dw  absAN           ;indirect pointer to AND pattern in absolute memory
00de : 0b01                  inwt    dw  abst-$f8        ;indirect pointer for wrap-test store
003c : 4002                          dw  absAN+1
00e0 : 3f02                  indAN   dw  absAN           ;indirect pointer to AND pattern in absolute memory
003e : 4102                          dw  absAN+2
00e2 : 4002                          dw  absAN+1
0040 : 4202                          dw  absAN+3
00e4 : 4102                          dw  absAN+2
0042 : 4302                  indEO   dw  absEO           ;indirect pointer to EOR pattern in absolute memory
00e6 : 4202                          dw  absAN+3
0044 : 4402                          dw  absEO+1
00e8 : 4302                  indEO   dw  absEO           ;indirect pointer to EOR pattern in absolute memory
0046 : 4502                          dw  absEO+2
00ea : 4402                          dw  absEO+1
0048 : 4602                          dw  absEO+3
00ec : 4502                          dw  absEO+2
004a : 3b02                  indOR   dw  absOR           ;indirect pointer to OR pattern in absolute memory
00ee : 4602                          dw  absEO+3
004c : 3c02                          dw  absOR+1
00f0 : 3b02                  indOR   dw  absOR           ;indirect pointer to OR pattern in absolute memory
004e : 3d02                          dw  absOR+2
00f2 : 3c02                          dw  absOR+1
0050 : 3e02                          dw  absOR+3
00f4 : 3d02                          dw  absOR+2
 
00f6 : 3e02                          dw  absOR+3
 
 
                             ;add/subtract indirect pointers
                             ;add/subtract indirect pointers
0052 : 0302                  adi2    dw  ada2            ;indirect pointer to operand 2 in absolute memory
 
0054 : 0402                  sbi2    dw  sba2            ;indirect pointer to complemented operand 2 (SBC)
00f8 : 0302                  adi2    dw  ada2            ;indirect pointer to operand 2 in absolute memory
0056 : 0401                  adiy2   dw  ada2-$ff        ;with offset for indirect indexed
00fa : 0402                  sbi2    dw  sba2            ;indirect pointer to complemented operand 2 (SBC)
0058 : 0501                  sbiy2   dw  sba2-$ff
00fc : 0401                  adiy2   dw  ada2-$ff        ;with offset for indirect indexed
005a :                       zp_bss_end
00fe : 0501                  sbiy2   dw  sba2-$ff
 
 
 
0100 :                       zp_bss_end
 
 
0200 =                               org data_segment
0200 =                               org data_segment
 
 
0200 : 00                    test_case   ds  1           ;current test number
0200 : 00                    test_case   ds  1           ;current test number
0201 : 0000                  ram_chksm   ds  2           ;checksum for RAM integrity test
0201 : 0000                  ram_chksm   ds  2           ;checksum for RAM integrity test
                             ;add/subtract operand copy - abs tests write area
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   40
0203 :                       abst                        ;5 bytes store/modify test area
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   18
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
                             ;add/subtract operand copy - abs tests write area
 
 
 
0203 :                       abst                        ;5 bytes store/modify test area
0203 : 00                    ada2    ds  1               ;operand 2
0203 : 00                    ada2    ds  1               ;operand 2
0204 : 00                    sba2    ds  1               ;operand 2 complemented for subtract
0204 : 00                    sba2    ds  1               ;operand 2 complemented for subtract
0205 : 000000                        ds  3               ;fill remaining bytes
0205 : 000000                        ds  3               ;fill remaining bytes
 
 
0208 :                       data_bss
0208 :                       data_bss
 
 
0208 : c3824100              abs1    db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
0208 : c3824100              abs1    db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
020c : 7f                    abs7f   db  $7f             ;test pattern for compare
020c : 7f                    abs7f   db  $7f             ;test pattern for compare
 
 
                             ;loads
                             ;loads
 
 
020d : 80800002              fLDx    db  fn,fn,0,fz      ;expected flags for load
020d : 80800002              fLDx    db  fn,fn,0,fz      ;expected flags for load
 
 
                             ;shifts
                             ;shifts
 
 
0211 :                       rASL                        ;expected result ASL & ROL -carry
0211 :                       rASL                        ;expected result ASL & ROL -carry
0211 : 86048200              rROL    db  $86,$04,$82,0   ; "
0211 : 86048200              rROL    db  $86,$04,$82,0   ; "
0215 : 87058301              rROLc   db  $87,$05,$83,1   ;expected result ROL +carry
0215 : 87058301              rROLc   db  $87,$05,$83,1   ;expected result ROL +carry
0219 :                       rLSR                        ;expected result LSR & ROR -carry
0219 :                       rLSR                        ;expected result LSR & ROR -carry
0219 : 61412000              rROR    db  $61,$41,$20,0   ; "
0219 : 61412000              rROR    db  $61,$41,$20,0   ; "
Line 999... Line 2259...
0221 : 81018002              fROL    db  fnc,fc,fn,fz    ;no carry in
0221 : 81018002              fROL    db  fnc,fc,fn,fz    ;no carry in
0225 : 81018000              fROLc   db  fnc,fc,fn,0     ;carry in
0225 : 81018000              fROLc   db  fnc,fc,fn,0     ;carry in
0229 :                       fLSR
0229 :                       fLSR
0229 : 01000102              fROR    db  fc,0,fc,fz      ;no carry in
0229 : 01000102              fROR    db  fc,0,fc,fz      ;no carry in
022d : 81808180              fRORc   db  fnc,fn,fnc,fn   ;carry in
022d : 81808180              fRORc   db  fnc,fn,fnc,fn   ;carry in
 
 
                             ;increments (decrements)
                             ;increments (decrements)
 
 
0231 : 7f80ff0001            rINC    db  $7f,$80,$ff,0,1 ;expected result for INC/DEC
0231 : 7f80ff0001            rINC    db  $7f,$80,$ff,0,1 ;expected result for INC/DEC
0236 : 0080800200            fINC    db  0,fn,fn,fz,0    ;expected flags for INC/DEC
0236 : 0080800200            fINC    db  0,fn,fn,fz,0    ;expected flags for INC/DEC
 
 
                             ;logical memory operand
                             ;logical memory operand
 
 
023b : 001f7180              absOR   db  0,$1f,$71,$80   ;test pattern for OR
023b : 001f7180              absOR   db  0,$1f,$71,$80   ;test pattern for OR
023f : 0fff7f80              absAN   db  $0f,$ff,$7f,$80 ;test pattern for AND
023f : 0fff7f80              absAN   db  $0f,$ff,$7f,$80 ;test pattern for AND
0243 : ff0f8f8f              absEO   db  $ff,$0f,$8f,$8f ;test pattern for EOR
0243 : ff0f8f8f              absEO   db  $ff,$0f,$8f,$8f ;test pattern for EOR
 
 
                             ;logical accu operand
                             ;logical accu operand
 
 
0247 : 00f11f00              absORa  db  0,$f1,$1f,0     ;test pattern for OR
0247 : 00f11f00              absORa  db  0,$f1,$1f,0     ;test pattern for OR
024b : f0ffffff              absANa  db  $f0,$ff,$ff,$ff ;test pattern for AND
024b : f0ffffff              absANa  db  $f0,$ff,$ff,$ff ;test pattern for AND
024f : fff0f00f              absEOa  db  $ff,$f0,$f0,$0f ;test pattern for EOR
024f : fff0f00f              absEOa  db  $ff,$f0,$f0,$0f ;test pattern for EOR
 
 
                             ;logical results
                             ;logical results
 
 
0253 : 00ff7f80              absrlo  db  0,$ff,$7f,$80
0253 : 00ff7f80              absrlo  db  0,$ff,$7f,$80
0257 : 02800080              absflo  db  fz,fn,0,fn
0257 : 02800080              absflo  db  fz,fn,0,fn
 
 
025b :                       data_bss_end
025b :                       data_bss_end
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   41
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     code
                                     code
0400 =                               org code_segment
0400 =                               org code_segment
 
 
0400 : d8               [ 2] start   cld
0400 : d8               [ 2] start   cld
0401 : a900             [ 2]         lda #0          ;*** test 0 = initialize
0401 : a900             [ 2]         lda #0          ;*** test 0 = initialize
0403 : 8d0002           [ 4]         sta test_case
0403 : 8d0002           [ 4]         sta test_case
0000 =                       test_num = 0
0000 =                       test_num = 0
 
 
                             ;stop interrupts before initializing BSS
                             ;stop interrupts before initializing BSS
 
 
                                 if I_flag = 1
                                 if I_flag = 1
                                     sei
                                     sei
                                 endif
                                 endif
 
 
                             ;initialize BSS segment
                             ;initialize BSS segment
 
 
                                 if load_data_direct != 1
                                 if load_data_direct != 1
                                     ldx #zp_end-zp_init-1
 
                             ld_zp   lda zp_init,x
 
                                     sta zp_bss,x
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   19
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     dex
0406 : a246             [ 2]         ldx #zp_end-zp_init-1
                                     bpl ld_zp
0408 : bd4c3e           [ 4] ld_zp   lda zp_init,x
                                     ldx #data_end-data_init-1
040b : 95b9             [ 4]         sta zp_bss,x
                             ld_data lda data_init,x
040d : ca               [ 2]         dex
                                     sta data_bss,x
040e : 10f8             [ 3]         bpl ld_zp
                                     dex
0410 : a252             [ 2]         ldx #data_end-data_init-1
                                     bpl ld_data
0412 : bd933e           [ 4] ld_data lda data_init,x
 
0415 : 9d0802           [ 5]         sta data_bss,x
 
0418 : ca               [ 2]         dex
 
0419 : 10f7             [ 3]         bpl ld_data
 
 
                                   if ROM_vectors = 1
                                   if ROM_vectors = 1
 
 
                                     ldx #5
                                     ldx #5
                             ld_vect lda vec_init,x
                             ld_vect lda vec_init,x
                                     sta vec_bss,x
                                     sta vec_bss,x
                                     dex
                                     dex
                                     bpl ld_vect
                                     bpl ld_vect
 
 
                                   endif
                                   endif
 
 
                                 endif
                                 endif
 
 
                             ;retain status of interrupt flag
                             ;retain status of interrupt flag
 
 
                                 if I_flag = 2
                                 if I_flag = 2
 
 
                                     php
                                     php
                                     pla
                                     pla
                                     and #4          ;isolate flag
                                     and #4          ;isolate flag
                                     sta flag_I_on   ;or mask
                                     sta flag_I_on   ;or mask
                                     eor #lo(~4)     ;reverse
                                     eor #lo(~4)     ;reverse
                                     sta flag_I_off  ;and mask
                                     sta flag_I_off  ;and mask
 
 
                                 endif
                                 endif
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   42
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ;generate checksum for RAM integrity test
                             ;generate checksum for RAM integrity test
 
 
                                 if ram_top > -1
                                 if ram_top > -1
 
 
                                     lda #0
                                     lda #0
                                     sta zpt         ;set low byte of indirect pointer
                                     sta zpt         ;set low byte of indirect pointer
                                     sta ram_chksm+1 ;checksum high byte
                                     sta ram_chksm+1 ;checksum high byte
                                     sta range_adr   ;reset self modifying code
                                     sta range_adr   ;reset self modifying code
                                     sta tandi1
                                     sta tandi1
Line 1091... Line 2375...
                                     ldx #hi(data_segment) ;set high byte of indirect pointer
                                     ldx #hi(data_segment) ;set high byte of indirect pointer
                                     stx zpt+1
                                     stx zpt+1
                                     ldy #lo(data_bss) ;data after write test area
                                     ldy #lo(data_bss) ;data after write test area
                             gcs5    adc (zpt),y
                             gcs5    adc (zpt),y
                                     bcc gcs4
                                     bcc gcs4
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   20
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     inc ram_chksm+1 ;carry to high byte
                                     inc ram_chksm+1 ;carry to high byte
                                     clc
                                     clc
                             gcs4    iny
                             gcs4    iny
                                     bne gcs5
                                     bne gcs5
                                     inx             ;advance RAM high address
                                     inx             ;advance RAM high address
                                     stx zpt+1
                                     stx zpt+1
                                     cpx #ram_top
                                     cpx #ram_top
                                     bne gcs5
                                     bne gcs5
                                     sta ram_chksm   ;checksum complete
                                     sta ram_chksm   ;checksum complete
 
 
                                 endif
                                 endif
 
 
                                 if skip_part_1 = 1
                                 if skip_part_1 = 1
 
 
                                     jmp  bin_test
                                     jmp  bin_test
 
 
                                 endif
                                 endif
 
 
                                     next_test
                                     next_test
0406 : ad0002           [ 4]>            lda test_case   ;previous test
041b : ad0002           [ 4]>            lda test_case   ;previous test
0409 : c900             [ 2]>            cmp #test_num
041e : c900             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
040b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0420 : f002             [ 3]>        beq skip0002
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   43
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0422 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0423 : 00                   >        db      test_num
 
                            >
 
0424 :                      >skip0002
                            >
                            >
0001 =                      >test_num = test_num + 1
0001 =                      >test_num = test_num + 1
040d : a901             [ 2]>            lda #test_num   ;*** this tests' number
0424 : a901             [ 2]>            lda #test_num   ;*** this tests' number
040f : 8d0002           [ 4]>            sta test_case
0426 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ;testing relative addressing with BEQ
                             ;testing relative addressing with BEQ
0412 : a0fe             [ 2]         ldy #$fe        ;testing maximum range, not -1/-2 (invalid/self adr)
 
0414 :                       range_loop
0429 : a0fe             [ 2]         ldy #$fe        ;testing maximum range, not -1/-2 (invalid/self adr)
0414 : 88               [ 2]         dey             ;next relative address
042b :                       range_loop
0415 : 98               [ 2]         tya
042b : 88               [ 2]         dey             ;next relative address
0416 : aa               [ 2]         tax             ;precharge count to end of loop
042c : 98               [ 2]         tya
0417 : 1003             [ 3]         bpl range_fw    ;calculate relative address
042d : aa               [ 2]         tax             ;precharge count to end of loop
0419 : 18               [ 2]         clc             ;avoid branch self or to relative address of branch
042e : 1003             [ 3]         bpl range_fw    ;calculate relative address
041a : 6902             [ 2]         adc #2
0430 : 18               [ 2]         clc             ;avoid branch self or to relative address of branch
041c :                       range_fw
0431 : 6902             [ 2]         adc #2
041c : 497f             [ 2]         eor #$7f        ;complement except sign
0433 :                       range_fw
041e : 8da504           [ 4]         sta range_adr   ;load into test target
0433 : 497f             [ 2]         eor #$7f        ;complement except sign
0421 : a900             [ 2]         lda #0          ;should set zero flag in status register
0435 : 8dbc04           [ 4]         sta range_adr   ;load into test target
0423 : 4ca404           [ 3]         jmp range_op
0438 : a900             [ 2]         lda #0          ;should set zero flag in status register
 
043a : 4cbb04           [ 3]         jmp range_op
 
 
                                     ;relative address target field with branch under test in the middle
                                     ;relative address target field with branch under test in the middle
0426 : ca               [ 2]         dex             ;-128 - max backward
 
0427 : ca               [ 2]         dex
 
0428 : ca               [ 2]         dex
 
0429 : ca               [ 2]         dex
 
042a : ca               [ 2]         dex
 
042b : ca               [ 2]         dex
 
042c : ca               [ 2]         dex
 
042d : ca               [ 2]         dex
 
042e : ca               [ 2]         dex             ;-120
 
042f : ca               [ 2]         dex
 
0430 : ca               [ 2]         dex
 
0431 : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   21
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0432 : ca               [ 2]         dex
043d : ca               [ 2]         dex             ;-128 - max backward
0433 : ca               [ 2]         dex
 
0434 : ca               [ 2]         dex
 
0435 : ca               [ 2]         dex
 
0436 : ca               [ 2]         dex
 
0437 : ca               [ 2]         dex
 
0438 : ca               [ 2]         dex             ;-110
 
0439 : ca               [ 2]         dex
 
043a : ca               [ 2]         dex
 
043b : ca               [ 2]         dex
 
043c : ca               [ 2]         dex
 
043d : ca               [ 2]         dex
 
043e : ca               [ 2]         dex
043e : ca               [ 2]         dex
043f : ca               [ 2]         dex
043f : ca               [ 2]         dex
0440 : ca               [ 2]         dex
0440 : ca               [ 2]         dex
0441 : ca               [ 2]         dex
0441 : ca               [ 2]         dex
0442 : ca               [ 2]         dex             ;-100
0442 : ca               [ 2]         dex
0443 : ca               [ 2]         dex
0443 : ca               [ 2]         dex
0444 : ca               [ 2]         dex
0444 : ca               [ 2]         dex
0445 : ca               [ 2]         dex
0445 : ca               [ 2]         dex             ;-120
0446 : ca               [ 2]         dex
0446 : ca               [ 2]         dex
0447 : ca               [ 2]         dex
0447 : ca               [ 2]         dex
0448 : ca               [ 2]         dex
0448 : ca               [ 2]         dex
0449 : ca               [ 2]         dex
0449 : ca               [ 2]         dex
044a : ca               [ 2]         dex
044a : ca               [ 2]         dex
044b : ca               [ 2]         dex
044b : ca               [ 2]         dex
044c : ca               [ 2]         dex             ;-90
044c : ca               [ 2]         dex
044d : ca               [ 2]         dex
044d : ca               [ 2]         dex
044e : ca               [ 2]         dex
044e : ca               [ 2]         dex
044f : ca               [ 2]         dex
044f : ca               [ 2]         dex             ;-110
0450 : ca               [ 2]         dex
0450 : ca               [ 2]         dex
0451 : ca               [ 2]         dex
0451 : ca               [ 2]         dex
0452 : ca               [ 2]         dex
0452 : ca               [ 2]         dex
0453 : ca               [ 2]         dex
0453 : ca               [ 2]         dex
0454 : ca               [ 2]         dex
0454 : ca               [ 2]         dex
0455 : ca               [ 2]         dex
0455 : ca               [ 2]         dex
0456 : ca               [ 2]         dex             ;-80
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   44
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0456 : ca               [ 2]         dex
0457 : ca               [ 2]         dex
0457 : ca               [ 2]         dex
0458 : ca               [ 2]         dex
0458 : ca               [ 2]         dex
0459 : ca               [ 2]         dex
0459 : ca               [ 2]         dex             ;-100
045a : ca               [ 2]         dex
045a : ca               [ 2]         dex
045b : ca               [ 2]         dex
045b : ca               [ 2]         dex
045c : ca               [ 2]         dex
045c : ca               [ 2]         dex
045d : ca               [ 2]         dex
045d : ca               [ 2]         dex
045e : ca               [ 2]         dex
045e : ca               [ 2]         dex
045f : ca               [ 2]         dex
045f : ca               [ 2]         dex
0460 : ca               [ 2]         dex             ;-70
0460 : ca               [ 2]         dex
0461 : ca               [ 2]         dex
0461 : ca               [ 2]         dex
0462 : ca               [ 2]         dex
0462 : ca               [ 2]         dex
0463 : ca               [ 2]         dex
0463 : ca               [ 2]         dex             ;-90
0464 : ca               [ 2]         dex
0464 : ca               [ 2]         dex
0465 : ca               [ 2]         dex
0465 : ca               [ 2]         dex
0466 : ca               [ 2]         dex
0466 : ca               [ 2]         dex
0467 : ca               [ 2]         dex
0467 : ca               [ 2]         dex
0468 : ca               [ 2]         dex
0468 : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   22
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0469 : ca               [ 2]         dex
0469 : ca               [ 2]         dex
046a : ca               [ 2]         dex             ;-60
046a : ca               [ 2]         dex
046b : ca               [ 2]         dex
046b : ca               [ 2]         dex
046c : ca               [ 2]         dex
046c : ca               [ 2]         dex
046d : ca               [ 2]         dex
046d : ca               [ 2]         dex             ;-80
046e : ca               [ 2]         dex
046e : ca               [ 2]         dex
046f : ca               [ 2]         dex
046f : ca               [ 2]         dex
0470 : ca               [ 2]         dex
0470 : ca               [ 2]         dex
0471 : ca               [ 2]         dex
0471 : ca               [ 2]         dex
0472 : ca               [ 2]         dex
0472 : ca               [ 2]         dex
0473 : ca               [ 2]         dex
0473 : ca               [ 2]         dex
0474 : ca               [ 2]         dex             ;-50
0474 : ca               [ 2]         dex
0475 : ca               [ 2]         dex
0475 : ca               [ 2]         dex
0476 : ca               [ 2]         dex
0476 : ca               [ 2]         dex
0477 : ca               [ 2]         dex
0477 : ca               [ 2]         dex             ;-70
0478 : ca               [ 2]         dex
0478 : ca               [ 2]         dex
0479 : ca               [ 2]         dex
0479 : ca               [ 2]         dex
047a : ca               [ 2]         dex
047a : ca               [ 2]         dex
047b : ca               [ 2]         dex
047b : ca               [ 2]         dex
047c : ca               [ 2]         dex
047c : ca               [ 2]         dex
047d : ca               [ 2]         dex
047d : ca               [ 2]         dex
047e : ca               [ 2]         dex             ;-40
047e : ca               [ 2]         dex
047f : ca               [ 2]         dex
047f : ca               [ 2]         dex
0480 : ca               [ 2]         dex
0480 : ca               [ 2]         dex
0481 : ca               [ 2]         dex
0481 : ca               [ 2]         dex             ;-60
0482 : ca               [ 2]         dex
0482 : ca               [ 2]         dex
0483 : ca               [ 2]         dex
0483 : ca               [ 2]         dex
0484 : ca               [ 2]         dex
0484 : ca               [ 2]         dex
0485 : ca               [ 2]         dex
0485 : ca               [ 2]         dex
0486 : ca               [ 2]         dex
0486 : ca               [ 2]         dex
0487 : ca               [ 2]         dex
0487 : ca               [ 2]         dex
0488 : ca               [ 2]         dex             ;-30
0488 : ca               [ 2]         dex
0489 : ca               [ 2]         dex
0489 : ca               [ 2]         dex
048a : ca               [ 2]         dex
048a : ca               [ 2]         dex
048b : ca               [ 2]         dex
048b : ca               [ 2]         dex             ;-50
048c : ca               [ 2]         dex
048c : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   45
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
048d : ca               [ 2]         dex
048d : ca               [ 2]         dex
048e : ca               [ 2]         dex
048e : ca               [ 2]         dex
048f : ca               [ 2]         dex
048f : ca               [ 2]         dex
0490 : ca               [ 2]         dex
0490 : ca               [ 2]         dex
0491 : ca               [ 2]         dex
0491 : ca               [ 2]         dex
0492 : ca               [ 2]         dex             ;-20
0492 : ca               [ 2]         dex
0493 : ca               [ 2]         dex
0493 : ca               [ 2]         dex
0494 : ca               [ 2]         dex
0494 : ca               [ 2]         dex
0495 : ca               [ 2]         dex
0495 : ca               [ 2]         dex             ;-40
0496 : ca               [ 2]         dex
0496 : ca               [ 2]         dex
0497 : ca               [ 2]         dex
0497 : ca               [ 2]         dex
0498 : ca               [ 2]         dex
0498 : ca               [ 2]         dex
0499 : ca               [ 2]         dex
0499 : ca               [ 2]         dex
049a : ca               [ 2]         dex
049a : ca               [ 2]         dex
049b : ca               [ 2]         dex
049b : ca               [ 2]         dex
049c : ca               [ 2]         dex             ;-10
049c : ca               [ 2]         dex
049d : ca               [ 2]         dex
049d : ca               [ 2]         dex
049e : ca               [ 2]         dex
049e : ca               [ 2]         dex
049f : ca               [ 2]         dex
049f : ca               [ 2]         dex             ;-30
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   23
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
04a0 : ca               [ 2]         dex
04a0 : ca               [ 2]         dex
04a1 : ca               [ 2]         dex
04a1 : ca               [ 2]         dex
04a2 : ca               [ 2]         dex
04a2 : ca               [ 2]         dex
04a3 : ca               [ 2]         dex             ;-3
04a3 : ca               [ 2]         dex
04a4 :                       range_op                ;test target with zero flag=0, z=1 if previous dex
04a4 : ca               [ 2]         dex
04a5 =                       range_adr   = *+1       ;modifiable relative address
04a5 : ca               [ 2]         dex
04a4 : f03e             [ 3]         beq *+64        ;if called without modification
04a6 : ca               [ 2]         dex
04a6 : ca               [ 2]         dex             ;+0
 
04a7 : ca               [ 2]         dex
04a7 : ca               [ 2]         dex
04a8 : ca               [ 2]         dex
04a8 : ca               [ 2]         dex
04a9 : ca               [ 2]         dex
04a9 : ca               [ 2]         dex             ;-20
04aa : ca               [ 2]         dex
04aa : ca               [ 2]         dex
04ab : ca               [ 2]         dex
04ab : ca               [ 2]         dex
04ac : ca               [ 2]         dex
04ac : ca               [ 2]         dex
04ad : ca               [ 2]         dex
04ad : ca               [ 2]         dex
04ae : ca               [ 2]         dex
04ae : ca               [ 2]         dex
04af : ca               [ 2]         dex
04af : ca               [ 2]         dex
04b0 : ca               [ 2]         dex             ;+10
04b0 : ca               [ 2]         dex
04b1 : ca               [ 2]         dex
04b1 : ca               [ 2]         dex
04b2 : ca               [ 2]         dex
04b2 : ca               [ 2]         dex
04b3 : ca               [ 2]         dex
04b3 : ca               [ 2]         dex             ;-10
04b4 : ca               [ 2]         dex
04b4 : ca               [ 2]         dex
04b5 : ca               [ 2]         dex
04b5 : ca               [ 2]         dex
04b6 : ca               [ 2]         dex
04b6 : ca               [ 2]         dex
04b7 : ca               [ 2]         dex
04b7 : ca               [ 2]         dex
04b8 : ca               [ 2]         dex
04b8 : ca               [ 2]         dex
04b9 : ca               [ 2]         dex
04b9 : ca               [ 2]         dex
04ba : ca               [ 2]         dex             ;+20
04ba : ca               [ 2]         dex             ;-3
04bb : ca               [ 2]         dex
 
04bc : ca               [ 2]         dex
04bb :                       range_op                ;test target with zero flag=0, z=1 if previous dex
04bd : ca               [ 2]         dex
04bc =                       range_adr   = *+1       ;modifiable relative address
 
 
 
04bb : f03e             [ 3]         beq *+64        ;if called without modification
 
04bd : ca               [ 2]         dex             ;+0
04be : ca               [ 2]         dex
04be : ca               [ 2]         dex
04bf : ca               [ 2]         dex
04bf : ca               [ 2]         dex
04c0 : ca               [ 2]         dex
04c0 : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   46
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
04c1 : ca               [ 2]         dex
04c1 : ca               [ 2]         dex
04c2 : ca               [ 2]         dex
04c2 : ca               [ 2]         dex
04c3 : ca               [ 2]         dex
04c3 : ca               [ 2]         dex
04c4 : ca               [ 2]         dex             ;+30
04c4 : ca               [ 2]         dex
04c5 : ca               [ 2]         dex
04c5 : ca               [ 2]         dex
04c6 : ca               [ 2]         dex
04c6 : ca               [ 2]         dex
04c7 : ca               [ 2]         dex
04c7 : ca               [ 2]         dex             ;+10
04c8 : ca               [ 2]         dex
04c8 : ca               [ 2]         dex
04c9 : ca               [ 2]         dex
04c9 : ca               [ 2]         dex
04ca : ca               [ 2]         dex
04ca : ca               [ 2]         dex
04cb : ca               [ 2]         dex
04cb : ca               [ 2]         dex
04cc : ca               [ 2]         dex
04cc : ca               [ 2]         dex
04cd : ca               [ 2]         dex
04cd : ca               [ 2]         dex
04ce : ca               [ 2]         dex             ;+40
04ce : ca               [ 2]         dex
04cf : ca               [ 2]         dex
04cf : ca               [ 2]         dex
04d0 : ca               [ 2]         dex
04d0 : ca               [ 2]         dex
04d1 : ca               [ 2]         dex
04d1 : ca               [ 2]         dex             ;+20
04d2 : ca               [ 2]         dex
04d2 : ca               [ 2]         dex
04d3 : ca               [ 2]         dex
04d3 : ca               [ 2]         dex
04d4 : ca               [ 2]         dex
04d4 : ca               [ 2]         dex
04d5 : ca               [ 2]         dex
04d5 : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   24
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
04d6 : ca               [ 2]         dex
04d6 : ca               [ 2]         dex
04d7 : ca               [ 2]         dex
04d7 : ca               [ 2]         dex
04d8 : ca               [ 2]         dex             ;+50
04d8 : ca               [ 2]         dex
04d9 : ca               [ 2]         dex
04d9 : ca               [ 2]         dex
04da : ca               [ 2]         dex
04da : ca               [ 2]         dex
04db : ca               [ 2]         dex
04db : ca               [ 2]         dex             ;+30
04dc : ca               [ 2]         dex
04dc : ca               [ 2]         dex
04dd : ca               [ 2]         dex
04dd : ca               [ 2]         dex
04de : ca               [ 2]         dex
04de : ca               [ 2]         dex
04df : ca               [ 2]         dex
04df : ca               [ 2]         dex
04e0 : ca               [ 2]         dex
04e0 : ca               [ 2]         dex
04e1 : ca               [ 2]         dex
04e1 : ca               [ 2]         dex
04e2 : ca               [ 2]         dex             ;+60
04e2 : ca               [ 2]         dex
04e3 : ca               [ 2]         dex
04e3 : ca               [ 2]         dex
04e4 : ca               [ 2]         dex
04e4 : ca               [ 2]         dex
04e5 : ca               [ 2]         dex
04e5 : ca               [ 2]         dex             ;+40
04e6 : ca               [ 2]         dex
04e6 : ca               [ 2]         dex
04e7 : ca               [ 2]         dex
04e7 : ca               [ 2]         dex
04e8 : ca               [ 2]         dex
04e8 : ca               [ 2]         dex
04e9 : ca               [ 2]         dex
04e9 : ca               [ 2]         dex
04ea : ca               [ 2]         dex
04ea : ca               [ 2]         dex
04eb : ca               [ 2]         dex
04eb : ca               [ 2]         dex
04ec : ca               [ 2]         dex             ;+70
04ec : ca               [ 2]         dex
04ed : ca               [ 2]         dex
04ed : ca               [ 2]         dex
04ee : ca               [ 2]         dex
04ee : ca               [ 2]         dex
04ef : ca               [ 2]         dex
04ef : ca               [ 2]         dex             ;+50
04f0 : ca               [ 2]         dex
04f0 : ca               [ 2]         dex
04f1 : ca               [ 2]         dex
04f1 : ca               [ 2]         dex
04f2 : ca               [ 2]         dex
04f2 : ca               [ 2]         dex
04f3 : ca               [ 2]         dex
04f3 : ca               [ 2]         dex
04f4 : ca               [ 2]         dex
04f4 : ca               [ 2]         dex
04f5 : ca               [ 2]         dex
04f5 : ca               [ 2]         dex
04f6 : ca               [ 2]         dex             ;+80
04f6 : ca               [ 2]         dex
04f7 : ca               [ 2]         dex
04f7 : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   47
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
04f8 : ca               [ 2]         dex
04f8 : ca               [ 2]         dex
04f9 : ca               [ 2]         dex
04f9 : ca               [ 2]         dex             ;+60
04fa : ca               [ 2]         dex
04fa : ca               [ 2]         dex
04fb : ca               [ 2]         dex
04fb : ca               [ 2]         dex
04fc : ca               [ 2]         dex
04fc : ca               [ 2]         dex
04fd : ca               [ 2]         dex
04fd : ca               [ 2]         dex
04fe : ca               [ 2]         dex
04fe : ca               [ 2]         dex
04ff : ca               [ 2]         dex
04ff : ca               [ 2]         dex
0500 : ca               [ 2]         dex             ;+90
0500 : ca               [ 2]         dex
0501 : ca               [ 2]         dex
0501 : ca               [ 2]         dex
0502 : ca               [ 2]         dex
0502 : ca               [ 2]         dex
0503 : ca               [ 2]         dex
0503 : ca               [ 2]         dex             ;+70
0504 : ca               [ 2]         dex
0504 : ca               [ 2]         dex
0505 : ca               [ 2]         dex
0505 : ca               [ 2]         dex
0506 : ca               [ 2]         dex
0506 : ca               [ 2]         dex
0507 : ca               [ 2]         dex
0507 : ca               [ 2]         dex
0508 : ca               [ 2]         dex
0508 : ca               [ 2]         dex
0509 : ca               [ 2]         dex
0509 : ca               [ 2]         dex
050a : ca               [ 2]         dex             ;+100
050a : ca               [ 2]         dex
050b : ca               [ 2]         dex
050b : ca               [ 2]         dex
050c : ca               [ 2]         dex
050c : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   25
050d : ca               [ 2]         dex             ;+80
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
050d : ca               [ 2]         dex
 
050e : ca               [ 2]         dex
050e : ca               [ 2]         dex
050f : ca               [ 2]         dex
050f : ca               [ 2]         dex
0510 : ca               [ 2]         dex
0510 : ca               [ 2]         dex
0511 : ca               [ 2]         dex
0511 : ca               [ 2]         dex
0512 : ca               [ 2]         dex
0512 : ca               [ 2]         dex
0513 : ca               [ 2]         dex
0513 : ca               [ 2]         dex
0514 : ca               [ 2]         dex             ;+110
0514 : ca               [ 2]         dex
0515 : ca               [ 2]         dex
0515 : ca               [ 2]         dex
0516 : ca               [ 2]         dex
0516 : ca               [ 2]         dex
0517 : ca               [ 2]         dex
0517 : ca               [ 2]         dex             ;+90
0518 : ca               [ 2]         dex
0518 : ca               [ 2]         dex
0519 : ca               [ 2]         dex
0519 : ca               [ 2]         dex
051a : ca               [ 2]         dex
051a : ca               [ 2]         dex
051b : ca               [ 2]         dex
051b : ca               [ 2]         dex
051c : ca               [ 2]         dex
051c : ca               [ 2]         dex
051d : ca               [ 2]         dex
051d : ca               [ 2]         dex
051e : ca               [ 2]         dex             ;+120
051e : ca               [ 2]         dex
051f : ca               [ 2]         dex
051f : ca               [ 2]         dex
0520 : ca               [ 2]         dex
0520 : ca               [ 2]         dex
0521 : ca               [ 2]         dex
0521 : ca               [ 2]         dex             ;+100
0522 : ca               [ 2]         dex
0522 : ca               [ 2]         dex
0523 : ca               [ 2]         dex
0523 : ca               [ 2]         dex
0524 : ca               [ 2]         dex
0524 : ca               [ 2]         dex
0525 : f003             [ 3]         beq range_ok    ;+127 - max forward
0525 : ca               [ 2]         dex
 
0526 : ca               [ 2]         dex
 
0527 : ca               [ 2]         dex
 
0528 : ca               [ 2]         dex
 
0529 : ca               [ 2]         dex
 
052a : ca               [ 2]         dex
 
052b : ca               [ 2]         dex             ;+110
 
052c : ca               [ 2]         dex
 
052d : ca               [ 2]         dex
 
052e : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   48
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
052f : ca               [ 2]         dex
 
0530 : ca               [ 2]         dex
 
0531 : ca               [ 2]         dex
 
0532 : ca               [ 2]         dex
 
0533 : ca               [ 2]         dex
 
0534 : ca               [ 2]         dex
 
0535 : ca               [ 2]         dex             ;+120
 
0536 : ca               [ 2]         dex
 
0537 : ca               [ 2]         dex
 
0538 : ca               [ 2]         dex
 
0539 : ca               [ 2]         dex
 
053a : ca               [ 2]         dex
 
053b : ca               [ 2]         dex
 
 
 
053c : f002             [ 3]         beq range_ok    ;+127 - max forward
                                     trap            ; bad range
                                     trap            ; bad range
0527 : 4c2705           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
053e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
053f : 01                   >        db      test_num
 
 
052a :                       range_ok
 
052a : c000             [ 2]         cpy #0
0540 :                       range_ok
052c : f003             [ 3]         beq range_end
0540 : c000             [ 2]         cpy #0
052e : 4c1404           [ 3]         jmp range_loop
0542 : f003             [ 3]         beq range_end
0531 :                       range_end               ;range test successful
0544 : 4c2b04           [ 3]         jmp range_loop
 
0547 :                       range_end               ;range test successful
                                     next_test
                                     next_test
0531 : ad0002           [ 4]>            lda test_case   ;previous test
0547 : ad0002           [ 4]>            lda test_case   ;previous test
0534 : c901             [ 2]>            cmp #test_num
054a : c901             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0536 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
054c : f002             [ 3]>        beq skip0006
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
054e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
054f : 01                   >        db      test_num
 
                            >
 
0550 :                      >skip0006
                            >
                            >
0002 =                      >test_num = test_num + 1
0002 =                      >test_num = test_num + 1
0538 : a902             [ 2]>            lda #test_num   ;*** this tests' number
0550 : a902             [ 2]>            lda #test_num   ;*** this tests' number
053a : 8d0002           [ 4]>            sta test_case
0552 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ;partial test BNE & CMP, CPX, CPY immediate
                             ;partial test BNE & CMP, CPX, CPY immediate
053d : c001             [ 2]         cpy #1          ;testing BNE true
 
053f : d003             [ 3]         bne test_bne
0555 : c001             [ 2]         cpy #1          ;testing BNE true
 
0557 : d002             [ 3]         bne test_bne
                                     trap
                                     trap
0541 : 4c4105           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0559 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
055a : 02                   >        db      test_num
 
 
0544 :                       test_bne
055b :                       test_bne
0544 : a900             [ 2]         lda #0
055b : a900             [ 2]         lda #0
0546 : c900             [ 2]         cmp #0          ;test compare immediate
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   49
                                     trap_ne
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   26
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0548 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
055d : c900             [ 2]         cmp #0          ;test compare immediate
 
                                     trap_ne
 
055f : f002             [ 3]>        beq skip0009
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0561 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0562 : 02                   >        db      test_num
 
                            >
 
0563 :                      >skip0009
 
 
                                     trap_cc
                                     trap_cc
054a : 90fe             [ 3]>        bcc *           ;failed carry clear
0563 : b002             [ 3]>        bcs skip0011
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0565 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0566 : 02                   >        db      test_num
 
                            >
 
0567 :                      >skip0011
 
 
                                     trap_mi
                                     trap_mi
054c : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
0567 : 1002             [ 3]>        bpl skip0013
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0569 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
056a : 02                   >        db      test_num
 
                            >
 
056b :                      >skip0013
 
 
054e : c901             [ 2]         cmp #1
056b : c901             [ 2]         cmp #1
                                     trap_eq
                                     trap_eq
0550 : f0fe             [ 3]>        beq *           ;failed equal (zero)
056d : d002             [ 3]>        bne skip0015
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
056f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0570 : 02                   >        db      test_num
 
                            >
 
0571 :                      >skip0015
 
 
                                     trap_cs
                                     trap_cs
0552 : b0fe             [ 3]>        bcs *           ;failed carry set
0571 : 9002             [ 3]>        bcc skip0017
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0573 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0574 : 02                   >        db      test_num
 
                            >
 
0575 :                      >skip0017
 
 
                                     trap_pl
                                     trap_pl
0554 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
0575 : 3002             [ 3]>        bmi skip0019
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0577 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0578 : 02                   >        db      test_num
 
                            >
 
0579 :                      >skip0019
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   50
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
0556 : aa               [ 2]         tax
0579 : aa               [ 2]         tax
0557 : e000             [ 2]         cpx #0          ;test compare x immediate
057a : e000             [ 2]         cpx #0          ;test compare x immediate
                                     trap_ne
                                     trap_ne
0559 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
057c : f002             [ 3]>        beq skip0021
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
057e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
057f : 02                   >        db      test_num
 
                            >
 
0580 :                      >skip0021
 
 
                                     trap_cc
                                     trap_cc
055b : 90fe             [ 3]>        bcc *           ;failed carry clear
0580 : b002             [ 3]>        bcs skip0023
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0582 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0583 : 02                   >        db      test_num
 
                            >
 
0584 :                      >skip0023
 
 
                                     trap_mi
                                     trap_mi
055d : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
0584 : 1002             [ 3]>        bpl skip0025
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0586 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0587 : 02                   >        db      test_num
 
                            >
 
0588 :                      >skip0025
 
 
055f : e001             [ 2]         cpx #1
0588 : e001             [ 2]         cpx #1
                                     trap_eq
                                     trap_eq
0561 : f0fe             [ 3]>        beq *           ;failed equal (zero)
058a : d002             [ 3]>        bne skip0027
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
058c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
058d : 02                   >        db      test_num
 
                            >
 
058e :                      >skip0027
 
 
                                     trap_cs
                                     trap_cs
0563 : b0fe             [ 3]>        bcs *           ;failed carry set
058e : 9002             [ 3]>        bcc skip0029
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0590 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0591 : 02                   >        db      test_num
 
                            >
 
0592 :                      >skip0029
 
 
                                     trap_pl
                                     trap_pl
0565 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
0592 : 3002             [ 3]>        bmi skip0031
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0594 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0595 : 02                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   51
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
0596 :                      >skip0031
 
 
0567 : a8               [ 2]         tay
0596 : a8               [ 2]         tay
0568 : c000             [ 2]         cpy #0          ;test compare y immediate
0597 : c000             [ 2]         cpy #0          ;test compare y immediate
                                     trap_ne
                                     trap_ne
056a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0599 : f002             [ 3]>        beq skip0033
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
059b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
059c : 02                   >        db      test_num
 
                            >
 
059d :                      >skip0033
 
 
                                     trap_cc
                                     trap_cc
056c : 90fe             [ 3]>        bcc *           ;failed carry clear
059d : b002             [ 3]>        bcs skip0035
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
059f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05a0 : 02                   >        db      test_num
 
                            >
 
05a1 :                      >skip0035
 
 
                                     trap_mi
                                     trap_mi
056e : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
05a1 : 1002             [ 3]>        bpl skip0037
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05a3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05a4 : 02                   >        db      test_num
 
                            >
 
05a5 :                      >skip0037
 
 
0570 : c001             [ 2]         cpy #1
05a5 : c001             [ 2]         cpy #1
                                     trap_eq
                                     trap_eq
0572 : f0fe             [ 3]>        beq *           ;failed equal (zero)
05a7 : d002             [ 3]>        bne skip0039
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05a9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05aa : 02                   >        db      test_num
 
                            >
 
05ab :                      >skip0039
 
 
                                     trap_cs
                                     trap_cs
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   27
05ab : 9002             [ 3]>        bcc skip0041
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0574 : b0fe             [ 3]>        bcs *           ;failed carry set
05ad : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05ae : 02                   >        db      test_num
 
                            >
 
05af :                      >skip0041
 
 
                                     trap_pl
                                     trap_pl
0576 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
05af : 3002             [ 3]>        bmi skip0043
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   52
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
05b1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05b2 : 02                   >        db      test_num
 
                            >
 
05b3 :                      >skip0043
 
 
                                     next_test
                                     next_test
0578 : ad0002           [ 4]>            lda test_case   ;previous test
05b3 : ad0002           [ 4]>            lda test_case   ;previous test
057b : c902             [ 2]>            cmp #test_num
05b6 : c902             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
057d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05b8 : f002             [ 3]>        beq skip0046
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05ba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05bb : 02                   >        db      test_num
 
                            >
 
05bc :                      >skip0046
                            >
                            >
0003 =                      >test_num = test_num + 1
0003 =                      >test_num = test_num + 1
057f : a903             [ 2]>            lda #test_num   ;*** this tests' number
05bc : a903             [ 2]>            lda #test_num   ;*** this tests' number
0581 : 8d0002           [ 4]>            sta test_case
05be : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ;testing stack operations PHA PHP PLA PLP
                             ;testing stack operations PHA PHP PLA PLP
 
 
0584 : a2ff             [ 2]         ldx #$ff        ;initialize stack
05c1 : a2ff             [ 2]         ldx #$ff        ;initialize stack
0586 : 9a               [ 2]         txs
05c3 : 9a               [ 2]         txs
0587 : a955             [ 2]         lda #$55
05c4 : a955             [ 2]         lda #$55
0589 : 48               [ 3]         pha
05c6 : 48               [ 3]         pha
058a : a9aa             [ 2]         lda #$aa
05c7 : a9aa             [ 2]         lda #$aa
058c : 48               [ 3]         pha
05c9 : 48               [ 3]         pha
058d : cdfe01           [ 4]         cmp $1fe        ;on stack ?
05ca : cdfe01           [ 4]         cmp $1fe        ;on stack ?
                                     trap_ne
                                     trap_ne
0590 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05cd : f002             [ 3]>        beq skip0048
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05cf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05d0 : 03                   >        db      test_num
 
                            >
 
05d1 :                      >skip0048
 
 
 
05d1 : ba               [ 2]         tsx
 
05d2 : 8a               [ 2]         txa             ;overwrite accu
 
05d3 : c9fd             [ 2]         cmp #$fd        ;sp decremented?
 
                                     trap_ne
 
05d5 : f002             [ 3]>        beq skip0050
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05d7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05d8 : 03                   >        db      test_num
 
                            >
 
05d9 :                      >skip0050
 
 
0592 : ba               [ 2]         tsx
05d9 : 68               [ 4]         pla
0593 : 8a               [ 2]         txa             ;overwrite accu
05da : c9aa             [ 2]         cmp #$aa        ;successful retreived from stack?
0594 : c9fd             [ 2]         cmp #$fd        ;sp decremented?
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   53
                                     trap_ne
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0596 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
0598 : 68               [ 4]         pla
 
0599 : c9aa             [ 2]         cmp #$aa        ;successful retreived from stack?
 
                                     trap_ne
                                     trap_ne
059b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05dc : f002             [ 3]>        beq skip0052
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05de : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05df : 03                   >        db      test_num
 
                            >
 
05e0 :                      >skip0052
 
 
059d : 68               [ 4]         pla
05e0 : 68               [ 4]         pla
059e : c955             [ 2]         cmp #$55
05e1 : c955             [ 2]         cmp #$55
                                     trap_ne
                                     trap_ne
05a0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05e3 : f002             [ 3]>        beq skip0054
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05e5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05e6 : 03                   >        db      test_num
 
                            >
 
05e7 :                      >skip0054
 
 
05a2 : cdff01           [ 4]         cmp $1ff        ;remains on stack?
05e7 : cdff01           [ 4]         cmp $1ff        ;remains on stack?
                                     trap_ne
                                     trap_ne
05a5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05ea : f002             [ 3]>        beq skip0056
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05ec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05ed : 03                   >        db      test_num
 
                            >
 
05ee :                      >skip0056
 
 
05a7 : ba               [ 2]         tsx
05ee : ba               [ 2]         tsx
05a8 : e0ff             [ 2]         cpx #$ff        ;sp incremented?
05ef : e0ff             [ 2]         cpx #$ff        ;sp incremented?
                                     trap_ne
                                     trap_ne
05aa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05f1 : f002             [ 3]>        beq skip0058
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05f3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05f4 : 03                   >        db      test_num
 
                            >
 
05f5 :                      >skip0058
 
 
                                     next_test
                                     next_test
05ac : ad0002           [ 4]>            lda test_case   ;previous test
05f5 : ad0002           [ 4]>            lda test_case   ;previous test
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   28
05f8 : c903             [ 2]>            cmp #test_num
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
05af : c903             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
05b1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
05fa : f002             [ 3]>        beq skip0061
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
05fc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
05fd : 03                   >        db      test_num
 
                            >
 
05fe :                      >skip0061
                            >
                            >
0004 =                      >test_num = test_num + 1
0004 =                      >test_num = test_num + 1
05b3 : a904             [ 2]>            lda #test_num   ;*** this tests' number
05fe : a904             [ 2]>            lda #test_num   ;*** this tests' number
05b5 : 8d0002           [ 4]>            sta test_case
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   54
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0600 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ;testing branch decisions BPL BMI BVC BVS BCC BCS BNE BEQ
                             ;testing branch decisions BPL BMI BVC BVS BCC BCS BNE BEQ
 
 
                                     set_stat $ff    ;all on
                                     set_stat $ff    ;all on
                            >            load_flag $ff
                            >            load_flag $ff
05b8 : a9ff             [ 2]>            lda #$ff                 ;allow test to change I-flag (no mask)
0603 : a9ff             [ 2]>            lda #$ff                 ;allow test to change I-flag (no mask)
                            >
                            >
05ba : 48               [ 3]>            pha         ;use stack to load status
0605 : 48               [ 3]>            pha         ;use stack to load status
05bb : 28               [ 4]>            plp
0606 : 28               [ 4]>            plp
 
 
05bc : 101a             [ 3]         bpl nbr1        ;branches should not be taken
0607 : 1016             [ 3]         bpl nbr1        ;branches should not be taken
05be : 501b             [ 3]         bvc nbr2
0609 : 5016             [ 3]         bvc nbr2
05c0 : 901c             [ 3]         bcc nbr3
060b : 9016             [ 3]         bcc nbr3
05c2 : d01d             [ 3]         bne nbr4
060d : d016             [ 3]         bne nbr4
05c4 : 3003             [ 3]         bmi br1         ;branches should be taken
060f : 3002             [ 3]         bmi br1         ;branches should be taken
                                     trap
                                     trap
05c6 : 4cc605           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0611 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0612 : 04                   >        db      test_num
 
 
05c9 : 7003             [ 3] br1     bvs br2
0613 : 7002             [ 3] br1     bvs br2
                                     trap
                                     trap
05cb : 4ccb05           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0615 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0616 : 04                   >        db      test_num
 
 
05ce : b003             [ 3] br2     bcs br3
0617 : b002             [ 3] br2     bcs br3
                                     trap
                                     trap
05d0 : 4cd005           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0619 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
061a : 04                   >        db      test_num
 
 
05d3 : f00f             [ 3] br3     beq br4
061b : f00a             [ 3] br3     beq br4
                                     trap
                                     trap
05d5 : 4cd505           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
061d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
061e : 04                   >        db      test_num
 
 
05d8 :                       nbr1
061f :                       nbr1
                                     trap            ;previous bpl taken
                                     trap            ;previous bpl taken
05d8 : 4cd805           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
061f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0620 : 04                   >        db      test_num
 
 
05db :                       nbr2
0621 :                       nbr2
                                     trap            ;previous bvc taken
                                     trap            ;previous bvc taken
05db : 4cdb05           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0621 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0622 : 04                   >        db      test_num
 
 
05de :                       nbr3
0623 :                       nbr3
                                     trap            ;previous bcc taken
                                     trap            ;previous bcc taken
05de : 4cde05           [ 3]>        jmp *           ;failed anyway
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   55
 
 
05e1 :                       nbr4
 
                                     trap            ;previous bne taken
 
05e1 : 4ce105           [ 3]>        jmp *           ;failed anyway
 
 
 
05e4 : 08               [ 3] br4     php
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   29
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
05e5 : ba               [ 2]         tsx
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
05e6 : e0fe             [ 2]         cpx #$fe        ;sp after php?
0623 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
                                     trap_ne
0624 : 04                   >        db      test_num
05e8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
05ea : 68               [ 4]         pla
0625 :                       nbr4
 
                                     trap            ;previous bne taken
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0625 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0626 : 04                   >        db      test_num
 
 
 
0627 : 08               [ 3] br4     php
 
0628 : ba               [ 2]         tsx
 
0629 : e0fe             [ 2]         cpx #$fe        ;sp after php?
 
                                     trap_ne
 
062b : f002             [ 3]>        beq skip0073
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
062d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
062e : 04                   >        db      test_num
 
                            >
 
062f :                      >skip0073
 
 
 
062f : 68               [ 4]         pla
                                     cmp_flag $ff    ;returned all flags on?
                                     cmp_flag $ff    ;returned all flags on?
05eb : c9ff             [ 2]>            cmp #($ff    |fao)&m8    ;expected flags + always on bits
0630 : c9ff             [ 2]>            cmp #($ff    |fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
05ed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0632 : f002             [ 3]>        beq skip0076
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0634 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0635 : 04                   >        db      test_num
 
                            >
 
0636 :                      >skip0076
 
 
05ef : ba               [ 2]         tsx
0636 : ba               [ 2]         tsx
05f0 : e0ff             [ 2]         cpx #$ff        ;sp after php?
0637 : e0ff             [ 2]         cpx #$ff        ;sp after php?
                                     trap_ne
                                     trap_ne
05f2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0639 : f002             [ 3]>        beq skip0078
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
063b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
063c : 04                   >        db      test_num
 
                            >
 
063d :                      >skip0078
 
 
                                     set_stat 0      ;all off
                                     set_stat 0      ;all off
                            >            load_flag 0
                            >            load_flag 0
05f4 : a900             [ 2]>            lda #0                   ;allow test to change I-flag (no mask)
063d : a900             [ 2]>            lda #0                   ;allow test to change I-flag (no mask)
                            >
                            >
05f6 : 48               [ 3]>            pha         ;use stack to load status
063f : 48               [ 3]>            pha         ;use stack to load status
05f7 : 28               [ 4]>            plp
0640 : 28               [ 4]>            plp
 
 
 
0641 : 3026             [ 3]         bmi nbr11       ;branches should not be taken
 
0643 : 7026             [ 3]         bvs nbr12
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   56
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
05f8 : 3022             [ 4]         bmi nbr11       ;branches should not be taken
0645 : b026             [ 3]         bcs nbr13
05fa : 7023             [ 4]         bvs nbr12
0647 : f026             [ 3]         beq nbr14
05fc : b024             [ 4]         bcs nbr13
 
05fe : f025             [ 4]         beq nbr14
 
                                     trap_mi
                                     trap_mi
0600 : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
0649 : 1002             [ 3]>        bpl skip0082
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
064b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
064c : 04                   >        db      test_num
 
                            >
 
064d :                      >skip0082
 
 
                                     trap_vs
                                     trap_vs
0602 : 70fe             [ 3]>        bvs *           ;failed overflow set
064d : 5002             [ 3]>        bvc skip0084
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
064f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0650 : 04                   >        db      test_num
 
                            >
 
0651 :                      >skip0084
 
 
                                     trap_cs
                                     trap_cs
0604 : b0fe             [ 3]>        bcs *           ;failed carry set
0651 : 9002             [ 3]>        bcc skip0086
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0653 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0654 : 04                   >        db      test_num
 
                            >
 
0655 :                      >skip0086
 
 
                                     trap_eq
                                     trap_eq
0606 : f0fe             [ 3]>        beq *           ;failed equal (zero)
0655 : d002             [ 3]>        bne skip0088
 
                            >        trap           ;failed equal (zero)
0608 : 1003             [ 3]         bpl br11        ;branches should be taken
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                                     trap
0657 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
060a : 4c0a06           [ 3]>        jmp *           ;failed anyway
0658 : 04                   >        db      test_num
 
                            >
 
0659 :                      >skip0088
 
 
060d : 5003             [ 3] br11    bvc br12
0659 : 1002             [ 3]         bpl br11        ;branches should be taken
                                     trap
                                     trap
060f : 4c0f06           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
065b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
065c : 04                   >        db      test_num
 
 
0612 : 9003             [ 3] br12    bcc br13
065d : 5002             [ 3] br11    bvc br12
                                     trap
                                     trap
0614 : 4c1406           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
065f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0660 : 04                   >        db      test_num
 
 
0617 : d00f             [ 3] br13    bne br14
0661 : 9002             [ 3] br12    bcc br13
                                     trap
                                     trap
0619 : 4c1906           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   30
0663 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0664 : 04                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   57
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
061c :                       nbr11
0665 : d00a             [ 3] br13    bne br14
 
                                     trap
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0667 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0668 : 04                   >        db      test_num
 
 
 
0669 :                       nbr11
                                     trap            ;previous bmi taken
                                     trap            ;previous bmi taken
061c : 4c1c06           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0669 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
066a : 04                   >        db      test_num
 
 
061f :                       nbr12
066b :                       nbr12
                                     trap            ;previous bvs taken
                                     trap            ;previous bvs taken
061f : 4c1f06           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
066b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
066c : 04                   >        db      test_num
 
 
0622 :                       nbr13
066d :                       nbr13
                                     trap            ;previous bcs taken
                                     trap            ;previous bcs taken
0622 : 4c2206           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
066d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
066e : 04                   >        db      test_num
 
 
0625 :                       nbr14
066f :                       nbr14
                                     trap            ;previous beq taken
                                     trap            ;previous beq taken
0625 : 4c2506           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
066f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0670 : 04                   >        db      test_num
 
 
0628 : 08               [ 3] br14    php
0671 : 08               [ 3] br14    php
0629 : 68               [ 4]         pla
0672 : 68               [ 4]         pla
                                     cmp_flag 0      ;flags off except break (pushed by sw) + reserved?
                                     cmp_flag 0      ;flags off except break (pushed by sw) + reserved?
062a : c930             [ 2]>            cmp #(0      |fao)&m8    ;expected flags + always on bits
0673 : c930             [ 2]>            cmp #(0      |fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
062c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0675 : f002             [ 3]>        beq skip0099
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0677 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0678 : 04                   >        db      test_num
 
                            >
 
0679 :                      >skip0099
 
 
 
 
                                     ;crosscheck flags
                                     ;crosscheck flags
 
 
                                     set_stat carry
                                     set_stat carry
                            >            load_flag carry
                            >            load_flag carry
062e : a901             [ 2]>            lda #carry             ;allow test to change I-flag (no mask)
0679 : a901             [ 2]>            lda #carry             ;allow test to change I-flag (no mask)
                            >
                            >
0630 : 48               [ 3]>            pha         ;use stack to load status
067b : 48               [ 3]>            pha         ;use stack to load status
0631 : 28               [ 4]>            plp
067c : 28               [ 4]>            plp
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   58
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     trap_cc
                                     trap_cc
0632 : 90fe             [ 3]>        bcc *           ;failed carry clear
067d : b002             [ 3]>        bcs skip0103
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
067f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0680 : 04                   >        db      test_num
 
                            >
 
0681 :                      >skip0103
 
 
                                     set_stat zero
                                     set_stat zero
                            >            load_flag zero
                            >            load_flag zero
0634 : a902             [ 2]>            lda #zero             ;allow test to change I-flag (no mask)
0681 : a902             [ 2]>            lda #zero             ;allow test to change I-flag (no mask)
                            >
                            >
0636 : 48               [ 3]>            pha         ;use stack to load status
0683 : 48               [ 3]>            pha         ;use stack to load status
0637 : 28               [ 4]>            plp
0684 : 28               [ 4]>            plp
 
 
                                     trap_ne
                                     trap_ne
0638 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0685 : f002             [ 3]>        beq skip0107
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0687 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0688 : 04                   >        db      test_num
 
                            >
 
0689 :                      >skip0107
 
 
                                     set_stat overfl
                                     set_stat overfl
                            >            load_flag overfl
                            >            load_flag overfl
063a : a940             [ 2]>            lda #overfl             ;allow test to change I-flag (no mask)
0689 : a940             [ 2]>            lda #overfl             ;allow test to change I-flag (no mask)
                            >
                            >
063c : 48               [ 3]>            pha         ;use stack to load status
068b : 48               [ 3]>            pha         ;use stack to load status
063d : 28               [ 4]>            plp
068c : 28               [ 4]>            plp
 
 
                                     trap_vc
                                     trap_vc
063e : 50fe             [ 3]>        bvc *           ;failed overflow clear
068d : 7002             [ 3]>        bvs skip0111
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   31
                            >        trap           ;failed equal (zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
068f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0690 : 04                   >        db      test_num
 
                            >
 
0691 :                      >skip0111
 
 
                                     set_stat minus
                                     set_stat minus
                            >            load_flag minus
                            >            load_flag minus
0640 : a980             [ 2]>            lda #minus             ;allow test to change I-flag (no mask)
0691 : a980             [ 2]>            lda #minus             ;allow test to change I-flag (no mask)
                            >
                            >
0642 : 48               [ 3]>            pha         ;use stack to load status
0693 : 48               [ 3]>            pha         ;use stack to load status
0643 : 28               [ 4]>            plp
0694 : 28               [ 4]>            plp
 
 
                                     trap_pl
                                     trap_pl
0644 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
0695 : 3002             [ 3]>        bmi skip0115
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0697 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0698 : 04                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   59
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0699 :                      >skip0115
 
 
                                     set_stat $ff-carry
                                     set_stat $ff-carry
                            >            load_flag $ff-carry
                            >            load_flag $ff-carry
0646 : a9fe             [ 2]>            lda #$ff-carry             ;allow test to change I-flag (no mask)
0699 : a9fe             [ 2]>            lda #$ff-carry             ;allow test to change I-flag (no mask)
                            >
                            >
0648 : 48               [ 3]>            pha         ;use stack to load status
069b : 48               [ 3]>            pha         ;use stack to load status
0649 : 28               [ 4]>            plp
069c : 28               [ 4]>            plp
 
 
                                     trap_cs
                                     trap_cs
064a : b0fe             [ 3]>        bcs *           ;failed carry set
069d : 9002             [ 3]>        bcc skip0119
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
069f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06a0 : 04                   >        db      test_num
 
                            >
 
06a1 :                      >skip0119
 
 
                                     set_stat $ff-zero
                                     set_stat $ff-zero
                            >            load_flag $ff-zero
                            >            load_flag $ff-zero
064c : a9fd             [ 2]>            lda #$ff-zero             ;allow test to change I-flag (no mask)
06a1 : a9fd             [ 2]>            lda #$ff-zero             ;allow test to change I-flag (no mask)
                            >
                            >
064e : 48               [ 3]>            pha         ;use stack to load status
06a3 : 48               [ 3]>            pha         ;use stack to load status
064f : 28               [ 4]>            plp
06a4 : 28               [ 4]>            plp
 
 
                                     trap_eq
                                     trap_eq
0650 : f0fe             [ 3]>        beq *           ;failed equal (zero)
06a5 : d002             [ 3]>        bne skip0123
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06a7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06a8 : 04                   >        db      test_num
 
                            >
 
06a9 :                      >skip0123
 
 
                                     set_stat $ff-overfl
                                     set_stat $ff-overfl
                            >            load_flag $ff-overfl
                            >            load_flag $ff-overfl
0652 : a9bf             [ 2]>            lda #$ff-overfl             ;allow test to change I-flag (no mask)
06a9 : a9bf             [ 2]>            lda #$ff-overfl             ;allow test to change I-flag (no mask)
                            >
                            >
0654 : 48               [ 3]>            pha         ;use stack to load status
06ab : 48               [ 3]>            pha         ;use stack to load status
0655 : 28               [ 4]>            plp
06ac : 28               [ 4]>            plp
 
 
                                     trap_vs
                                     trap_vs
0656 : 70fe             [ 3]>        bvs *           ;failed overflow set
06ad : 5002             [ 3]>        bvc skip0127
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06af : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06b0 : 04                   >        db      test_num
 
                            >
 
06b1 :                      >skip0127
 
 
                                     set_stat $ff-minus
                                     set_stat $ff-minus
                            >            load_flag $ff-minus
                            >            load_flag $ff-minus
0658 : a97f             [ 2]>            lda #$ff-minus             ;allow test to change I-flag (no mask)
06b1 : a97f             [ 2]>            lda #$ff-minus             ;allow test to change I-flag (no mask)
                            >
                            >
065a : 48               [ 3]>            pha         ;use stack to load status
06b3 : 48               [ 3]>            pha         ;use stack to load status
065b : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   60
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
06b4 : 28               [ 4]>            plp
 
 
                                     trap_mi
                                     trap_mi
065c : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
06b5 : 1002             [ 3]>        bpl skip0131
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06b7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06b8 : 04                   >        db      test_num
 
                            >
 
06b9 :                      >skip0131
 
 
                                     next_test
                                     next_test
065e : ad0002           [ 4]>            lda test_case   ;previous test
06b9 : ad0002           [ 4]>            lda test_case   ;previous test
0661 : c904             [ 2]>            cmp #test_num
06bc : c904             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   32
06be : f002             [ 3]>        beq skip0134
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0663 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
06c0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06c1 : 04                   >        db      test_num
 
                            >
 
06c2 :                      >skip0134
                            >
                            >
0005 =                      >test_num = test_num + 1
0005 =                      >test_num = test_num + 1
0665 : a905             [ 2]>            lda #test_num   ;*** this tests' number
06c2 : a905             [ 2]>            lda #test_num   ;*** this tests' number
0667 : 8d0002           [ 4]>            sta test_case
06c4 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; test PHA does not alter flags or accumulator but PLA does
                             ; test PHA does not alter flags or accumulator but PLA does
066a : a255             [ 2]         ldx #$55        ;x & y protected
 
066c : a0aa             [ 2]         ldy #$aa
06c7 : a255             [ 2]         ldx #$55        ;x & y protected
 
06c9 : a0aa             [ 2]         ldy #$aa
                                     set_a 1,$ff     ;push
                                     set_a 1,$ff     ;push
                            >            load_flag $ff
                            >            load_flag $ff
066e : a9ff             [ 2]>            lda #$ff                  ;allow test to change I-flag (no mask)
06cb : a9ff             [ 2]>            lda #$ff                  ;allow test to change I-flag (no mask)
                            >
                            >
0670 : 48               [ 3]>            pha         ;use stack to load status
06cd : 48               [ 3]>            pha         ;use stack to load status
0671 : a901             [ 2]>            lda #1     ;precharge accu
06ce : a901             [ 2]>            lda #1     ;precharge accu
0673 : 28               [ 4]>            plp
06d0 : 28               [ 4]>            plp
 
 
0674 : 48               [ 3]         pha
06d1 : 48               [ 3]         pha
                                     tst_a 1,$ff
                                     tst_a 1,$ff
0675 : 08               [ 3]>            php         ;save flags
06d2 : 08               [ 3]>            php         ;save flags
0676 : 08               [ 3]>            php
06d3 : 08               [ 3]>            php
0677 : c901             [ 2]>            cmp #1     ;test result
06d4 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0679 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
06d6 : f002             [ 3]>        beq skip0139
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06d8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06d9 : 05                   >        db      test_num
 
                            >
 
06da :                      >skip0139
                            >
                            >
067b : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   61
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
06da : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff
                            >            cmp_flag $ff
067c : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
06db : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
067e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
06dd : f002             [ 3]>        beq skip0142
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06df : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06e0 : 05                   >        db      test_num
                            >
                            >
0680 : 28               [ 4]>            plp         ;restore status
06e1 :                      >skip0142
 
                            >
 
06e1 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 0,0
                                     set_a 0,0
                            >            load_flag 0
                            >            load_flag 0
0681 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
06e2 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0683 : 48               [ 3]>            pha         ;use stack to load status
06e4 : 48               [ 3]>            pha         ;use stack to load status
0684 : a900             [ 2]>            lda #0     ;precharge accu
06e5 : a900             [ 2]>            lda #0     ;precharge accu
0686 : 28               [ 4]>            plp
06e7 : 28               [ 4]>            plp
 
 
0687 : 48               [ 3]         pha
06e8 : 48               [ 3]         pha
                                     tst_a 0,0
                                     tst_a 0,0
0688 : 08               [ 3]>            php         ;save flags
06e9 : 08               [ 3]>            php         ;save flags
0689 : 08               [ 3]>            php
06ea : 08               [ 3]>            php
068a : c900             [ 2]>            cmp #0     ;test result
06eb : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
068c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
06ed : f002             [ 3]>        beq skip0147
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06ef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06f0 : 05                   >        db      test_num
 
                            >
 
06f1 :                      >skip0147
                            >
                            >
068e : 68               [ 4]>            pla         ;load status
06f1 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
068f : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
06f2 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   33
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0691 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
06f4 : f002             [ 3]>        beq skip0150
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
06f6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
06f7 : 05                   >        db      test_num
 
                            >
 
06f8 :                      >skip0150
                            >
                            >
0693 : 28               [ 4]>            plp         ;restore status
06f8 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $ff,$ff
                                     set_a $ff,$ff
                            >            load_flag $ff
                            >            load_flag $ff
0694 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
06f9 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   62
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
0696 : 48               [ 3]>            pha         ;use stack to load status
06fb : 48               [ 3]>            pha         ;use stack to load status
0697 : a9ff             [ 2]>            lda #$ff     ;precharge accu
06fc : a9ff             [ 2]>            lda #$ff     ;precharge accu
0699 : 28               [ 4]>            plp
06fe : 28               [ 4]>            plp
 
 
069a : 48               [ 3]         pha
06ff : 48               [ 3]         pha
                                     tst_a $ff,$ff
                                     tst_a $ff,$ff
069b : 08               [ 3]>            php         ;save flags
0700 : 08               [ 3]>            php         ;save flags
069c : 08               [ 3]>            php
0701 : 08               [ 3]>            php
069d : c9ff             [ 2]>            cmp #$ff     ;test result
0702 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
069f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0704 : f002             [ 3]>        beq skip0155
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0706 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0707 : 05                   >        db      test_num
                            >
                            >
06a1 : 68               [ 4]>            pla         ;load status
0708 :                      >skip0155
 
                            >
 
0708 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff
                            >            cmp_flag $ff
06a2 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0709 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
06a4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
070b : f002             [ 3]>        beq skip0158
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
070d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
070e : 05                   >        db      test_num
 
                            >
 
070f :                      >skip0158
                            >
                            >
06a6 : 28               [ 4]>            plp         ;restore status
070f : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
06a7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0710 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
06a9 : 48               [ 3]>            pha         ;use stack to load status
0712 : 48               [ 3]>            pha         ;use stack to load status
06aa : a901             [ 2]>            lda #1     ;precharge accu
0713 : a901             [ 2]>            lda #1     ;precharge accu
06ac : 28               [ 4]>            plp
0715 : 28               [ 4]>            plp
 
 
06ad : 48               [ 3]         pha
0716 : 48               [ 3]         pha
                                     tst_a 1,0
                                     tst_a 1,0
06ae : 08               [ 3]>            php         ;save flags
0717 : 08               [ 3]>            php         ;save flags
06af : 08               [ 3]>            php
0718 : 08               [ 3]>            php
06b0 : c901             [ 2]>            cmp #1     ;test result
0719 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
06b2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
071b : f002             [ 3]>        beq skip0163
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
071d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
071e : 05                   >        db      test_num
 
                            >
 
071f :                      >skip0163
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   63
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
06b4 : 68               [ 4]>            pla         ;load status
071f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
06b5 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0720 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
06b7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0722 : f002             [ 3]>        beq skip0166
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0724 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0725 : 05                   >        db      test_num
                            >
                            >
06b9 : 28               [ 4]>            plp         ;restore status
0726 :                      >skip0166
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   34
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0726 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a 0,$ff
                                     set_a 0,$ff
                            >            load_flag $ff
                            >            load_flag $ff
06ba : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0727 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
06bc : 48               [ 3]>            pha         ;use stack to load status
0729 : 48               [ 3]>            pha         ;use stack to load status
06bd : a900             [ 2]>            lda #0     ;precharge accu
072a : a900             [ 2]>            lda #0     ;precharge accu
06bf : 28               [ 4]>            plp
072c : 28               [ 4]>            plp
 
 
06c0 : 48               [ 3]         pha
072d : 48               [ 3]         pha
                                     tst_a 0,$ff
                                     tst_a 0,$ff
06c1 : 08               [ 3]>            php         ;save flags
072e : 08               [ 3]>            php         ;save flags
06c2 : 08               [ 3]>            php
072f : 08               [ 3]>            php
06c3 : c900             [ 2]>            cmp #0     ;test result
0730 : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
06c5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0732 : f002             [ 3]>        beq skip0171
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0734 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0735 : 05                   >        db      test_num
 
                            >
 
0736 :                      >skip0171
                            >
                            >
06c7 : 68               [ 4]>            pla         ;load status
0736 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff
                            >            cmp_flag $ff
06c8 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0737 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
06ca : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0739 : f002             [ 3]>        beq skip0174
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
073b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
073c : 05                   >        db      test_num
                            >
                            >
06cc : 28               [ 4]>            plp         ;restore status
073d :                      >skip0174
 
                            >
 
073d : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $ff,0
                                     set_a $ff,0
                            >            load_flag 0
                            >            load_flag 0
06cd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   64
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
073e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
06cf : 48               [ 3]>            pha         ;use stack to load status
0740 : 48               [ 3]>            pha         ;use stack to load status
06d0 : a9ff             [ 2]>            lda #$ff     ;precharge accu
0741 : a9ff             [ 2]>            lda #$ff     ;precharge accu
06d2 : 28               [ 4]>            plp
0743 : 28               [ 4]>            plp
 
 
06d3 : 48               [ 3]         pha
0744 : 48               [ 3]         pha
                                     tst_a $ff,0
                                     tst_a $ff,0
06d4 : 08               [ 3]>            php         ;save flags
0745 : 08               [ 3]>            php         ;save flags
06d5 : 08               [ 3]>            php
0746 : 08               [ 3]>            php
06d6 : c9ff             [ 2]>            cmp #$ff     ;test result
0747 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
06d8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0749 : f002             [ 3]>        beq skip0179
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
074b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
074c : 05                   >        db      test_num
                            >
                            >
06da : 68               [ 4]>            pla         ;load status
074d :                      >skip0179
 
                            >
 
074d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
06db : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
074e : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
06dd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0750 : f002             [ 3]>        beq skip0182
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0752 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0753 : 05                   >        db      test_num
 
                            >
 
0754 :                      >skip0182
                            >
                            >
06df : 28               [ 4]>            plp         ;restore status
0754 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 0,$ff     ;pull
                                     set_a 0,$ff     ;pull
                            >            load_flag $ff
                            >            load_flag $ff
06e0 : a9ff             [ 2]>            lda #$ff                  ;allow test to change I-flag (no mask)
0755 : a9ff             [ 2]>            lda #$ff                  ;allow test to change I-flag (no mask)
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   35
0757 : 48               [ 3]>            pha         ;use stack to load status
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0758 : a900             [ 2]>            lda #0     ;precharge accu
 
075a : 28               [ 4]>            plp
 
 
06e2 : 48               [ 3]>            pha         ;use stack to load status
075b : 68               [ 4]         pla
06e3 : a900             [ 2]>            lda #0     ;precharge accu
 
06e5 : 28               [ 4]>            plp
 
 
 
06e6 : 68               [ 4]         pla
 
                                     tst_a $ff,$ff-zero
                                     tst_a $ff,$ff-zero
06e7 : 08               [ 3]>            php         ;save flags
075c : 08               [ 3]>            php         ;save flags
06e8 : 08               [ 3]>            php
075d : 08               [ 3]>            php
06e9 : c9ff             [ 2]>            cmp #$ff     ;test result
075e : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
06eb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0760 : f002             [ 3]>        beq skip0187
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0762 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0763 : 05                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   65
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0764 :                      >skip0187
                            >
                            >
06ed : 68               [ 4]>            pla         ;load status
0764 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
06ee : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0765 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
06f0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0767 : f002             [ 3]>        beq skip0190
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0769 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
076a : 05                   >        db      test_num
                            >
                            >
06f2 : 28               [ 4]>            plp         ;restore status
076b :                      >skip0190
 
                            >
 
076b : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $ff,0
                                     set_a $ff,0
                            >            load_flag 0
                            >            load_flag 0
06f3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
076c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
06f5 : 48               [ 3]>            pha         ;use stack to load status
076e : 48               [ 3]>            pha         ;use stack to load status
06f6 : a9ff             [ 2]>            lda #$ff     ;precharge accu
076f : a9ff             [ 2]>            lda #$ff     ;precharge accu
06f8 : 28               [ 4]>            plp
0771 : 28               [ 4]>            plp
 
 
06f9 : 68               [ 4]         pla
0772 : 68               [ 4]         pla
                                     tst_a 0,zero
                                     tst_a 0,zero
06fa : 08               [ 3]>            php         ;save flags
0773 : 08               [ 3]>            php         ;save flags
06fb : 08               [ 3]>            php
0774 : 08               [ 3]>            php
06fc : c900             [ 2]>            cmp #0     ;test result
0775 : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
06fe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0777 : f002             [ 3]>        beq skip0195
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0779 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
077a : 05                   >        db      test_num
                            >
                            >
0700 : 68               [ 4]>            pla         ;load status
077b :                      >skip0195
 
                            >
 
077b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0701 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
077c : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0703 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
077e : f002             [ 3]>        beq skip0198
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0780 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0781 : 05                   >        db      test_num
 
                            >
 
0782 :                      >skip0198
                            >
                            >
0705 : 28               [ 4]>            plp         ;restore status
0782 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $fe,$ff
                                     set_a $fe,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   66
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
0706 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0783 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0708 : 48               [ 3]>            pha         ;use stack to load status
0785 : 48               [ 3]>            pha         ;use stack to load status
0709 : a9fe             [ 2]>            lda #$fe     ;precharge accu
0786 : a9fe             [ 2]>            lda #$fe     ;precharge accu
070b : 28               [ 4]>            plp
0788 : 28               [ 4]>            plp
 
 
070c : 68               [ 4]         pla
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   36
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
0789 : 68               [ 4]         pla
                                     tst_a 1,$ff-zero-minus
                                     tst_a 1,$ff-zero-minus
070d : 08               [ 3]>            php         ;save flags
078a : 08               [ 3]>            php         ;save flags
070e : 08               [ 3]>            php
078b : 08               [ 3]>            php
070f : c901             [ 2]>            cmp #1     ;test result
078c : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0711 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
078e : f002             [ 3]>        beq skip0203
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0790 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0791 : 05                   >        db      test_num
 
                            >
 
0792 :                      >skip0203
                            >
                            >
0713 : 68               [ 4]>            pla         ;load status
0792 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero-minus
                            >            cmp_flag $ff-zero-minus
0714 : c97d             [ 2]>            cmp #($ff-zero-minus|fao)&m8    ;expected flags + always on bits
0793 : c97d             [ 2]>            cmp #($ff-zero-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0716 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0795 : f002             [ 3]>        beq skip0206
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0797 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0798 : 05                   >        db      test_num
                            >
                            >
0718 : 28               [ 4]>            plp         ;restore status
0799 :                      >skip0206
 
                            >
 
0799 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 0,0
                                     set_a 0,0
                            >            load_flag 0
                            >            load_flag 0
0719 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
079a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
071b : 48               [ 3]>            pha         ;use stack to load status
079c : 48               [ 3]>            pha         ;use stack to load status
071c : a900             [ 2]>            lda #0     ;precharge accu
079d : a900             [ 2]>            lda #0     ;precharge accu
071e : 28               [ 4]>            plp
079f : 28               [ 4]>            plp
 
 
071f : 68               [ 4]         pla
07a0 : 68               [ 4]         pla
                                     tst_a $ff,minus
                                     tst_a $ff,minus
0720 : 08               [ 3]>            php         ;save flags
07a1 : 08               [ 3]>            php         ;save flags
0721 : 08               [ 3]>            php
07a2 : 08               [ 3]>            php
0722 : c9ff             [ 2]>            cmp #$ff     ;test result
07a3 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0724 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07a5 : f002             [ 3]>        beq skip0211
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07a7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07a8 : 05                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   67
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
07a9 :                      >skip0211
                            >
                            >
0726 : 68               [ 4]>            pla         ;load status
07a9 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
0727 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
07aa : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0729 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07ac : f002             [ 3]>        beq skip0214
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07ae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07af : 05                   >        db      test_num
                            >
                            >
072b : 28               [ 4]>            plp         ;restore status
07b0 :                      >skip0214
 
                            >
 
07b0 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $ff,$ff
                                     set_a $ff,$ff
                            >            load_flag $ff
                            >            load_flag $ff
072c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
07b1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
072e : 48               [ 3]>            pha         ;use stack to load status
07b3 : 48               [ 3]>            pha         ;use stack to load status
072f : a9ff             [ 2]>            lda #$ff     ;precharge accu
07b4 : a9ff             [ 2]>            lda #$ff     ;precharge accu
0731 : 28               [ 4]>            plp
07b6 : 28               [ 4]>            plp
 
 
0732 : 68               [ 4]         pla
07b7 : 68               [ 4]         pla
                                     tst_a 0,$ff-minus
                                     tst_a 0,$ff-minus
0733 : 08               [ 3]>            php         ;save flags
07b8 : 08               [ 3]>            php         ;save flags
0734 : 08               [ 3]>            php
07b9 : 08               [ 3]>            php
0735 : c900             [ 2]>            cmp #0     ;test result
07ba : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   37
07bc : f002             [ 3]>        beq skip0219
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0737 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07be : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07bf : 05                   >        db      test_num
                            >
                            >
0739 : 68               [ 4]>            pla         ;load status
07c0 :                      >skip0219
 
                            >
 
07c0 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
073a : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
07c1 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
073c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07c3 : f002             [ 3]>        beq skip0222
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07c5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07c6 : 05                   >        db      test_num
 
                            >
 
07c7 :                      >skip0222
                            >
                            >
073e : 28               [ 4]>            plp         ;restore status
07c7 : 28               [ 4]>            plp         ;restore status
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   68
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     set_a $fe,0
                                     set_a $fe,0
                            >            load_flag 0
                            >            load_flag 0
073f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
07c8 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0741 : 48               [ 3]>            pha         ;use stack to load status
07ca : 48               [ 3]>            pha         ;use stack to load status
0742 : a9fe             [ 2]>            lda #$fe     ;precharge accu
07cb : a9fe             [ 2]>            lda #$fe     ;precharge accu
0744 : 28               [ 4]>            plp
07cd : 28               [ 4]>            plp
 
 
0745 : 68               [ 4]         pla
07ce : 68               [ 4]         pla
                                     tst_a 1,0
                                     tst_a 1,0
0746 : 08               [ 3]>            php         ;save flags
07cf : 08               [ 3]>            php         ;save flags
0747 : 08               [ 3]>            php
07d0 : 08               [ 3]>            php
0748 : c901             [ 2]>            cmp #1     ;test result
07d1 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
074a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07d3 : f002             [ 3]>        beq skip0227
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07d5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07d6 : 05                   >        db      test_num
                            >
                            >
074c : 68               [ 4]>            pla         ;load status
07d7 :                      >skip0227
 
                            >
 
07d7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
074d : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
07d8 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
074f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07da : f002             [ 3]>        beq skip0230
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07dc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07dd : 05                   >        db      test_num
 
                            >
 
07de :                      >skip0230
                            >
                            >
0751 : 28               [ 4]>            plp         ;restore status
07de : 28               [ 4]>            plp         ;restore status
 
 
0752 : e055             [ 2]         cpx #$55        ;x & y unchanged?
07df : e055             [ 2]         cpx #$55        ;x & y unchanged?
                                     trap_ne
                                     trap_ne
0754 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07e1 : f002             [ 3]>        beq skip0232
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07e3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07e4 : 05                   >        db      test_num
 
                            >
 
07e5 :                      >skip0232
 
 
0756 : c0aa             [ 2]         cpy #$aa
07e5 : c0aa             [ 2]         cpy #$aa
                                     trap_ne
                                     trap_ne
0758 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07e7 : f002             [ 3]>        beq skip0234
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07e9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07ea : 05                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   69
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
07eb :                      >skip0234
 
 
                                     next_test
                                     next_test
075a : ad0002           [ 4]>            lda test_case   ;previous test
07eb : ad0002           [ 4]>            lda test_case   ;previous test
075d : c905             [ 2]>            cmp #test_num
07ee : c905             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
075f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
07f0 : f002             [ 3]>        beq skip0237
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
07f2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
07f3 : 05                   >        db      test_num
 
                            >
 
07f4 :                      >skip0237
                            >
                            >
0006 =                      >test_num = test_num + 1
0006 =                      >test_num = test_num + 1
0761 : a906             [ 2]>            lda #test_num   ;*** this tests' number
07f4 : a906             [ 2]>            lda #test_num   ;*** this tests' number
0763 : 8d0002           [ 4]>            sta test_case
07f6 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   38
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
                             ; partial pretest EOR #
                             ; partial pretest EOR #
 
 
                                     set_a $3c,0
                                     set_a $3c,0
                            >            load_flag 0
                            >            load_flag 0
0766 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
07f9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0768 : 48               [ 3]>            pha         ;use stack to load status
07fb : 48               [ 3]>            pha         ;use stack to load status
0769 : a93c             [ 2]>            lda #$3c     ;precharge accu
07fc : a93c             [ 2]>            lda #$3c     ;precharge accu
076b : 28               [ 4]>            plp
07fe : 28               [ 4]>            plp
 
 
076c : 49c3             [ 2]         eor #$c3
07ff : 49c3             [ 2]         eor #$c3
                                     tst_a $ff,fn
                                     tst_a $ff,fn
076e : 08               [ 3]>            php         ;save flags
0801 : 08               [ 3]>            php         ;save flags
076f : 08               [ 3]>            php
0802 : 08               [ 3]>            php
0770 : c9ff             [ 2]>            cmp #$ff     ;test result
0803 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0772 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0805 : f002             [ 3]>        beq skip0242
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0807 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0808 : 06                   >        db      test_num
 
                            >
 
0809 :                      >skip0242
                            >
                            >
0774 : 68               [ 4]>            pla         ;load status
0809 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
0775 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
080a : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0777 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
080c : f002             [ 3]>        beq skip0245
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
080e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
080f : 06                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   70
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0810 :                      >skip0245
                            >
                            >
0779 : 28               [ 4]>            plp         ;restore status
0810 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $c3,0
                                     set_a $c3,0
                            >            load_flag 0
                            >            load_flag 0
077a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0811 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
077c : 48               [ 3]>            pha         ;use stack to load status
0813 : 48               [ 3]>            pha         ;use stack to load status
077d : a9c3             [ 2]>            lda #$c3     ;precharge accu
0814 : a9c3             [ 2]>            lda #$c3     ;precharge accu
077f : 28               [ 4]>            plp
0816 : 28               [ 4]>            plp
 
 
0780 : 49c3             [ 2]         eor #$c3
0817 : 49c3             [ 2]         eor #$c3
                                     tst_a 0,fz
                                     tst_a 0,fz
0782 : 08               [ 3]>            php         ;save flags
0819 : 08               [ 3]>            php         ;save flags
0783 : 08               [ 3]>            php
081a : 08               [ 3]>            php
0784 : c900             [ 2]>            cmp #0     ;test result
081b : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
0786 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
081d : f002             [ 3]>        beq skip0250
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
081f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0820 : 06                   >        db      test_num
 
                            >
 
0821 :                      >skip0250
                            >
                            >
0788 : 68               [ 4]>            pla         ;load status
0821 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fz
                            >            cmp_flag fz
0789 : c932             [ 2]>            cmp #(fz|fao)&m8    ;expected flags + always on bits
0822 : c932             [ 2]>            cmp #(fz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
078b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0824 : f002             [ 3]>        beq skip0253
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0826 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0827 : 06                   >        db      test_num
                            >
                            >
078d : 28               [ 4]>            plp         ;restore status
0828 :                      >skip0253
 
                            >
 
0828 : 28               [ 4]>            plp         ;restore status
 
 
                                     next_test
                                     next_test
078e : ad0002           [ 4]>            lda test_case   ;previous test
0829 : ad0002           [ 4]>            lda test_case   ;previous test
0791 : c906             [ 2]>            cmp #test_num
082c : c906             [ 2]>            cmp #test_num
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   39
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0793 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
082e : f002             [ 3]>        beq skip0256
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0830 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0831 : 06                   >        db      test_num
 
                            >
 
0832 :                      >skip0256
                            >
                            >
0007 =                      >test_num = test_num + 1
0007 =                      >test_num = test_num + 1
0795 : a907             [ 2]>            lda #test_num   ;*** this tests' number
0832 : a907             [ 2]>            lda #test_num   ;*** this tests' number
0797 : 8d0002           [ 4]>            sta test_case
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   71
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0834 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; PC modifying instructions except branches (NOP, JMP, JSR, RTS, BRK, RTI)
                             ; PC modifying instructions except branches (NOP, JMP, JSR, RTS, BRK, RTI)
                             ; testing NOP
                             ; testing NOP
079a : a224             [ 2]         ldx #$24
 
079c : a042             [ 2]         ldy #$42
0837 : a224             [ 2]         ldx #$24
 
0839 : a042             [ 2]         ldy #$42
                                     set_a $18,0
                                     set_a $18,0
                            >            load_flag 0
                            >            load_flag 0
079e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
083b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
07a0 : 48               [ 3]>            pha         ;use stack to load status
083d : 48               [ 3]>            pha         ;use stack to load status
07a1 : a918             [ 2]>            lda #$18     ;precharge accu
083e : a918             [ 2]>            lda #$18     ;precharge accu
07a3 : 28               [ 4]>            plp
0840 : 28               [ 4]>            plp
 
 
07a4 : ea               [ 2]         nop
0841 : ea               [ 2]         nop
                                     tst_a $18,0
                                     tst_a $18,0
07a5 : 08               [ 3]>            php         ;save flags
0842 : 08               [ 3]>            php         ;save flags
07a6 : 08               [ 3]>            php
0843 : 08               [ 3]>            php
07a7 : c918             [ 2]>            cmp #$18     ;test result
0844 : c918             [ 2]>            cmp #$18     ;test result
                            >            trap_ne
                            >            trap_ne
07a9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0846 : f002             [ 3]>        beq skip0261
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0848 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0849 : 07                   >        db      test_num
                            >
                            >
07ab : 68               [ 4]>            pla         ;load status
084a :                      >skip0261
 
                            >
 
084a : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
07ac : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
084b : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
07ae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
084d : f002             [ 3]>        beq skip0264
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
084f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0850 : 07                   >        db      test_num
                            >
                            >
07b0 : 28               [ 4]>            plp         ;restore status
0851 :                      >skip0264
 
                            >
 
0851 : 28               [ 4]>            plp         ;restore status
 
 
07b1 : e024             [ 2]         cpx #$24
0852 : e024             [ 2]         cpx #$24
                                     trap_ne
                                     trap_ne
07b3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0854 : f002             [ 3]>        beq skip0266
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0856 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0857 : 07                   >        db      test_num
 
                            >
 
0858 :                      >skip0266
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   72
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
07b5 : c042             [ 2]         cpy #$42
 
 
0858 : c042             [ 2]         cpy #$42
                                     trap_ne
                                     trap_ne
07b7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
085a : f002             [ 3]>        beq skip0268
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
085c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
085d : 07                   >        db      test_num
 
                            >
 
085e :                      >skip0268
 
 
07b9 : a2db             [ 2]         ldx #$db
085e : a2db             [ 2]         ldx #$db
07bb : a0bd             [ 2]         ldy #$bd
0860 : a0bd             [ 2]         ldy #$bd
                                     set_a $e7,$ff
                                     set_a $e7,$ff
                            >            load_flag $ff
                            >            load_flag $ff
07bd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0862 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
07bf : 48               [ 3]>            pha         ;use stack to load status
0864 : 48               [ 3]>            pha         ;use stack to load status
07c0 : a9e7             [ 2]>            lda #$e7     ;precharge accu
0865 : a9e7             [ 2]>            lda #$e7     ;precharge accu
07c2 : 28               [ 4]>            plp
0867 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   40
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
0868 : ea               [ 2]         nop
07c3 : ea               [ 2]         nop
 
                                     tst_a $e7,$ff
                                     tst_a $e7,$ff
07c4 : 08               [ 3]>            php         ;save flags
0869 : 08               [ 3]>            php         ;save flags
07c5 : 08               [ 3]>            php
086a : 08               [ 3]>            php
07c6 : c9e7             [ 2]>            cmp #$e7     ;test result
086b : c9e7             [ 2]>            cmp #$e7     ;test result
                            >            trap_ne
                            >            trap_ne
07c8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
086d : f002             [ 3]>        beq skip0273
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
086f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0870 : 07                   >        db      test_num
                            >
                            >
07ca : 68               [ 4]>            pla         ;load status
0871 :                      >skip0273
 
                            >
 
0871 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff
                            >            cmp_flag $ff
07cb : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0872 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
07cd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0874 : f002             [ 3]>        beq skip0276
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0876 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0877 : 07                   >        db      test_num
 
                            >
 
0878 :                      >skip0276
                            >
                            >
07cf : 28               [ 4]>            plp         ;restore status
0878 : 28               [ 4]>            plp         ;restore status
 
 
07d0 : e0db             [ 2]         cpx #$db
0879 : e0db             [ 2]         cpx #$db
                                     trap_ne
                                     trap_ne
07d2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
087b : f002             [ 3]>        beq skip0278
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   73
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
07d4 : c0bd             [ 2]         cpy #$bd
087d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
087e : 07                   >        db      test_num
 
                            >
 
087f :                      >skip0278
 
 
 
087f : c0bd             [ 2]         cpy #$bd
                                     trap_ne
                                     trap_ne
07d6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0881 : f002             [ 3]>        beq skip0280
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0883 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0884 : 07                   >        db      test_num
 
                            >
 
0885 :                      >skip0280
 
 
                                     next_test
                                     next_test
07d8 : ad0002           [ 4]>            lda test_case   ;previous test
0885 : ad0002           [ 4]>            lda test_case   ;previous test
07db : c907             [ 2]>            cmp #test_num
0888 : c907             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
07dd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
088a : f002             [ 3]>        beq skip0283
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
088c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
088d : 07                   >        db      test_num
 
                            >
 
088e :                      >skip0283
                            >
                            >
0008 =                      >test_num = test_num + 1
0008 =                      >test_num = test_num + 1
07df : a908             [ 2]>            lda #test_num   ;*** this tests' number
088e : a908             [ 2]>            lda #test_num   ;*** this tests' number
07e1 : 8d0002           [ 4]>            sta test_case
0890 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; jump absolute
                             ; jump absolute
 
 
                                     set_stat $0
                                     set_stat $0
                            >            load_flag $0
                            >            load_flag $0
07e4 : a900             [ 2]>            lda #$0             ;allow test to change I-flag (no mask)
0893 : a900             [ 2]>            lda #$0             ;allow test to change I-flag (no mask)
                            >
                            >
07e6 : 48               [ 3]>            pha         ;use stack to load status
0895 : 48               [ 3]>            pha         ;use stack to load status
07e7 : 28               [ 4]>            plp
0896 : 28               [ 4]>            plp
 
 
07e8 : a946             [ 2]         lda #'F'
0897 : a946             [ 2]         lda #'F'
07ea : a241             [ 2]         ldx #'A'
0899 : a241             [ 2]         ldx #'A'
07ec : a052             [ 2]         ldy #'R'        ;N=0, V=0, Z=0, C=0
089b : a052             [ 2]         ldy #'R'        ;N=0, V=0, Z=0, C=0
07ee : 4c4e35           [ 3]         jmp test_far
089d : 4c1b3d           [ 3]         jmp test_far
07f1 : ea               [ 2]         nop
08a0 : ea               [ 2]         nop
07f2 : ea               [ 2]         nop
08a1 : ea               [ 2]         nop
                                     trap_ne         ;runover protection
                                     trap_ne         ;runover protection
07f3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08a2 : f002             [ 3]>        beq skip0287
 
                            >        trap           ;failed equal (zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   41
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08a4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08a5 : 08                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   74
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
07f5 : e8               [ 2]         inx
08a6 :                      >skip0287
07f6 : e8               [ 2]         inx
 
07f7 :                       far_ret
08a6 : e8               [ 2]         inx
 
08a7 : e8               [ 2]         inx
 
08a8 :                       far_ret
                                     trap_eq         ;returned flags OK?
                                     trap_eq         ;returned flags OK?
07f7 : f0fe             [ 3]>        beq *           ;failed equal (zero)
08a8 : d002             [ 3]>        bne skip0289
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08aa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08ab : 08                   >        db      test_num
 
                            >
 
08ac :                      >skip0289
 
 
                                     trap_pl
                                     trap_pl
07f9 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
08ac : 3002             [ 3]>        bmi skip0291
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08ae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08af : 08                   >        db      test_num
 
                            >
 
08b0 :                      >skip0291
 
 
                                     trap_cc
                                     trap_cc
07fb : 90fe             [ 3]>        bcc *           ;failed carry clear
08b0 : b002             [ 3]>        bcs skip0293
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08b2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08b3 : 08                   >        db      test_num
 
                            >
 
08b4 :                      >skip0293
 
 
                                     trap_vc
                                     trap_vc
07fd : 50fe             [ 3]>        bvc *           ;failed overflow clear
08b4 : 7002             [ 3]>        bvs skip0295
 
                            >        trap           ;failed equal (zero)
07ff : c9ec             [ 2]         cmp #('F'^$aa)  ;returned registers OK?
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                                     trap_ne
08b6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0801 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08b7 : 08                   >        db      test_num
 
                            >
 
08b8 :                      >skip0295
 
 
0803 : e042             [ 2]         cpx #('A'+1)
08b8 : c9ec             [ 2]         cmp #('F'^$aa)  ;returned registers OK?
                                     trap_ne
                                     trap_ne
0805 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08ba : f002             [ 3]>        beq skip0297
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08bc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08bd : 08                   >        db      test_num
 
                            >
 
08be :                      >skip0297
 
 
0807 : c04f             [ 2]         cpy #('R'-3)
08be : e042             [ 2]         cpx #('A'+1)
                                     trap_ne
                                     trap_ne
0809 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08c0 : f002             [ 3]>        beq skip0299
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   75
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
080b : ca               [ 2]         dex
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
080c : c8               [ 2]         iny
08c2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
080d : c8               [ 2]         iny
08c3 : 08                   >        db      test_num
080e : c8               [ 2]         iny
                            >
080f : 49aa             [ 2]         eor #$aa        ;N=0, V=1, Z=0, C=1
08c4 :                      >skip0299
0811 : 4c1a08           [ 3]         jmp test_near
 
0814 : ea               [ 2]         nop
08c4 : c04f             [ 2]         cpy #('R'-3)
0815 : ea               [ 2]         nop
                                     trap_ne
 
08c6 : f002             [ 3]>        beq skip0301
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08c8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08c9 : 08                   >        db      test_num
 
                            >
 
08ca :                      >skip0301
 
 
 
08ca : ca               [ 2]         dex
 
08cb : c8               [ 2]         iny
 
08cc : c8               [ 2]         iny
 
08cd : c8               [ 2]         iny
 
08ce : 49aa             [ 2]         eor #$aa        ;N=0, V=1, Z=0, C=1
 
08d0 : 4cdb08           [ 3]         jmp test_near
 
08d3 : ea               [ 2]         nop
 
08d4 : ea               [ 2]         nop
                                     trap_ne         ;runover protection
                                     trap_ne         ;runover protection
0816 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08d5 : f002             [ 3]>        beq skip0303
 
                            >        trap           ;failed equal (zero)
0818 : e8               [ 2]         inx
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0819 : e8               [ 2]         inx
08d7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
081a :                       test_near
08d8 : 08                   >        db      test_num
 
                            >
 
08d9 :                      >skip0303
 
 
 
08d9 : e8               [ 2]         inx
 
08da : e8               [ 2]         inx
 
08db :                       test_near
                                     trap_eq         ;passed flags OK?
                                     trap_eq         ;passed flags OK?
081a : f0fe             [ 3]>        beq *           ;failed equal (zero)
08db : d002             [ 3]>        bne skip0305
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08dd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08de : 08                   >        db      test_num
 
                            >
 
08df :                      >skip0305
 
 
                                     trap_mi
                                     trap_mi
081c : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
08df : 1002             [ 3]>        bpl skip0307
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08e1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08e2 : 08                   >        db      test_num
 
                            >
 
08e3 :                      >skip0307
 
 
                                     trap_cc
                                     trap_cc
081e : 90fe             [ 3]>        bcc *           ;failed carry clear
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   76
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
08e3 : b002             [ 3]>        bcs skip0309
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08e5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08e6 : 08                   >        db      test_num
 
                            >
 
08e7 :                      >skip0309
 
 
                                     trap_vc
                                     trap_vc
0820 : 50fe             [ 3]>        bvc *           ;failed overflow clear
08e7 : 7002             [ 3]>        bvs skip0311
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08e9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08ea : 08                   >        db      test_num
 
                            >
 
08eb :                      >skip0311
 
 
0822 : c946             [ 2]         cmp #'F'        ;passed registers OK?
08eb : c946             [ 2]         cmp #'F'        ;passed registers OK?
                                     trap_ne
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   42
08ed : f002             [ 3]>        beq skip0313
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0824 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08ef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08f0 : 08                   >        db      test_num
 
                            >
 
08f1 :                      >skip0313
 
 
0826 : e041             [ 2]         cpx #'A'
08f1 : e041             [ 2]         cpx #'A'
                                     trap_ne
                                     trap_ne
0828 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08f3 : f002             [ 3]>        beq skip0315
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08f5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08f6 : 08                   >        db      test_num
 
                            >
 
08f7 :                      >skip0315
 
 
082a : c052             [ 2]         cpy #'R'
08f7 : c052             [ 2]         cpy #'R'
                                     trap_ne
                                     trap_ne
082c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
08f9 : f002             [ 3]>        beq skip0317
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
08fb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
08fc : 08                   >        db      test_num
 
                            >
 
08fd :                      >skip0317
 
 
                                     next_test
                                     next_test
082e : ad0002           [ 4]>            lda test_case   ;previous test
08fd : ad0002           [ 4]>            lda test_case   ;previous test
0831 : c908             [ 2]>            cmp #test_num
0900 : c908             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0833 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0902 : f002             [ 3]>        beq skip0320
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0904 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   77
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0905 : 08                   >        db      test_num
 
                            >
 
0906 :                      >skip0320
                            >
                            >
0009 =                      >test_num = test_num + 1
0009 =                      >test_num = test_num + 1
0835 : a909             [ 2]>            lda #test_num   ;*** this tests' number
0906 : a909             [ 2]>            lda #test_num   ;*** this tests' number
0837 : 8d0002           [ 4]>            sta test_case
0908 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; jump indirect
                             ; jump indirect
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
083a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
090b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
083c : 48               [ 3]>            pha         ;use stack to load status
090d : 48               [ 3]>            pha         ;use stack to load status
083d : 28               [ 4]>            plp
090e : 28               [ 4]>            plp
 
 
083e : a949             [ 2]         lda #'I'
090f : a949             [ 2]         lda #'I'
0840 : a24e             [ 2]         ldx #'N'
0911 : a24e             [ 2]         ldx #'N'
0842 : a044             [ 2]         ldy #'D'        ;N=0, V=0, Z=0, C=0
0913 : a044             [ 2]         ldy #'D'        ;N=0, V=0, Z=0, C=0
0844 : 6c7c35           [ 6]         jmp (ptr_tst_ind)
0915 : 6c5a3d           [ 6]         jmp (ptr_tst_ind)
0847 : ea               [ 2]         nop
0918 : ea               [ 2]         nop
                                     trap_ne         ;runover protection
                                     trap_ne         ;runover protection
0848 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0919 : f002             [ 3]>        beq skip0324
 
                            >        trap           ;failed equal (zero)
084a : 88               [ 2]         dey
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
084b : 88               [ 2]         dey
091b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
084c :                       ind_ret
091c : 09                   >        db      test_num
084c : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
                            >
084d : 88               [ 2]         dey
091d :                      >skip0324
084e : 88               [ 2]         dey
 
084f : 88               [ 2]         dey
091d : 88               [ 2]         dey
0850 : 28               [ 4]         plp
091e : 88               [ 2]         dey
 
091f :                       ind_ret
 
091f : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
0920 : 88               [ 2]         dey
 
0921 : 88               [ 2]         dey
 
0922 : 88               [ 2]         dey
 
0923 : 28               [ 4]         plp
                                     trap_eq         ;returned flags OK?
                                     trap_eq         ;returned flags OK?
0851 : f0fe             [ 3]>        beq *           ;failed equal (zero)
0924 : d002             [ 3]>        bne skip0326
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0926 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0927 : 09                   >        db      test_num
 
                            >
 
0928 :                      >skip0326
 
 
                                     trap_pl
                                     trap_pl
0853 : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
0928 : 3002             [ 3]>        bmi skip0328
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
092a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   78
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     trap_cc
092b : 09                   >        db      test_num
0855 : 90fe             [ 3]>        bcc *           ;failed carry clear
                            >
 
092c :                      >skip0328
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   43
                                     trap_cc
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
092c : b002             [ 3]>        bcs skip0330
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
092e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
092f : 09                   >        db      test_num
 
                            >
 
0930 :                      >skip0330
 
 
                                     trap_vc
                                     trap_vc
0857 : 50fe             [ 3]>        bvc *           ;failed overflow clear
0930 : 7002             [ 3]>        bvs skip0332
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0932 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0933 : 09                   >        db      test_num
 
                            >
 
0934 :                      >skip0332
 
 
0859 : c9e3             [ 2]         cmp #('I'^$aa)  ;returned registers OK?
0934 : c9e3             [ 2]         cmp #('I'^$aa)  ;returned registers OK?
                                     trap_ne
                                     trap_ne
085b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0936 : f002             [ 3]>        beq skip0334
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0938 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0939 : 09                   >        db      test_num
 
                            >
 
093a :                      >skip0334
 
 
085d : e04f             [ 2]         cpx #('N'+1)
093a : e04f             [ 2]         cpx #('N'+1)
                                     trap_ne
                                     trap_ne
085f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
093c : f002             [ 3]>        beq skip0336
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
093e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
093f : 09                   >        db      test_num
 
                            >
 
0940 :                      >skip0336
 
 
0861 : c03e             [ 2]         cpy #('D'-6)
0940 : c03e             [ 2]         cpy #('D'-6)
                                     trap_ne
                                     trap_ne
0863 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0942 : f002             [ 3]>        beq skip0338
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0944 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0945 : 09                   >        db      test_num
 
                            >
 
0946 :                      >skip0338
 
 
0865 : ba               [ 2]         tsx             ;SP check
0946 : ba               [ 2]         tsx             ;SP check
0866 : e0ff             [ 2]         cpx #$ff
0947 : e0ff             [ 2]         cpx #$ff
                                     trap_ne
                                     trap_ne
0868 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   79
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0949 : f002             [ 3]>        beq skip0340
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
094b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
094c : 09                   >        db      test_num
 
                            >
 
094d :                      >skip0340
 
 
                                     next_test
                                     next_test
086a : ad0002           [ 4]>            lda test_case   ;previous test
094d : ad0002           [ 4]>            lda test_case   ;previous test
086d : c909             [ 2]>            cmp #test_num
0950 : c909             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
086f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0952 : f002             [ 3]>        beq skip0343
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0954 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0955 : 09                   >        db      test_num
 
                            >
 
0956 :                      >skip0343
                            >
                            >
000a =                      >test_num = test_num + 1
000a =                      >test_num = test_num + 1
0871 : a90a             [ 2]>            lda #test_num   ;*** this tests' number
0956 : a90a             [ 2]>            lda #test_num   ;*** this tests' number
0873 : 8d0002           [ 4]>            sta test_case
0958 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; jump subroutine & return from subroutine
                             ; jump subroutine & return from subroutine
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0876 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
095b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0878 : 48               [ 3]>            pha         ;use stack to load status
095d : 48               [ 3]>            pha         ;use stack to load status
0879 : 28               [ 4]>            plp
095e : 28               [ 4]>            plp
 
 
087a : a94a             [ 2]         lda #'J'
095f : a94a             [ 2]         lda #'J'
087c : a253             [ 2]         ldx #'S'
0961 : a253             [ 2]         ldx #'S'
087e : a052             [ 2]         ldy #'R'        ;N=0, V=0, Z=0, C=0
0963 : a052             [ 2]         ldy #'R'        ;N=0, V=0, Z=0, C=0
0880 : 20b835           [ 6]         jsr test_jsr
0965 : 20a43d           [ 6]         jsr test_jsr
0882 =                       jsr_ret = *-1           ;last address of jsr = return address
0967 =                       jsr_ret = *-1           ;last address of jsr = return address
0883 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
0968 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
0884 : 88               [ 2]         dey
0969 : 88               [ 2]         dey
0885 : 88               [ 2]         dey
096a : 88               [ 2]         dey
0886 : 88               [ 2]         dey
096b : 88               [ 2]         dey
0887 : 28               [ 4]         plp
096c : 28               [ 4]         plp
                                     trap_eq         ;returned flags OK?
                                     trap_eq         ;returned flags OK?
0888 : f0fe             [ 3]>        beq *           ;failed equal (zero)
096d : d002             [ 3]>        bne skip0347
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
096f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0970 : 0a                   >        db      test_num
 
                            >
 
0971 :                      >skip0347
 
 
                                     trap_pl
                                     trap_pl
088a : 10fe             [ 3]>        bpl *           ;failed plus (bit 7 clear)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   80
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   44
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0971 : 3002             [ 3]>        bmi skip0349
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0973 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0974 : 0a                   >        db      test_num
 
                            >
 
0975 :                      >skip0349
 
 
                                     trap_cc
                                     trap_cc
088c : 90fe             [ 3]>        bcc *           ;failed carry clear
0975 : b002             [ 3]>        bcs skip0351
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0977 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0978 : 0a                   >        db      test_num
 
                            >
 
0979 :                      >skip0351
 
 
                                     trap_vc
                                     trap_vc
088e : 50fe             [ 3]>        bvc *           ;failed overflow clear
0979 : 7002             [ 3]>        bvs skip0353
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
097b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
097c : 0a                   >        db      test_num
 
                            >
 
097d :                      >skip0353
 
 
0890 : c9e0             [ 2]         cmp #('J'^$aa)  ;returned registers OK?
097d : c9e0             [ 2]         cmp #('J'^$aa)  ;returned registers OK?
                                     trap_ne
                                     trap_ne
0892 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
097f : f002             [ 3]>        beq skip0355
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0981 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0982 : 0a                   >        db      test_num
 
                            >
 
0983 :                      >skip0355
 
 
0894 : e054             [ 2]         cpx #('S'+1)
0983 : e054             [ 2]         cpx #('S'+1)
                                     trap_ne
                                     trap_ne
0896 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0985 : f002             [ 3]>        beq skip0357
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0987 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0988 : 0a                   >        db      test_num
 
                            >
 
0989 :                      >skip0357
 
 
0898 : c04c             [ 2]         cpy #('R'-6)
0989 : c04c             [ 2]         cpy #('R'-6)
                                     trap_ne
                                     trap_ne
089a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
098b : f002             [ 3]>        beq skip0359
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
098d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
098e : 0a                   >        db      test_num
 
                            >
 
098f :                      >skip0359
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   81
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
089c : ba               [ 2]         tsx             ;sp?
098f : ba               [ 2]         tsx             ;sp?
089d : e0ff             [ 2]         cpx #$ff
0990 : e0ff             [ 2]         cpx #$ff
                                     trap_ne
                                     trap_ne
089f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0992 : f002             [ 3]>        beq skip0361
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0994 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0995 : 0a                   >        db      test_num
 
                            >
 
0996 :                      >skip0361
 
 
                                     next_test
                                     next_test
08a1 : ad0002           [ 4]>            lda test_case   ;previous test
0996 : ad0002           [ 4]>            lda test_case   ;previous test
08a4 : c90a             [ 2]>            cmp #test_num
0999 : c90a             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
08a6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
099b : f002             [ 3]>        beq skip0364
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
099d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
099e : 0a                   >        db      test_num
 
                            >
 
099f :                      >skip0364
                            >
                            >
000b =                      >test_num = test_num + 1
000b =                      >test_num = test_num + 1
08a8 : a90b             [ 2]>            lda #test_num   ;*** this tests' number
099f : a90b             [ 2]>            lda #test_num   ;*** this tests' number
08aa : 8d0002           [ 4]>            sta test_case
09a1 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; break & return from interrupt
                             ; break & return from interrupt
 
 
                                 if ROM_vectors = 1
                                 if ROM_vectors = 1
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                                     lda #'B'
08ad : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                                     ldx #'R'
                            >
                                     ldy #'K'        ;N=0, V=0, Z=0, C=0
08af : 48               [ 3]>            pha         ;use stack to load status
                                     brk
08b0 : 28               [ 4]>            plp
 
 
 
08b1 : a942             [ 2]         lda #'B'
 
08b3 : a252             [ 2]         ldx #'R'
 
08b5 : a04b             [ 2]         ldy #'K'        ;N=0, V=0, Z=0, C=0
 
08b7 : 00               [ 7]         brk
 
                                 else
                                 else
                                     lda #hi brk_ret ;emulated break
 
                                     pha
 
                                     lda #lo brk_ret
 
                                     pha
 
                                     lda #fao        ;set break & unused on stack
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   45
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     pha
09a4 : a909             [ 2]         lda #hi(brk_ret) ;emulated break
 
09a6 : 48               [ 3]         pha
 
09a7 : a9ba             [ 2]         lda #lo(brk_ret-1) ; M65C02 pushes BRK+1 not BRK+2
 
09a9 : 48               [ 3]         pha
 
09aa : a930             [ 2]         lda #fao        ;set break & unused on stack
 
09ac : 48               [ 3]         pha
                                     set_stat intdis
                                     set_stat intdis
                                     lda #'B'
                            >            load_flag intdis
                                     ldx #'R'
09ad : a904             [ 2]>            lda #intdis             ;allow test to change I-flag (no mask)
                                     ldy #'K'        ;N=0, V=0, Z=0, C=0
                            >
                                     jmp irq_trap
09af : 48               [ 3]>            pha         ;use stack to load status
                                 endif
09b0 : 28               [ 4]>            plp
08b8 : 88               [ 2]         dey             ;should not be executed
 
08b9 :                       brk_ret                 ;address of break return
 
08b9 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
08ba : 88               [ 2]         dey
 
08bb : 88               [ 2]         dey
 
08bc : 88               [ 2]         dey
 
08bd : c9e8             [ 2]         cmp #('B'^$aa)  ;returned registers OK?
 
                                     trap_ne
 
08bf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
08c1 : e053             [ 2]         cpx #('R'+1)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   82
                                     trap_ne
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
08c3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
08c5 : c045             [ 2]         cpy #('K'-6)
09b1 : a942             [ 2]         lda #'B'
                                     trap_ne
09b3 : a252             [ 2]         ldx #'R'
08c7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
09b5 : a04b             [ 2]         ldy #'K'        ;N=0, V=0, Z=0, C=0
 
09b7 : 4cfa3d           [ 3]         jmp irq_trap
 
 
 
                                 endif
 
 
 
09ba : 88               [ 2]         dey             ;should not be executed
 
09bb :                       brk_ret                 ;address of break return
 
09bb : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
09bc : 88               [ 2]         dey
 
09bd : 88               [ 2]         dey
 
09be : 88               [ 2]         dey
 
09bf : c9e8             [ 2]         cmp #('B'^$aa)  ;returned registers OK?
 
                                     trap_ne
 
09c1 : f002             [ 3]>        beq skip0368
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09c3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09c4 : 0b                   >        db      test_num
 
                            >
 
09c5 :                      >skip0368
 
 
 
09c5 : e053             [ 2]         cpx #('R'+1)
 
                                     trap_ne
 
09c7 : f002             [ 3]>        beq skip0370
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09c9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09ca : 0b                   >        db      test_num
 
                            >
 
09cb :                      >skip0370
 
 
 
09cb : c045             [ 2]         cpy #('K'-6)
 
                                     trap_ne
 
09cd : f002             [ 3]>        beq skip0372
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09cf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09d0 : 0b                   >        db      test_num
 
                            >
 
09d1 :                      >skip0372
 
 
08c9 : 68               [ 4]         pla             ;returned flags OK (unchanged)?
09d1 : 68               [ 4]         pla             ;returned flags OK (unchanged)?
                                     cmp_flag 0
                                     cmp_flag 0
08ca : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
09d2 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
08cc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
09d4 : f002             [ 3]>        beq skip0375
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09d6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09d7 : 0b                   >        db      test_num
 
                            >
 
09d8 :                      >skip0375
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   83
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
08ce : ba               [ 2]         tsx             ;sp?
 
08cf : e0ff             [ 2]         cpx #$ff
09d8 : ba               [ 2]         tsx             ;sp?
 
09d9 : e0ff             [ 2]         cpx #$ff
                                     trap_ne
                                     trap_ne
08d1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
09db : f002             [ 3]>        beq skip0377
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09dd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09de : 0b                   >        db      test_num
 
                            >
 
09df :                      >skip0377
 
 
                                     next_test
                                     next_test
08d3 : ad0002           [ 4]>            lda test_case   ;previous test
09df : ad0002           [ 4]>            lda test_case   ;previous test
08d6 : c90b             [ 2]>            cmp #test_num
09e2 : c90b             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
08d8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
09e4 : f002             [ 3]>        beq skip0380
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09e6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09e7 : 0b                   >        db      test_num
 
                            >
 
09e8 :                      >skip0380
                            >
                            >
000c =                      >test_num = test_num + 1
000c =                      >test_num = test_num + 1
08da : a90c             [ 2]>            lda #test_num   ;*** this tests' number
09e8 : a90c             [ 2]>            lda #test_num   ;*** this tests' number
08dc : 8d0002           [ 4]>            sta test_case
09ea : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; test set and clear flags CLC CLI CLD CLV SEC SEI SED
                             ; test set and clear flags CLC CLI CLD CLV SEC SEI SED
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
08df : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
09ed : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
08e1 : 48               [ 3]>            pha         ;use stack to load status
09ef : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   46
09f0 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
08e2 : 28               [ 4]>            plp
09f1 : 18               [ 2]         clc
 
 
08e3 : 18               [ 2]         clc
 
                                     tst_stat $ff-carry
                                     tst_stat $ff-carry
08e4 : 08               [ 3]>            php         ;save status
09f2 : 08               [ 3]>            php         ;save status
08e5 : 08               [ 3]>            php         ;use stack to retrieve status
09f3 : 08               [ 3]>            php         ;use stack to retrieve status
08e6 : 68               [ 4]>            pla
09f4 : 68               [ 4]>            pla
                            >            cmp_flag $ff-carry
                            >            cmp_flag $ff-carry
08e7 : c9fe             [ 2]>            cmp #($ff-carry|fao)&m8    ;expected flags + always on bits
09f5 : c9fe             [ 2]>            cmp #($ff-carry|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
08e9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
09f7 : f002             [ 3]>        beq skip0386
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
09f9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
09fa : 0c                   >        db      test_num
 
                            >
 
09fb :                      >skip0386
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   84
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
08eb : 28               [ 4]>            plp         ;restore status
09fb : 28               [ 4]>            plp         ;restore status
 
 
08ec : 38               [ 2]         sec
09fc : 38               [ 2]         sec
                                     tst_stat $ff
                                     tst_stat $ff
08ed : 08               [ 3]>            php         ;save status
09fd : 08               [ 3]>            php         ;save status
08ee : 08               [ 3]>            php         ;use stack to retrieve status
09fe : 08               [ 3]>            php         ;use stack to retrieve status
08ef : 68               [ 4]>            pla
09ff : 68               [ 4]>            pla
                            >            cmp_flag $ff
                            >            cmp_flag $ff
08f0 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0a00 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
08f2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a02 : f002             [ 3]>        beq skip0390
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a04 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a05 : 0c                   >        db      test_num
 
                            >
 
0a06 :                      >skip0390
                            >
                            >
08f4 : 28               [ 4]>            plp         ;restore status
0a06 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                 if I_flag = 3
                                 if I_flag = 3
08f5 : 58               [ 2]         cli
 
 
0a07 : 58               [ 2]         cli
                                     tst_stat $ff-intdis
                                     tst_stat $ff-intdis
08f6 : 08               [ 3]>            php         ;save status
0a08 : 08               [ 3]>            php         ;save status
08f7 : 08               [ 3]>            php         ;use stack to retrieve status
0a09 : 08               [ 3]>            php         ;use stack to retrieve status
08f8 : 68               [ 4]>            pla
0a0a : 68               [ 4]>            pla
                            >            cmp_flag $ff-intdis
                            >            cmp_flag $ff-intdis
08f9 : c9fb             [ 2]>            cmp #($ff-intdis|fao)&m8    ;expected flags + always on bits
0a0b : c9fb             [ 2]>            cmp #($ff-intdis|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
08fb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a0d : f002             [ 3]>        beq skip0394
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a0f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a10 : 0c                   >        db      test_num
                            >
                            >
08fd : 28               [ 4]>            plp         ;restore status
0a11 :                      >skip0394
 
                            >
 
0a11 : 28               [ 4]>            plp         ;restore status
 
 
08fe : 78               [ 2]         sei
0a12 : 78               [ 2]         sei
                                     tst_stat $ff
                                     tst_stat $ff
08ff : 08               [ 3]>            php         ;save status
0a13 : 08               [ 3]>            php         ;save status
0900 : 08               [ 3]>            php         ;use stack to retrieve status
0a14 : 08               [ 3]>            php         ;use stack to retrieve status
0901 : 68               [ 4]>            pla
0a15 : 68               [ 4]>            pla
                            >            cmp_flag $ff
                            >            cmp_flag $ff
0902 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0a16 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0904 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a18 : f002             [ 3]>        beq skip0398
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   85
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a1a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a1b : 0c                   >        db      test_num
 
                            >
 
0a1c :                      >skip0398
                            >
                            >
0906 : 28               [ 4]>            plp         ;restore status
0a1c : 28               [ 4]>            plp         ;restore status
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   47
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                 endif
                                 endif
0907 : d8               [ 2]         cld
 
 
0a1d : d8               [ 2]         cld
                                     tst_stat $ff-decmode
                                     tst_stat $ff-decmode
0908 : 08               [ 3]>            php         ;save status
0a1e : 08               [ 3]>            php         ;save status
0909 : 08               [ 3]>            php         ;use stack to retrieve status
0a1f : 08               [ 3]>            php         ;use stack to retrieve status
090a : 68               [ 4]>            pla
0a20 : 68               [ 4]>            pla
                            >            cmp_flag $ff-decmode
                            >            cmp_flag $ff-decmode
090b : c9f7             [ 2]>            cmp #($ff-decmode|fao)&m8    ;expected flags + always on bits
0a21 : c9f7             [ 2]>            cmp #($ff-decmode|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
090d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a23 : f002             [ 3]>        beq skip0402
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a25 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a26 : 0c                   >        db      test_num
 
                            >
 
0a27 :                      >skip0402
                            >
                            >
090f : 28               [ 4]>            plp         ;restore status
0a27 : 28               [ 4]>            plp         ;restore status
 
 
0910 : f8               [ 2]         sed
0a28 : f8               [ 2]         sed
                                     tst_stat $ff
                                     tst_stat $ff
0911 : 08               [ 3]>            php         ;save status
0a29 : 08               [ 3]>            php         ;save status
0912 : 08               [ 3]>            php         ;use stack to retrieve status
0a2a : 08               [ 3]>            php         ;use stack to retrieve status
0913 : 68               [ 4]>            pla
0a2b : 68               [ 4]>            pla
                            >            cmp_flag $ff
                            >            cmp_flag $ff
0914 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0a2c : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0916 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a2e : f002             [ 3]>        beq skip0406
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a30 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a31 : 0c                   >        db      test_num
                            >
                            >
0918 : 28               [ 4]>            plp         ;restore status
0a32 :                      >skip0406
 
                            >
 
0a32 : 28               [ 4]>            plp         ;restore status
 
 
0919 : b8               [ 2]         clv
0a33 : b8               [ 2]         clv
                                     tst_stat $ff-overfl
                                     tst_stat $ff-overfl
091a : 08               [ 3]>            php         ;save status
0a34 : 08               [ 3]>            php         ;save status
091b : 08               [ 3]>            php         ;use stack to retrieve status
0a35 : 08               [ 3]>            php         ;use stack to retrieve status
091c : 68               [ 4]>            pla
0a36 : 68               [ 4]>            pla
                            >            cmp_flag $ff-overfl
                            >            cmp_flag $ff-overfl
091d : c9bf             [ 2]>            cmp #($ff-overfl|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   86
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0a37 : c9bf             [ 2]>            cmp #($ff-overfl|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
091f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a39 : f002             [ 3]>        beq skip0410
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a3b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a3c : 0c                   >        db      test_num
                            >
                            >
0921 : 28               [ 4]>            plp         ;restore status
0a3d :                      >skip0410
 
                            >
 
0a3d : 28               [ 4]>            plp         ;restore status
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0922 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0a3e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0924 : 48               [ 3]>            pha         ;use stack to load status
0a40 : 48               [ 3]>            pha         ;use stack to load status
0925 : 28               [ 4]>            plp
0a41 : 28               [ 4]>            plp
 
 
                                     tst_stat 0
                                     tst_stat 0
0926 : 08               [ 3]>            php         ;save status
0a42 : 08               [ 3]>            php         ;save status
0927 : 08               [ 3]>            php         ;use stack to retrieve status
0a43 : 08               [ 3]>            php         ;use stack to retrieve status
0928 : 68               [ 4]>            pla
0a44 : 68               [ 4]>            pla
                            >            cmp_flag 0
                            >            cmp_flag 0
0929 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0a45 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   48
0a47 : f002             [ 3]>        beq skip0416
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
092b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a49 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a4a : 0c                   >        db      test_num
                            >
                            >
092d : 28               [ 4]>            plp         ;restore status
0a4b :                      >skip0416
 
                            >
 
0a4b : 28               [ 4]>            plp         ;restore status
 
 
092e : 38               [ 2]         sec
0a4c : 38               [ 2]         sec
                                     tst_stat carry
                                     tst_stat carry
092f : 08               [ 3]>            php         ;save status
0a4d : 08               [ 3]>            php         ;save status
0930 : 08               [ 3]>            php         ;use stack to retrieve status
0a4e : 08               [ 3]>            php         ;use stack to retrieve status
0931 : 68               [ 4]>            pla
0a4f : 68               [ 4]>            pla
                            >            cmp_flag carry
                            >            cmp_flag carry
0932 : c931             [ 2]>            cmp #(carry|fao)&m8    ;expected flags + always on bits
0a50 : c931             [ 2]>            cmp #(carry|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0934 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a52 : f002             [ 3]>        beq skip0420
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a54 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a55 : 0c                   >        db      test_num
                            >
                            >
0936 : 28               [ 4]>            plp         ;restore status
0a56 :                      >skip0420
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   87
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0a56 : 28               [ 4]>            plp         ;restore status
 
 
0937 : 18               [ 2]         clc
0a57 : 18               [ 2]         clc
                                     tst_stat 0
                                     tst_stat 0
0938 : 08               [ 3]>            php         ;save status
0a58 : 08               [ 3]>            php         ;save status
0939 : 08               [ 3]>            php         ;use stack to retrieve status
0a59 : 08               [ 3]>            php         ;use stack to retrieve status
093a : 68               [ 4]>            pla
0a5a : 68               [ 4]>            pla
                            >            cmp_flag 0
                            >            cmp_flag 0
093b : c930             [ 2]>            cmp #(0  |fao)&m8    ;expected flags + always on bits
0a5b : c930             [ 2]>            cmp #(0  |fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
093d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a5d : f002             [ 3]>        beq skip0424
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a5f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a60 : 0c                   >        db      test_num
                            >
                            >
093f : 28               [ 4]>            plp         ;restore status
0a61 :                      >skip0424
 
                            >
 
0a61 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                 if I_flag = 3
                                 if I_flag = 3
0940 : 78               [ 2]         sei
 
 
0a62 : 78               [ 2]         sei
                                     tst_stat intdis
                                     tst_stat intdis
0941 : 08               [ 3]>            php         ;save status
0a63 : 08               [ 3]>            php         ;save status
0942 : 08               [ 3]>            php         ;use stack to retrieve status
0a64 : 08               [ 3]>            php         ;use stack to retrieve status
0943 : 68               [ 4]>            pla
0a65 : 68               [ 4]>            pla
                            >            cmp_flag intdis
                            >            cmp_flag intdis
0944 : c934             [ 2]>            cmp #(intdis|fao)&m8    ;expected flags + always on bits
0a66 : c934             [ 2]>            cmp #(intdis|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0946 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a68 : f002             [ 3]>        beq skip0428
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a6a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a6b : 0c                   >        db      test_num
 
                            >
 
0a6c :                      >skip0428
                            >
                            >
0948 : 28               [ 4]>            plp         ;restore status
0a6c : 28               [ 4]>            plp         ;restore status
 
 
0949 : 58               [ 2]         cli
0a6d : 58               [ 2]         cli
                                     tst_stat 0
                                     tst_stat 0
094a : 08               [ 3]>            php         ;save status
0a6e : 08               [ 3]>            php         ;save status
094b : 08               [ 3]>            php         ;use stack to retrieve status
0a6f : 08               [ 3]>            php         ;use stack to retrieve status
094c : 68               [ 4]>            pla
0a70 : 68               [ 4]>            pla
                            >            cmp_flag 0
                            >            cmp_flag 0
094d : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0a71 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
094f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a73 : f002             [ 3]>        beq skip0432
                            >
                            >        trap           ;failed equal (zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   49
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   88
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0951 : 28               [ 4]>            plp         ;restore status
0a75 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a76 : 0c                   >        db      test_num
 
                            >
 
0a77 :                      >skip0432
 
                            >
 
0a77 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                 endif
                                 endif
0952 : f8               [ 2]         sed
 
 
0a78 : f8               [ 2]         sed
                                     tst_stat decmode
                                     tst_stat decmode
0953 : 08               [ 3]>            php         ;save status
0a79 : 08               [ 3]>            php         ;save status
0954 : 08               [ 3]>            php         ;use stack to retrieve status
0a7a : 08               [ 3]>            php         ;use stack to retrieve status
0955 : 68               [ 4]>            pla
0a7b : 68               [ 4]>            pla
                            >            cmp_flag decmode
                            >            cmp_flag decmode
0956 : c938             [ 2]>            cmp #(decmode|fao)&m8    ;expected flags + always on bits
0a7c : c938             [ 2]>            cmp #(decmode|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0958 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a7e : f002             [ 3]>        beq skip0436
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a80 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a81 : 0c                   >        db      test_num
                            >
                            >
095a : 28               [ 4]>            plp         ;restore status
0a82 :                      >skip0436
 
                            >
 
0a82 : 28               [ 4]>            plp         ;restore status
 
 
095b : d8               [ 2]         cld
0a83 : d8               [ 2]         cld
                                     tst_stat 0
                                     tst_stat 0
095c : 08               [ 3]>            php         ;save status
0a84 : 08               [ 3]>            php         ;save status
095d : 08               [ 3]>            php         ;use stack to retrieve status
0a85 : 08               [ 3]>            php         ;use stack to retrieve status
095e : 68               [ 4]>            pla
0a86 : 68               [ 4]>            pla
                            >            cmp_flag 0
                            >            cmp_flag 0
095f : c930             [ 2]>            cmp #(0  |fao)&m8    ;expected flags + always on bits
0a87 : c930             [ 2]>            cmp #(0  |fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0961 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a89 : f002             [ 3]>        beq skip0440
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a8b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a8c : 0c                   >        db      test_num
 
                            >
 
0a8d :                      >skip0440
                            >
                            >
0963 : 28               [ 4]>            plp         ;restore status
0a8d : 28               [ 4]>            plp         ;restore status
 
 
                                     set_stat overfl
                                     set_stat overfl
                            >            load_flag overfl
                            >            load_flag overfl
0964 : a940             [ 2]>            lda #overfl             ;allow test to change I-flag (no mask)
0a8e : a940             [ 2]>            lda #overfl             ;allow test to change I-flag (no mask)
                            >
                            >
0966 : 48               [ 3]>            pha         ;use stack to load status
0a90 : 48               [ 3]>            pha         ;use stack to load status
0967 : 28               [ 4]>            plp
0a91 : 28               [ 4]>            plp
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   89
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     tst_stat overfl
                                     tst_stat overfl
0968 : 08               [ 3]>            php         ;save status
0a92 : 08               [ 3]>            php         ;save status
0969 : 08               [ 3]>            php         ;use stack to retrieve status
0a93 : 08               [ 3]>            php         ;use stack to retrieve status
096a : 68               [ 4]>            pla
0a94 : 68               [ 4]>            pla
                            >            cmp_flag overfl
                            >            cmp_flag overfl
096b : c970             [ 2]>            cmp #(overfl|fao)&m8    ;expected flags + always on bits
0a95 : c970             [ 2]>            cmp #(overfl|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
096d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0a97 : f002             [ 3]>        beq skip0446
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0a99 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0a9a : 0c                   >        db      test_num
 
                            >
 
0a9b :                      >skip0446
                            >
                            >
096f : 28               [ 4]>            plp         ;restore status
0a9b : 28               [ 4]>            plp         ;restore status
 
 
0970 : b8               [ 2]         clv
0a9c : b8               [ 2]         clv
                                     tst_stat 0
                                     tst_stat 0
0971 : 08               [ 3]>            php         ;save status
0a9d : 08               [ 3]>            php         ;save status
0972 : 08               [ 3]>            php         ;use stack to retrieve status
0a9e : 08               [ 3]>            php         ;use stack to retrieve status
0973 : 68               [ 4]>            pla
0a9f : 68               [ 4]>            pla
                            >            cmp_flag 0
                            >            cmp_flag 0
0974 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0aa0 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   50
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0976 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0aa2 : f002             [ 3]>        beq skip0450
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0aa4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0aa5 : 0c                   >        db      test_num
 
                            >
 
0aa6 :                      >skip0450
                            >
                            >
0978 : 28               [ 4]>            plp         ;restore status
0aa6 : 28               [ 4]>            plp         ;restore status
 
 
                                     next_test
                                     next_test
0979 : ad0002           [ 4]>            lda test_case   ;previous test
0aa7 : ad0002           [ 4]>            lda test_case   ;previous test
097c : c90c             [ 2]>            cmp #test_num
0aaa : c90c             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
097e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0aac : f002             [ 3]>        beq skip0453
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0aae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0aaf : 0c                   >        db      test_num
 
                            >
 
0ab0 :                      >skip0453
                            >
                            >
000d =                      >test_num = test_num + 1
000d =                      >test_num = test_num + 1
0980 : a90d             [ 2]>            lda #test_num   ;*** this tests' number
0ab0 : a90d             [ 2]>            lda #test_num   ;*** this tests' number
0982 : 8d0002           [ 4]>            sta test_case
0ab2 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   90
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ; testing index register increment/decrement and transfer
                             ; testing index register increment/decrement and transfer
                             ; INX INY DEX DEY TAX TXA TAY TYA
                             ; INX INY DEX DEY TAX TXA TAY TYA
0985 : a2fe             [ 2]         ldx #$fe
 
 
0ab5 : a2fe             [ 2]         ldx #$fe
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0987 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0ab7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0989 : 48               [ 3]>            pha         ;use stack to load status
0ab9 : 48               [ 3]>            pha         ;use stack to load status
098a : 28               [ 4]>            plp
0aba : 28               [ 4]>            plp
 
 
098b : e8               [ 2]         inx             ;ff
0abb : e8               [ 2]         inx             ;ff
                                     tst_x $ff,$ff-zero
                                     tst_x $ff,$ff-zero
098c : 08               [ 3]>            php         ;save flags
0abc : 08               [ 3]>            php         ;save flags
098d : 08               [ 3]>            php
0abd : 08               [ 3]>            php
098e : e0ff             [ 2]>            cpx #$ff     ;test result
0abe : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0990 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ac0 : f002             [ 3]>        beq skip0458
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ac2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ac3 : 0d                   >        db      test_num
 
                            >
 
0ac4 :                      >skip0458
                            >
                            >
0992 : 68               [ 4]>            pla         ;load status
0ac4 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0993 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0ac5 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0995 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ac7 : f002             [ 3]>        beq skip0461
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ac9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0aca : 0d                   >        db      test_num
                            >
                            >
0997 : 28               [ 4]>            plp         ;restore status
0acb :                      >skip0461
 
                            >
 
0acb : 28               [ 4]>            plp         ;restore status
 
 
0998 : e8               [ 2]         inx             ;00
0acc : e8               [ 2]         inx             ;00
                                     tst_x 0,$ff-minus
                                     tst_x 0,$ff-minus
0999 : 08               [ 3]>            php         ;save flags
0acd : 08               [ 3]>            php         ;save flags
099a : 08               [ 3]>            php
0ace : 08               [ 3]>            php
099b : e000             [ 2]>            cpx #0     ;test result
0acf : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
099d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ad1 : f002             [ 3]>        beq skip0464
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ad3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ad4 : 0d                   >        db      test_num
                            >
                            >
099f : 68               [ 4]>            pla         ;load status
0ad5 :                      >skip0464
                            >            cmp_flag $ff-minus
                            >
09a0 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0ad5 : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   51
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   91
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            cmp_flag $ff-minus
 
0ad6 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ad8 : f002             [ 3]>        beq skip0467
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ada : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0adb : 0d                   >        db      test_num
 
                            >
 
0adc :                      >skip0467
                            >
                            >
09a4 : 28               [ 4]>            plp         ;restore status
0adc : 28               [ 4]>            plp         ;restore status
 
 
09a5 : e8               [ 2]         inx             ;01
0add : e8               [ 2]         inx             ;01
                                     tst_x 1,$ff-minus-zero
                                     tst_x 1,$ff-minus-zero
09a6 : 08               [ 3]>            php         ;save flags
0ade : 08               [ 3]>            php         ;save flags
09a7 : 08               [ 3]>            php
0adf : 08               [ 3]>            php
09a8 : e001             [ 2]>            cpx #1     ;test result
0ae0 : e001             [ 2]>            cpx #1     ;test result
                            >            trap_ne
                            >            trap_ne
09aa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ae2 : f002             [ 3]>        beq skip0470
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ae4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ae5 : 0d                   >        db      test_num
 
                            >
 
0ae6 :                      >skip0470
                            >
                            >
09ac : 68               [ 4]>            pla         ;load status
0ae6 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
09ad : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0ae7 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09af : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ae9 : f002             [ 3]>        beq skip0473
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0aeb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0aec : 0d                   >        db      test_num
                            >
                            >
09b1 : 28               [ 4]>            plp         ;restore status
0aed :                      >skip0473
 
                            >
 
0aed : 28               [ 4]>            plp         ;restore status
 
 
09b2 : ca               [ 2]         dex             ;00
0aee : ca               [ 2]         dex             ;00
                                     tst_x 0,$ff-minus
                                     tst_x 0,$ff-minus
09b3 : 08               [ 3]>            php         ;save flags
0aef : 08               [ 3]>            php         ;save flags
09b4 : 08               [ 3]>            php
0af0 : 08               [ 3]>            php
09b5 : e000             [ 2]>            cpx #0     ;test result
0af1 : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
09b7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0af3 : f002             [ 3]>        beq skip0476
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0af5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0af6 : 0d                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   92
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0af7 :                      >skip0476
                            >
                            >
09b9 : 68               [ 4]>            pla         ;load status
0af7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
09ba : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0af8 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09bc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0afa : f002             [ 3]>        beq skip0479
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0afc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0afd : 0d                   >        db      test_num
                            >
                            >
09be : 28               [ 4]>            plp         ;restore status
0afe :                      >skip0479
 
                            >
 
0afe : 28               [ 4]>            plp         ;restore status
 
 
09bf : ca               [ 2]         dex             ;ff
0aff : ca               [ 2]         dex             ;ff
                                     tst_x $ff,$ff-zero
                                     tst_x $ff,$ff-zero
09c0 : 08               [ 3]>            php         ;save flags
0b00 : 08               [ 3]>            php         ;save flags
09c1 : 08               [ 3]>            php
0b01 : 08               [ 3]>            php
09c2 : e0ff             [ 2]>            cpx #$ff     ;test result
0b02 : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
09c4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b04 : f002             [ 3]>        beq skip0482
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b06 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b07 : 0d                   >        db      test_num
                            >
                            >
09c6 : 68               [ 4]>            pla         ;load status
0b08 :                      >skip0482
 
                            >
 
0b08 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
09c7 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0b09 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09c9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b0b : f002             [ 3]>        beq skip0485
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b0d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b0e : 0d                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   52
0b0f :                      >skip0485
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >
 
0b0f : 28               [ 4]>            plp         ;restore status
09cb : 28               [ 4]>            plp         ;restore status
 
 
 
09cc : ca               [ 2]         dex             ;fe
0b10 : ca               [ 2]         dex             ;fe
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
09cd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0b11 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
09cf : 48               [ 3]>            pha         ;use stack to load status
0b13 : 48               [ 3]>            pha         ;use stack to load status
09d0 : 28               [ 4]>            plp
0b14 : 28               [ 4]>            plp
 
 
 
0b15 : e8               [ 2]         inx             ;ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   93
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
09d1 : e8               [ 2]         inx             ;ff
 
                                     tst_x $ff,minus
                                     tst_x $ff,minus
09d2 : 08               [ 3]>            php         ;save flags
0b16 : 08               [ 3]>            php         ;save flags
09d3 : 08               [ 3]>            php
0b17 : 08               [ 3]>            php
09d4 : e0ff             [ 2]>            cpx #$ff     ;test result
0b18 : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
09d6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b1a : f002             [ 3]>        beq skip0490
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b1c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b1d : 0d                   >        db      test_num
 
                            >
 
0b1e :                      >skip0490
                            >
                            >
09d8 : 68               [ 4]>            pla         ;load status
0b1e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
09d9 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0b1f : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b21 : f002             [ 3]>        beq skip0493
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b23 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b24 : 0d                   >        db      test_num
                            >
                            >
09dd : 28               [ 4]>            plp         ;restore status
0b25 :                      >skip0493
 
                            >
 
0b25 : 28               [ 4]>            plp         ;restore status
 
 
09de : e8               [ 2]         inx             ;00
0b26 : e8               [ 2]         inx             ;00
                                     tst_x 0,zero
                                     tst_x 0,zero
09df : 08               [ 3]>            php         ;save flags
0b27 : 08               [ 3]>            php         ;save flags
09e0 : 08               [ 3]>            php
0b28 : 08               [ 3]>            php
09e1 : e000             [ 2]>            cpx #0     ;test result
0b29 : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
09e3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b2b : f002             [ 3]>        beq skip0496
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b2d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b2e : 0d                   >        db      test_num
 
                            >
 
0b2f :                      >skip0496
                            >
                            >
09e5 : 68               [ 4]>            pla         ;load status
0b2f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
09e6 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0b30 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09e8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b32 : f002             [ 3]>        beq skip0499
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b34 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b35 : 0d                   >        db      test_num
                            >
                            >
09ea : 28               [ 4]>            plp         ;restore status
0b36 :                      >skip0499
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   94
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0b36 : 28               [ 4]>            plp         ;restore status
 
 
09eb : e8               [ 2]         inx             ;01
0b37 : e8               [ 2]         inx             ;01
                                     tst_x 1,0
                                     tst_x 1,0
09ec : 08               [ 3]>            php         ;save flags
0b38 : 08               [ 3]>            php         ;save flags
09ed : 08               [ 3]>            php
0b39 : 08               [ 3]>            php
09ee : e001             [ 2]>            cpx #1     ;test result
0b3a : e001             [ 2]>            cpx #1     ;test result
                            >            trap_ne
                            >            trap_ne
09f0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b3c : f002             [ 3]>        beq skip0502
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b3e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b3f : 0d                   >        db      test_num
 
                            >
 
0b40 :                      >skip0502
                            >
                            >
09f2 : 68               [ 4]>            pla         ;load status
0b40 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
09f3 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0b41 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   53
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
09f5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b43 : f002             [ 3]>        beq skip0505
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b45 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b46 : 0d                   >        db      test_num
 
                            >
 
0b47 :                      >skip0505
                            >
                            >
09f7 : 28               [ 4]>            plp         ;restore status
0b47 : 28               [ 4]>            plp         ;restore status
 
 
09f8 : ca               [ 2]         dex             ;00
0b48 : ca               [ 2]         dex             ;00
                                     tst_x 0,zero
                                     tst_x 0,zero
09f9 : 08               [ 3]>            php         ;save flags
0b49 : 08               [ 3]>            php         ;save flags
09fa : 08               [ 3]>            php
0b4a : 08               [ 3]>            php
09fb : e000             [ 2]>            cpx #0     ;test result
0b4b : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
09fd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b4d : f002             [ 3]>        beq skip0508
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b4f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b50 : 0d                   >        db      test_num
 
                            >
 
0b51 :                      >skip0508
                            >
                            >
09ff : 68               [ 4]>            pla         ;load status
0b51 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0a00 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0b52 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a02 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b54 : f002             [ 3]>        beq skip0511
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b56 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b57 : 0d                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   95
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
0b58 :                      >skip0511
                            >
                            >
0a04 : 28               [ 4]>            plp         ;restore status
0b58 : 28               [ 4]>            plp         ;restore status
 
 
0a05 : ca               [ 2]         dex             ;ff
0b59 : ca               [ 2]         dex             ;ff
                                     tst_x $ff,minus
                                     tst_x $ff,minus
0a06 : 08               [ 3]>            php         ;save flags
0b5a : 08               [ 3]>            php         ;save flags
0a07 : 08               [ 3]>            php
0b5b : 08               [ 3]>            php
0a08 : e0ff             [ 2]>            cpx #$ff     ;test result
0b5c : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0a0a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b5e : f002             [ 3]>        beq skip0514
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b60 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b61 : 0d                   >        db      test_num
 
                            >
 
0b62 :                      >skip0514
                            >
                            >
0a0c : 68               [ 4]>            pla         ;load status
0b62 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
0a0d : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0b63 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a0f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b65 : f002             [ 3]>        beq skip0517
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b67 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b68 : 0d                   >        db      test_num
                            >
                            >
0a11 : 28               [ 4]>            plp         ;restore status
0b69 :                      >skip0517
 
                            >
 
0b69 : 28               [ 4]>            plp         ;restore status
 
 
 
 
0a12 : a0fe             [ 2]         ldy #$fe
0b6a : a0fe             [ 2]         ldy #$fe
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0a14 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0b6c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0a16 : 48               [ 3]>            pha         ;use stack to load status
0b6e : 48               [ 3]>            pha         ;use stack to load status
0a17 : 28               [ 4]>            plp
0b6f : 28               [ 4]>            plp
 
 
0a18 : c8               [ 2]         iny             ;ff
0b70 : c8               [ 2]         iny             ;ff
                                     tst_y $ff,$ff-zero
                                     tst_y $ff,$ff-zero
0a19 : 08               [ 3]>            php         ;save flags
0b71 : 08               [ 3]>            php         ;save flags
0a1a : 08               [ 3]>            php
0b72 : 08               [ 3]>            php
0a1b : c0ff             [ 2]>            cpy #$ff     ;test result
0b73 : c0ff             [ 2]>            cpy #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   54
0b75 : f002             [ 3]>        beq skip0522
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b77 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b78 : 0d                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   96
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0a1d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b79 :                      >skip0522
                            >
                            >
0a1f : 68               [ 4]>            pla         ;load status
0b79 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0a20 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0b7a : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a22 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b7c : f002             [ 3]>        beq skip0525
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b7e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b7f : 0d                   >        db      test_num
                            >
                            >
0a24 : 28               [ 4]>            plp         ;restore status
0b80 :                      >skip0525
 
                            >
 
0b80 : 28               [ 4]>            plp         ;restore status
 
 
0a25 : c8               [ 2]         iny             ;00
0b81 : c8               [ 2]         iny             ;00
                                     tst_y 0,$ff-minus
                                     tst_y 0,$ff-minus
0a26 : 08               [ 3]>            php         ;save flags
0b82 : 08               [ 3]>            php         ;save flags
0a27 : 08               [ 3]>            php
0b83 : 08               [ 3]>            php
0a28 : c000             [ 2]>            cpy #0     ;test result
0b84 : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
0a2a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b86 : f002             [ 3]>        beq skip0528
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b88 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b89 : 0d                   >        db      test_num
                            >
                            >
0a2c : 68               [ 4]>            pla         ;load status
0b8a :                      >skip0528
 
                            >
 
0b8a : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
0a2d : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0b8b : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a2f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b8d : f002             [ 3]>        beq skip0531
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0b8f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b90 : 0d                   >        db      test_num
 
                            >
 
0b91 :                      >skip0531
                            >
                            >
0a31 : 28               [ 4]>            plp         ;restore status
0b91 : 28               [ 4]>            plp         ;restore status
 
 
0a32 : c8               [ 2]         iny             ;01
0b92 : c8               [ 2]         iny             ;01
                                     tst_y 1,$ff-minus-zero
                                     tst_y 1,$ff-minus-zero
0a33 : 08               [ 3]>            php         ;save flags
0b93 : 08               [ 3]>            php         ;save flags
0a34 : 08               [ 3]>            php
0b94 : 08               [ 3]>            php
0a35 : c001             [ 2]>            cpy #1     ;test result
0b95 : c001             [ 2]>            cpy #1     ;test result
                            >            trap_ne
                            >            trap_ne
0a37 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b97 : f002             [ 3]>        beq skip0534
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   97
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0b99 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0b9a : 0d                   >        db      test_num
                            >
                            >
0a39 : 68               [ 4]>            pla         ;load status
0b9b :                      >skip0534
 
                            >
 
0b9b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
0a3a : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0b9c : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a3c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0b9e : f002             [ 3]>        beq skip0537
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ba0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ba1 : 0d                   >        db      test_num
 
                            >
 
0ba2 :                      >skip0537
                            >
                            >
0a3e : 28               [ 4]>            plp         ;restore status
0ba2 : 28               [ 4]>            plp         ;restore status
 
 
0a3f : 88               [ 2]         dey             ;00
0ba3 : 88               [ 2]         dey             ;00
                                     tst_y 0,$ff-minus
                                     tst_y 0,$ff-minus
0a40 : 08               [ 3]>            php         ;save flags
0ba4 : 08               [ 3]>            php         ;save flags
0a41 : 08               [ 3]>            php
0ba5 : 08               [ 3]>            php
0a42 : c000             [ 2]>            cpy #0     ;test result
0ba6 : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
0a44 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ba8 : f002             [ 3]>        beq skip0540
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0baa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bab : 0d                   >        db      test_num
 
                            >
 
0bac :                      >skip0540
                            >
                            >
0a46 : 68               [ 4]>            pla         ;load status
0bac : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   55
0bad : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0a47 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a49 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0baf : f002             [ 3]>        beq skip0543
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bb1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bb2 : 0d                   >        db      test_num
                            >
                            >
0a4b : 28               [ 4]>            plp         ;restore status
0bb3 :                      >skip0543
 
                            >
 
0bb3 : 28               [ 4]>            plp         ;restore status
 
 
0a4c : 88               [ 2]         dey             ;ff
0bb4 : 88               [ 2]         dey             ;ff
                                     tst_y $ff,$ff-zero
                                     tst_y $ff,$ff-zero
0a4d : 08               [ 3]>            php         ;save flags
0bb5 : 08               [ 3]>            php         ;save flags
0a4e : 08               [ 3]>            php
0bb6 : 08               [ 3]>            php
0a4f : c0ff             [ 2]>            cpy #$ff     ;test result
0bb7 : c0ff             [ 2]>            cpy #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0a51 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   98
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0bb9 : f002             [ 3]>        beq skip0546
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bbb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bbc : 0d                   >        db      test_num
                            >
                            >
0a53 : 68               [ 4]>            pla         ;load status
0bbd :                      >skip0546
 
                            >
 
0bbd : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0a54 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0bbe : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a56 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0bc0 : f002             [ 3]>        beq skip0549
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bc2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bc3 : 0d                   >        db      test_num
 
                            >
 
0bc4 :                      >skip0549
                            >
                            >
0a58 : 28               [ 4]>            plp         ;restore status
0bc4 : 28               [ 4]>            plp         ;restore status
 
 
0a59 : 88               [ 2]         dey             ;fe
0bc5 : 88               [ 2]         dey             ;fe
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0a5a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0bc6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0a5c : 48               [ 3]>            pha         ;use stack to load status
0bc8 : 48               [ 3]>            pha         ;use stack to load status
0a5d : 28               [ 4]>            plp
0bc9 : 28               [ 4]>            plp
 
 
0a5e : c8               [ 2]         iny             ;ff
0bca : c8               [ 2]         iny             ;ff
                                     tst_y $ff,0+minus
                                     tst_y $ff,0+minus
0a5f : 08               [ 3]>            php         ;save flags
0bcb : 08               [ 3]>            php         ;save flags
0a60 : 08               [ 3]>            php
0bcc : 08               [ 3]>            php
0a61 : c0ff             [ 2]>            cpy #$ff     ;test result
0bcd : c0ff             [ 2]>            cpy #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0a63 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0bcf : f002             [ 3]>        beq skip0554
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bd1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bd2 : 0d                   >        db      test_num
 
                            >
 
0bd3 :                      >skip0554
                            >
                            >
0a65 : 68               [ 4]>            pla         ;load status
0bd3 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0+minus
                            >            cmp_flag 0+minus
0a66 : c9b0             [ 2]>            cmp #(0+minus|fao)&m8    ;expected flags + always on bits
0bd4 : c9b0             [ 2]>            cmp #(0+minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a68 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0bd6 : f002             [ 3]>        beq skip0557
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bd8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bd9 : 0d                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   99
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
0bda :                      >skip0557
                            >
                            >
0a6a : 28               [ 4]>            plp         ;restore status
0bda : 28               [ 4]>            plp         ;restore status
 
 
0a6b : c8               [ 2]         iny             ;00
0bdb : c8               [ 2]         iny             ;00
                                     tst_y 0,zero
                                     tst_y 0,zero
0a6c : 08               [ 3]>            php         ;save flags
0bdc : 08               [ 3]>            php         ;save flags
0a6d : 08               [ 3]>            php
0bdd : 08               [ 3]>            php
0a6e : c000             [ 2]>            cpy #0     ;test result
0bde : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   56
0be0 : f002             [ 3]>        beq skip0560
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0a70 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0be2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0be3 : 0d                   >        db      test_num
                            >
                            >
0a72 : 68               [ 4]>            pla         ;load status
0be4 :                      >skip0560
 
                            >
 
0be4 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0a73 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0be5 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a75 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0be7 : f002             [ 3]>        beq skip0563
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0be9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bea : 0d                   >        db      test_num
                            >
                            >
0a77 : 28               [ 4]>            plp         ;restore status
0beb :                      >skip0563
 
                            >
 
0beb : 28               [ 4]>            plp         ;restore status
 
 
0a78 : c8               [ 2]         iny             ;01
0bec : c8               [ 2]         iny             ;01
                                     tst_y 1,0
                                     tst_y 1,0
0a79 : 08               [ 3]>            php         ;save flags
0bed : 08               [ 3]>            php         ;save flags
0a7a : 08               [ 3]>            php
0bee : 08               [ 3]>            php
0a7b : c001             [ 2]>            cpy #1     ;test result
0bef : c001             [ 2]>            cpy #1     ;test result
                            >            trap_ne
                            >            trap_ne
0a7d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0bf1 : f002             [ 3]>        beq skip0566
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bf3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bf4 : 0d                   >        db      test_num
                            >
                            >
0a7f : 68               [ 4]>            pla         ;load status
0bf5 :                      >skip0566
 
                            >
 
0bf5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
0a80 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0bf6 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a82 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0bf8 : f002             [ 3]>        beq skip0569
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  100
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0bfa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0bfb : 0d                   >        db      test_num
                            >
                            >
0a84 : 28               [ 4]>            plp         ;restore status
0bfc :                      >skip0569
 
                            >
 
0bfc : 28               [ 4]>            plp         ;restore status
 
 
0a85 : 88               [ 2]         dey             ;00
0bfd : 88               [ 2]         dey             ;00
                                     tst_y 0,zero
                                     tst_y 0,zero
0a86 : 08               [ 3]>            php         ;save flags
0bfe : 08               [ 3]>            php         ;save flags
0a87 : 08               [ 3]>            php
0bff : 08               [ 3]>            php
0a88 : c000             [ 2]>            cpy #0     ;test result
0c00 : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
0a8a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c02 : f002             [ 3]>        beq skip0572
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c04 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c05 : 0d                   >        db      test_num
                            >
                            >
0a8c : 68               [ 4]>            pla         ;load status
0c06 :                      >skip0572
 
                            >
 
0c06 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0a8d : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0c07 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0a8f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c09 : f002             [ 3]>        beq skip0575
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c0b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c0c : 0d                   >        db      test_num
 
                            >
 
0c0d :                      >skip0575
                            >
                            >
0a91 : 28               [ 4]>            plp         ;restore status
0c0d : 28               [ 4]>            plp         ;restore status
 
 
0a92 : 88               [ 2]         dey             ;ff
0c0e : 88               [ 2]         dey             ;ff
                                     tst_y $ff,minus
                                     tst_y $ff,minus
0a93 : 08               [ 3]>            php         ;save flags
0c0f : 08               [ 3]>            php         ;save flags
0a94 : 08               [ 3]>            php
0c10 : 08               [ 3]>            php
0a95 : c0ff             [ 2]>            cpy #$ff     ;test result
0c11 : c0ff             [ 2]>            cpy #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0a97 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c13 : f002             [ 3]>        beq skip0578
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c15 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c16 : 0d                   >        db      test_num
 
                            >
 
0c17 :                      >skip0578
                            >
                            >
0a99 : 68               [ 4]>            pla         ;load status
0c17 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   57
0c18 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  101
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0a9a : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
 
                            >
 
                            >            trap_ne
                            >            trap_ne
0a9c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c1a : f002             [ 3]>        beq skip0581
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c1c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c1d : 0d                   >        db      test_num
 
                            >
 
0c1e :                      >skip0581
                            >
                            >
0a9e : 28               [ 4]>            plp         ;restore status
0c1e : 28               [ 4]>            plp         ;restore status
 
 
 
 
0a9f : a2ff             [ 2]         ldx #$ff
0c1f : a2ff             [ 2]         ldx #$ff
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0aa1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0c21 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0aa3 : 48               [ 3]>            pha         ;use stack to load status
0c23 : 48               [ 3]>            pha         ;use stack to load status
0aa4 : 28               [ 4]>            plp
0c24 : 28               [ 4]>            plp
 
 
0aa5 : 8a               [ 2]         txa
0c25 : 8a               [ 2]         txa
                                     tst_a $ff,$ff-zero
                                     tst_a $ff,$ff-zero
0aa6 : 08               [ 3]>            php         ;save flags
0c26 : 08               [ 3]>            php         ;save flags
0aa7 : 08               [ 3]>            php
0c27 : 08               [ 3]>            php
0aa8 : c9ff             [ 2]>            cmp #$ff     ;test result
0c28 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0aaa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c2a : f002             [ 3]>        beq skip0586
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c2c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c2d : 0d                   >        db      test_num
 
                            >
 
0c2e :                      >skip0586
                            >
                            >
0aac : 68               [ 4]>            pla         ;load status
0c2e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0aad : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0c2f : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0aaf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c31 : f002             [ 3]>        beq skip0589
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c33 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c34 : 0d                   >        db      test_num
                            >
                            >
0ab1 : 28               [ 4]>            plp         ;restore status
0c35 :                      >skip0589
 
                            >
 
0c35 : 28               [ 4]>            plp         ;restore status
 
 
0ab2 : 08               [ 3]         php
0c36 : 08               [ 3]         php
0ab3 : e8               [ 2]         inx             ;00
0c37 : e8               [ 2]         inx             ;00
0ab4 : 28               [ 4]         plp
0c38 : 28               [ 4]         plp
0ab5 : 8a               [ 2]         txa
0c39 : 8a               [ 2]         txa
                                     tst_a 0,$ff-minus
                                     tst_a 0,$ff-minus
0ab6 : 08               [ 3]>            php         ;save flags
0c3a : 08               [ 3]>            php         ;save flags
0ab7 : 08               [ 3]>            php
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  102
0ab8 : c900             [ 2]>            cmp #0     ;test result
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0c3b : 08               [ 3]>            php
 
0c3c : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
0aba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c3e : f002             [ 3]>        beq skip0592
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c40 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c41 : 0d                   >        db      test_num
                            >
                            >
0abc : 68               [ 4]>            pla         ;load status
0c42 :                      >skip0592
 
                            >
 
0c42 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
0abd : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0c43 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0abf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c45 : f002             [ 3]>        beq skip0595
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c47 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c48 : 0d                   >        db      test_num
                            >
                            >
0ac1 : 28               [ 4]>            plp         ;restore status
0c49 :                      >skip0595
 
                            >
0ac2 : 08               [ 3]         php
0c49 : 28               [ 4]>            plp         ;restore status
0ac3 : e8               [ 2]         inx             ;01
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   58
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0ac4 : 28               [ 4]         plp
0c4a : 08               [ 3]         php
0ac5 : 8a               [ 2]         txa
0c4b : e8               [ 2]         inx             ;01
 
0c4c : 28               [ 4]         plp
 
0c4d : 8a               [ 2]         txa
                                     tst_a 1,$ff-minus-zero
                                     tst_a 1,$ff-minus-zero
0ac6 : 08               [ 3]>            php         ;save flags
0c4e : 08               [ 3]>            php         ;save flags
0ac7 : 08               [ 3]>            php
0c4f : 08               [ 3]>            php
0ac8 : c901             [ 2]>            cmp #1     ;test result
0c50 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0aca : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c52 : f002             [ 3]>        beq skip0598
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c54 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c55 : 0d                   >        db      test_num
                            >
                            >
0acc : 68               [ 4]>            pla         ;load status
0c56 :                      >skip0598
 
                            >
 
0c56 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
0acd : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0c57 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0acf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c59 : f002             [ 3]>        beq skip0601
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c5b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c5c : 0d                   >        db      test_num
 
                            >
 
0c5d :                      >skip0601
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  103
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
0ad1 : 28               [ 4]>            plp         ;restore status
0c5d : 28               [ 4]>            plp         ;restore status
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0ad2 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0c5e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0ad4 : 48               [ 3]>            pha         ;use stack to load status
0c60 : 48               [ 3]>            pha         ;use stack to load status
0ad5 : 28               [ 4]>            plp
0c61 : 28               [ 4]>            plp
 
 
0ad6 : 8a               [ 2]         txa
0c62 : 8a               [ 2]         txa
                                     tst_a 1,0
                                     tst_a 1,0
0ad7 : 08               [ 3]>            php         ;save flags
0c63 : 08               [ 3]>            php         ;save flags
0ad8 : 08               [ 3]>            php
0c64 : 08               [ 3]>            php
0ad9 : c901             [ 2]>            cmp #1     ;test result
0c65 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0adb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c67 : f002             [ 3]>        beq skip0606
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c69 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c6a : 0d                   >        db      test_num
                            >
                            >
0add : 68               [ 4]>            pla         ;load status
0c6b :                      >skip0606
 
                            >
 
0c6b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
0ade : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0c6c : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0ae0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c6e : f002             [ 3]>        beq skip0609
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c70 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c71 : 0d                   >        db      test_num
 
                            >
 
0c72 :                      >skip0609
                            >
                            >
0ae2 : 28               [ 4]>            plp         ;restore status
0c72 : 28               [ 4]>            plp         ;restore status
 
 
0ae3 : 08               [ 3]         php
0c73 : 08               [ 3]         php
0ae4 : ca               [ 2]         dex             ;00
0c74 : ca               [ 2]         dex             ;00
0ae5 : 28               [ 4]         plp
0c75 : 28               [ 4]         plp
0ae6 : 8a               [ 2]         txa
0c76 : 8a               [ 2]         txa
                                     tst_a 0,zero
                                     tst_a 0,zero
0ae7 : 08               [ 3]>            php         ;save flags
0c77 : 08               [ 3]>            php         ;save flags
0ae8 : 08               [ 3]>            php
0c78 : 08               [ 3]>            php
0ae9 : c900             [ 2]>            cmp #0     ;test result
0c79 : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
0aeb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c7b : f002             [ 3]>        beq skip0612
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c7d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c7e : 0d                   >        db      test_num
                            >
                            >
0aed : 68               [ 4]>            pla         ;load status
0c7f :                      >skip0612
                            >            cmp_flag zero
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  104
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   59
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0aee : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
 
0c7f : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag zero
 
0c80 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0af0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c82 : f002             [ 3]>        beq skip0615
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c84 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c85 : 0d                   >        db      test_num
                            >
                            >
0af2 : 28               [ 4]>            plp         ;restore status
0c86 :                      >skip0615
 
                            >
 
0c86 : 28               [ 4]>            plp         ;restore status
 
 
0af3 : 08               [ 3]         php
0c87 : 08               [ 3]         php
0af4 : ca               [ 2]         dex             ;ff
0c88 : ca               [ 2]         dex             ;ff
0af5 : 28               [ 4]         plp
0c89 : 28               [ 4]         plp
0af6 : 8a               [ 2]         txa
0c8a : 8a               [ 2]         txa
                                     tst_a $ff,minus
                                     tst_a $ff,minus
0af7 : 08               [ 3]>            php         ;save flags
0c8b : 08               [ 3]>            php         ;save flags
0af8 : 08               [ 3]>            php
0c8c : 08               [ 3]>            php
0af9 : c9ff             [ 2]>            cmp #$ff     ;test result
0c8d : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0afb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c8f : f002             [ 3]>        beq skip0618
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c91 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c92 : 0d                   >        db      test_num
                            >
                            >
0afd : 68               [ 4]>            pla         ;load status
0c93 :                      >skip0618
 
                            >
 
0c93 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
0afe : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0c94 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b00 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0c96 : f002             [ 3]>        beq skip0621
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0c98 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0c99 : 0d                   >        db      test_num
 
                            >
 
0c9a :                      >skip0621
                            >
                            >
0b02 : 28               [ 4]>            plp         ;restore status
0c9a : 28               [ 4]>            plp         ;restore status
 
 
 
 
0b03 : a0ff             [ 2]         ldy #$ff
0c9b : a0ff             [ 2]         ldy #$ff
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0b05 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0c9d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0b07 : 48               [ 3]>            pha         ;use stack to load status
0c9f : 48               [ 3]>            pha         ;use stack to load status
0b08 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  105
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0b09 : 98               [ 2]         tya
0ca0 : 28               [ 4]>            plp
 
 
 
0ca1 : 98               [ 2]         tya
                                     tst_a $ff,$ff-zero
                                     tst_a $ff,$ff-zero
0b0a : 08               [ 3]>            php         ;save flags
0ca2 : 08               [ 3]>            php         ;save flags
0b0b : 08               [ 3]>            php
0ca3 : 08               [ 3]>            php
0b0c : c9ff             [ 2]>            cmp #$ff     ;test result
0ca4 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0b0e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ca6 : f002             [ 3]>        beq skip0626
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ca8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ca9 : 0d                   >        db      test_num
                            >
                            >
0b10 : 68               [ 4]>            pla         ;load status
0caa :                      >skip0626
 
                            >
 
0caa : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0b11 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0cab : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b13 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cad : f002             [ 3]>        beq skip0629
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0caf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0cb0 : 0d                   >        db      test_num
                            >
                            >
0b15 : 28               [ 4]>            plp         ;restore status
0cb1 :                      >skip0629
 
                            >
0b16 : 08               [ 3]         php
0cb1 : 28               [ 4]>            plp         ;restore status
0b17 : c8               [ 2]         iny             ;00
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   60
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0b18 : 28               [ 4]         plp
0cb2 : 08               [ 3]         php
0b19 : 98               [ 2]         tya
0cb3 : c8               [ 2]         iny             ;00
 
0cb4 : 28               [ 4]         plp
 
0cb5 : 98               [ 2]         tya
                                     tst_a 0,$ff-minus
                                     tst_a 0,$ff-minus
0b1a : 08               [ 3]>            php         ;save flags
0cb6 : 08               [ 3]>            php         ;save flags
0b1b : 08               [ 3]>            php
0cb7 : 08               [ 3]>            php
0b1c : c900             [ 2]>            cmp #0     ;test result
0cb8 : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
0b1e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cba : f002             [ 3]>        beq skip0632
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0cbc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0cbd : 0d                   >        db      test_num
                            >
                            >
0b20 : 68               [ 4]>            pla         ;load status
0cbe :                      >skip0632
 
                            >
 
0cbe : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
0b21 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0cbf : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b23 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cc1 : f002             [ 3]>        beq skip0635
                            >
                            >        trap           ;failed equal (zero)
0b25 : 28               [ 4]>            plp         ;restore status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  106
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0b26 : 08               [ 3]         php
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0b27 : c8               [ 2]         iny             ;01
0cc3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0b28 : 28               [ 4]         plp
0cc4 : 0d                   >        db      test_num
0b29 : 98               [ 2]         tya
                            >
 
0cc5 :                      >skip0635
 
                            >
 
0cc5 : 28               [ 4]>            plp         ;restore status
 
 
 
0cc6 : 08               [ 3]         php
 
0cc7 : c8               [ 2]         iny             ;01
 
0cc8 : 28               [ 4]         plp
 
0cc9 : 98               [ 2]         tya
                                     tst_a 1,$ff-minus-zero
                                     tst_a 1,$ff-minus-zero
0b2a : 08               [ 3]>            php         ;save flags
0cca : 08               [ 3]>            php         ;save flags
0b2b : 08               [ 3]>            php
0ccb : 08               [ 3]>            php
0b2c : c901             [ 2]>            cmp #1     ;test result
0ccc : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0b2e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cce : f002             [ 3]>        beq skip0638
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0cd0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0cd1 : 0d                   >        db      test_num
                            >
                            >
0b30 : 68               [ 4]>            pla         ;load status
0cd2 :                      >skip0638
 
                            >
 
0cd2 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
0b31 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0cd3 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b33 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cd5 : f002             [ 3]>        beq skip0641
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0cd7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0cd8 : 0d                   >        db      test_num
 
                            >
 
0cd9 :                      >skip0641
                            >
                            >
0b35 : 28               [ 4]>            plp         ;restore status
0cd9 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0b36 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0cda : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0b38 : 48               [ 3]>            pha         ;use stack to load status
0cdc : 48               [ 3]>            pha         ;use stack to load status
0b39 : 28               [ 4]>            plp
0cdd : 28               [ 4]>            plp
 
 
0b3a : 98               [ 2]         tya
0cde : 98               [ 2]         tya
                                     tst_a 1,0
                                     tst_a 1,0
0b3b : 08               [ 3]>            php         ;save flags
0cdf : 08               [ 3]>            php         ;save flags
0b3c : 08               [ 3]>            php
0ce0 : 08               [ 3]>            php
0b3d : c901             [ 2]>            cmp #1     ;test result
0ce1 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
0b3f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ce3 : f002             [ 3]>        beq skip0646
                            >
                            >        trap           ;failed equal (zero)
0b41 : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  107
                            >            cmp_flag 0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   61
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0b42 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ce5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ce6 : 0d                   >        db      test_num
 
                            >
 
0ce7 :                      >skip0646
 
                            >
 
0ce7 : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag 0
 
0ce8 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b44 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cea : f002             [ 3]>        beq skip0649
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0cec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ced : 0d                   >        db      test_num
 
                            >
 
0cee :                      >skip0649
                            >
                            >
0b46 : 28               [ 4]>            plp         ;restore status
0cee : 28               [ 4]>            plp         ;restore status
 
 
0b47 : 08               [ 3]         php
0cef : 08               [ 3]         php
0b48 : 88               [ 2]         dey             ;00
0cf0 : 88               [ 2]         dey             ;00
0b49 : 28               [ 4]         plp
0cf1 : 28               [ 4]         plp
0b4a : 98               [ 2]         tya
0cf2 : 98               [ 2]         tya
                                     tst_a 0,zero
                                     tst_a 0,zero
0b4b : 08               [ 3]>            php         ;save flags
0cf3 : 08               [ 3]>            php         ;save flags
0b4c : 08               [ 3]>            php
0cf4 : 08               [ 3]>            php
0b4d : c900             [ 2]>            cmp #0     ;test result
0cf5 : c900             [ 2]>            cmp #0     ;test result
                            >            trap_ne
                            >            trap_ne
0b4f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cf7 : f002             [ 3]>        beq skip0652
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0cf9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0cfa : 0d                   >        db      test_num
                            >
                            >
0b51 : 68               [ 4]>            pla         ;load status
0cfb :                      >skip0652
 
                            >
 
0cfb : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0b52 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0cfc : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b54 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0cfe : f002             [ 4]>        beq skip0655
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d00 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d01 : 0d                   >        db      test_num
                            >
                            >
0b56 : 28               [ 4]>            plp         ;restore status
0d02 :                      >skip0655
 
                            >
 
0d02 : 28               [ 4]>            plp         ;restore status
 
 
 
0d03 : 08               [ 3]         php
 
0d04 : 88               [ 2]         dey             ;ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  108
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0b57 : 08               [ 3]         php
0d05 : 28               [ 4]         plp
0b58 : 88               [ 2]         dey             ;ff
0d06 : 98               [ 2]         tya
0b59 : 28               [ 4]         plp
 
0b5a : 98               [ 2]         tya
 
                                     tst_a $ff,minus
                                     tst_a $ff,minus
0b5b : 08               [ 3]>            php         ;save flags
0d07 : 08               [ 3]>            php         ;save flags
0b5c : 08               [ 3]>            php
0d08 : 08               [ 3]>            php
0b5d : c9ff             [ 2]>            cmp #$ff     ;test result
0d09 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0b5f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d0b : f002             [ 3]>        beq skip0658
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d0d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d0e : 0d                   >        db      test_num
 
                            >
 
0d0f :                      >skip0658
                            >
                            >
0b61 : 68               [ 4]>            pla         ;load status
0d0f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
0b62 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0d10 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b64 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d12 : f002             [ 3]>        beq skip0661
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d14 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d15 : 0d                   >        db      test_num
                            >
                            >
0b66 : 28               [ 4]>            plp         ;restore status
0d16 :                      >skip0661
 
                            >
 
0d16 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     load_flag $ff
                                     load_flag $ff
0b67 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0d17 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
 
0b69 : 48               [ 3]         pha
 
0b6a : a2ff             [ 2]         ldx #$ff        ;ff
 
0b6c : 8a               [ 2]         txa
 
0b6d : 28               [ 4]         plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   62
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0b6e : a8               [ 2]         tay
0d19 : 48               [ 3]         pha
 
0d1a : a2ff             [ 2]         ldx #$ff        ;ff
 
0d1c : 8a               [ 2]         txa
 
0d1d : 28               [ 4]         plp
 
0d1e : a8               [ 2]         tay
                                     tst_y $ff,$ff-zero
                                     tst_y $ff,$ff-zero
0b6f : 08               [ 3]>            php         ;save flags
0d1f : 08               [ 3]>            php         ;save flags
0b70 : 08               [ 3]>            php
0d20 : 08               [ 3]>            php
0b71 : c0ff             [ 2]>            cpy #$ff     ;test result
0d21 : c0ff             [ 2]>            cpy #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0b73 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d23 : f002             [ 3]>        beq skip0665
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d25 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d26 : 0d                   >        db      test_num
 
                            >
 
0d27 :                      >skip0665
                            >
                            >
0b75 : 68               [ 4]>            pla         ;load status
0d27 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0b76 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0d28 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  109
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b78 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d2a : f002             [ 3]>        beq skip0668
                            >
                            >        trap           ;failed equal (zero)
0b7a : 28               [ 4]>            plp         ;restore status
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d2c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0b7b : 08               [ 3]         php
0d2d : 0d                   >        db      test_num
0b7c : e8               [ 2]         inx             ;00
                            >
0b7d : 8a               [ 2]         txa
0d2e :                      >skip0668
0b7e : 28               [ 4]         plp
                            >
0b7f : a8               [ 2]         tay
0d2e : 28               [ 4]>            plp         ;restore status
 
 
 
0d2f : 08               [ 3]         php
 
0d30 : e8               [ 2]         inx             ;00
 
0d31 : 8a               [ 2]         txa
 
0d32 : 28               [ 4]         plp
 
0d33 : a8               [ 2]         tay
                                     tst_y 0,$ff-minus
                                     tst_y 0,$ff-minus
0b80 : 08               [ 3]>            php         ;save flags
0d34 : 08               [ 3]>            php         ;save flags
0b81 : 08               [ 3]>            php
0d35 : 08               [ 3]>            php
0b82 : c000             [ 2]>            cpy #0     ;test result
0d36 : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
0b84 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d38 : f002             [ 3]>        beq skip0671
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d3a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d3b : 0d                   >        db      test_num
                            >
                            >
0b86 : 68               [ 4]>            pla         ;load status
0d3c :                      >skip0671
 
                            >
 
0d3c : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
0b87 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0d3d : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0b89 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d3f : f002             [ 3]>        beq skip0674
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d41 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d42 : 0d                   >        db      test_num
 
                            >
 
0d43 :                      >skip0674
                            >
                            >
0b8b : 28               [ 4]>            plp         ;restore status
0d43 : 28               [ 4]>            plp         ;restore status
 
 
0b8c : 08               [ 3]         php
0d44 : 08               [ 3]         php
0b8d : e8               [ 2]         inx             ;01
0d45 : e8               [ 2]         inx             ;01
0b8e : 8a               [ 2]         txa
0d46 : 8a               [ 2]         txa
0b8f : 28               [ 4]         plp
0d47 : 28               [ 4]         plp
0b90 : a8               [ 2]         tay
0d48 : a8               [ 2]         tay
                                     tst_y 1,$ff-minus-zero
                                     tst_y 1,$ff-minus-zero
0b91 : 08               [ 3]>            php         ;save flags
0d49 : 08               [ 3]>            php         ;save flags
0b92 : 08               [ 3]>            php
0d4a : 08               [ 3]>            php
0b93 : c001             [ 2]>            cpy #1     ;test result
0d4b : c001             [ 2]>            cpy #1     ;test result
                            >            trap_ne
                            >            trap_ne
0b95 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  110
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0d4d : f002             [ 3]>        beq skip0677
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d4f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d50 : 0d                   >        db      test_num
 
                            >
 
0d51 :                      >skip0677
                            >
                            >
0b97 : 68               [ 4]>            pla         ;load status
0d51 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
0b98 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0d52 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   63
0d54 : f002             [ 3]>        beq skip0680
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0b9a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d56 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d57 : 0d                   >        db      test_num
 
                            >
 
0d58 :                      >skip0680
                            >
                            >
0b9c : 28               [ 4]>            plp         ;restore status
0d58 : 28               [ 4]>            plp         ;restore status
 
 
                                     load_flag 0
                                     load_flag 0
0b9d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0d59 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
 
 
0b9f : 48               [ 3]         pha
0d5b : 48               [ 3]         pha
0ba0 : a900             [ 2]         lda #0
0d5c : a900             [ 2]         lda #0
0ba2 : 8a               [ 2]         txa
0d5e : 8a               [ 2]         txa
0ba3 : 28               [ 4]         plp
0d5f : 28               [ 4]         plp
0ba4 : a8               [ 2]         tay
0d60 : a8               [ 2]         tay
                                     tst_y 1,0
                                     tst_y 1,0
0ba5 : 08               [ 3]>            php         ;save flags
0d61 : 08               [ 3]>            php         ;save flags
0ba6 : 08               [ 3]>            php
0d62 : 08               [ 3]>            php
0ba7 : c001             [ 2]>            cpy #1     ;test result
0d63 : c001             [ 2]>            cpy #1     ;test result
                            >            trap_ne
                            >            trap_ne
0ba9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d65 : f002             [ 3]>        beq skip0684
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d67 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d68 : 0d                   >        db      test_num
 
                            >
 
0d69 :                      >skip0684
                            >
                            >
0bab : 68               [ 4]>            pla         ;load status
0d69 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
0bac : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0d6a : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0bae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d6c : f002             [ 3]>        beq skip0687
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d6e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d6f : 0d                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  111
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0d70 :                      >skip0687
                            >
                            >
0bb0 : 28               [ 4]>            plp         ;restore status
0d70 : 28               [ 4]>            plp         ;restore status
 
 
0bb1 : 08               [ 3]         php
0d71 : 08               [ 3]         php
0bb2 : ca               [ 2]         dex             ;00
0d72 : ca               [ 2]         dex             ;00
0bb3 : 8a               [ 2]         txa
0d73 : 8a               [ 2]         txa
0bb4 : 28               [ 4]         plp
0d74 : 28               [ 4]         plp
0bb5 : a8               [ 2]         tay
0d75 : a8               [ 2]         tay
                                     tst_y 0,zero
                                     tst_y 0,zero
0bb6 : 08               [ 3]>            php         ;save flags
0d76 : 08               [ 3]>            php         ;save flags
0bb7 : 08               [ 3]>            php
0d77 : 08               [ 3]>            php
0bb8 : c000             [ 2]>            cpy #0     ;test result
0d78 : c000             [ 2]>            cpy #0     ;test result
                            >            trap_ne
                            >            trap_ne
0bba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d7a : f002             [ 3]>        beq skip0690
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d7c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d7d : 0d                   >        db      test_num
 
                            >
 
0d7e :                      >skip0690
                            >
                            >
0bbc : 68               [ 4]>            pla         ;load status
0d7e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0bbd : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0d7f : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0bbf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d81 : f002             [ 3]>        beq skip0693
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d83 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d84 : 0d                   >        db      test_num
                            >
                            >
0bc1 : 28               [ 4]>            plp         ;restore status
0d85 :                      >skip0693
 
                            >
 
0d85 : 28               [ 4]>            plp         ;restore status
 
 
0bc2 : 08               [ 3]         php
0d86 : 08               [ 3]         php
0bc3 : ca               [ 2]         dex             ;ff
0d87 : ca               [ 2]         dex             ;ff
0bc4 : 8a               [ 2]         txa
0d88 : 8a               [ 2]         txa
0bc5 : 28               [ 4]         plp
0d89 : 28               [ 4]         plp
0bc6 : a8               [ 2]         tay
0d8a : a8               [ 2]         tay
                                     tst_y $ff,minus
                                     tst_y $ff,minus
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   64
0d8b : 08               [ 3]>            php         ;save flags
 
0d8c : 08               [ 3]>            php
 
0d8d : c0ff             [ 2]>            cpy #$ff     ;test result
 
                            >            trap_ne
 
0d8f : f002             [ 3]>        beq skip0696
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d91 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d92 : 0d                   >        db      test_num
 
                            >
 
0d93 :                      >skip0696
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  112
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0bc7 : 08               [ 3]>            php         ;save flags
0d93 : 68               [ 4]>            pla         ;load status
0bc8 : 08               [ 3]>            php
 
0bc9 : c0ff             [ 2]>            cpy #$ff     ;test result
 
                            >            trap_ne
 
0bcb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
                            >
 
0bcd : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag minus
                            >            cmp_flag minus
0bce : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0d94 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0bd0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0d96 : f002             [ 3]>        beq skip0699
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0d98 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0d99 : 0d                   >        db      test_num
                            >
                            >
0bd2 : 28               [ 4]>            plp         ;restore status
0d9a :                      >skip0699
 
                            >
 
0d9a : 28               [ 4]>            plp         ;restore status
 
 
 
 
 
 
                                     load_flag $ff
                                     load_flag $ff
0bd3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0d9b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
 
0bd5 : 48               [ 3]         pha
0d9d : 48               [ 3]         pha
0bd6 : a0ff             [ 2]         ldy #$ff        ;ff
0d9e : a0ff             [ 2]         ldy #$ff        ;ff
0bd8 : 98               [ 2]         tya
0da0 : 98               [ 2]         tya
0bd9 : 28               [ 4]         plp
0da1 : 28               [ 4]         plp
0bda : aa               [ 2]         tax
0da2 : aa               [ 2]         tax
                                     tst_x $ff,$ff-zero
                                     tst_x $ff,$ff-zero
0bdb : 08               [ 3]>            php         ;save flags
0da3 : 08               [ 3]>            php         ;save flags
0bdc : 08               [ 3]>            php
0da4 : 08               [ 3]>            php
0bdd : e0ff             [ 2]>            cpx #$ff     ;test result
0da5 : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0bdf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0da7 : f002             [ 3]>        beq skip0703
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0da9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0daa : 0d                   >        db      test_num
                            >
                            >
0be1 : 68               [ 4]>            pla         ;load status
0dab :                      >skip0703
 
                            >
 
0dab : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-zero
                            >            cmp_flag $ff-zero
0be2 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0dac : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0be4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0dae : f002             [ 3]>        beq skip0706
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0db0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0db1 : 0d                   >        db      test_num
 
                            >
 
0db2 :                      >skip0706
                            >
                            >
0be6 : 28               [ 4]>            plp         ;restore status
0db2 : 28               [ 4]>            plp         ;restore status
 
 
0be7 : 08               [ 3]         php
0db3 : 08               [ 3]         php
0be8 : c8               [ 2]         iny             ;00
0db4 : c8               [ 2]         iny             ;00
0be9 : 98               [ 2]         tya
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  113
0bea : 28               [ 4]         plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0beb : aa               [ 2]         tax
 
 
0db5 : 98               [ 2]         tya
 
0db6 : 28               [ 4]         plp
 
0db7 : aa               [ 2]         tax
                                     tst_x 0,$ff-minus
                                     tst_x 0,$ff-minus
0bec : 08               [ 3]>            php         ;save flags
0db8 : 08               [ 3]>            php         ;save flags
0bed : 08               [ 3]>            php
0db9 : 08               [ 3]>            php
0bee : e000             [ 2]>            cpx #0     ;test result
0dba : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
0bf0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0dbc : f002             [ 3]>        beq skip0709
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0dbe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0dbf : 0d                   >        db      test_num
                            >
                            >
0bf2 : 68               [ 4]>            pla         ;load status
0dc0 :                      >skip0709
 
                            >
 
0dc0 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus
                            >            cmp_flag $ff-minus
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   65
0dc1 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0bf3 : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0bf5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0dc3 : f002             [ 3]>        beq skip0712
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0dc5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0dc6 : 0d                   >        db      test_num
                            >
                            >
0bf7 : 28               [ 4]>            plp         ;restore status
0dc7 :                      >skip0712
 
                            >
 
0dc7 : 28               [ 4]>            plp         ;restore status
 
 
0bf8 : 08               [ 3]         php
0dc8 : 08               [ 3]         php
0bf9 : c8               [ 2]         iny             ;01
0dc9 : c8               [ 2]         iny             ;01
0bfa : 98               [ 2]         tya
0dca : 98               [ 2]         tya
0bfb : 28               [ 4]         plp
0dcb : 28               [ 4]         plp
0bfc : aa               [ 2]         tax
0dcc : aa               [ 2]         tax
                                     tst_x 1,$ff-minus-zero
                                     tst_x 1,$ff-minus-zero
0bfd : 08               [ 3]>            php         ;save flags
0dcd : 08               [ 3]>            php         ;save flags
0bfe : 08               [ 3]>            php
0dce : 08               [ 3]>            php
0bff : e001             [ 2]>            cpx #1     ;test result
0dcf : e001             [ 2]>            cpx #1     ;test result
                            >            trap_ne
                            >            trap_ne
0c01 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0dd1 : f002             [ 3]>        beq skip0715
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0dd3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0dd4 : 0d                   >        db      test_num
                            >
                            >
0c03 : 68               [ 4]>            pla         ;load status
0dd5 :                      >skip0715
 
                            >
 
0dd5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag $ff-minus-zero
                            >            cmp_flag $ff-minus-zero
0c04 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0dd6 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0c06 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0dd8 : f002             [ 3]>        beq skip0718
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  114
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0dda : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ddb : 0d                   >        db      test_num
                            >
                            >
0c08 : 28               [ 4]>            plp         ;restore status
0ddc :                      >skip0718
 
                            >
 
0ddc : 28               [ 4]>            plp         ;restore status
 
 
                                     load_flag 0
                                     load_flag 0
0c09 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0ddd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
 
 
0c0b : 48               [ 3]         pha
0ddf : 48               [ 3]         pha
0c0c : a900             [ 2]         lda #0          ;preset status
0de0 : a900             [ 2]         lda #0          ;preset status
0c0e : 98               [ 2]         tya
0de2 : 98               [ 2]         tya
0c0f : 28               [ 4]         plp
0de3 : 28               [ 4]         plp
0c10 : aa               [ 2]         tax
0de4 : aa               [ 2]         tax
                                     tst_x 1,0
                                     tst_x 1,0
0c11 : 08               [ 3]>            php         ;save flags
0de5 : 08               [ 3]>            php         ;save flags
0c12 : 08               [ 3]>            php
0de6 : 08               [ 3]>            php
0c13 : e001             [ 2]>            cpx #1     ;test result
0de7 : e001             [ 2]>            cpx #1     ;test result
                            >            trap_ne
                            >            trap_ne
0c15 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0de9 : f002             [ 3]>        beq skip0722
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0deb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0dec : 0d                   >        db      test_num
                            >
                            >
0c17 : 68               [ 4]>            pla         ;load status
0ded :                      >skip0722
 
                            >
 
0ded : 68               [ 4]>            pla         ;load status
                            >            cmp_flag 0
                            >            cmp_flag 0
0c18 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0dee : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0c1a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0df0 : f002             [ 3]>        beq skip0725
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0df2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0df3 : 0d                   >        db      test_num
                            >
                            >
0c1c : 28               [ 4]>            plp         ;restore status
0df4 :                      >skip0725
 
                            >
0c1d : 08               [ 3]         php
0df4 : 28               [ 4]>            plp         ;restore status
0c1e : 88               [ 2]         dey             ;00
 
0c1f : 98               [ 2]         tya
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   66
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0c20 : 28               [ 4]         plp
0df5 : 08               [ 3]         php
0c21 : aa               [ 2]         tax
0df6 : 88               [ 2]         dey             ;00
 
0df7 : 98               [ 2]         tya
 
0df8 : 28               [ 4]         plp
 
0df9 : aa               [ 2]         tax
                                     tst_x 0,zero
                                     tst_x 0,zero
0c22 : 08               [ 3]>            php         ;save flags
0dfa : 08               [ 3]>            php         ;save flags
0c23 : 08               [ 3]>            php
0dfb : 08               [ 3]>            php
0c24 : e000             [ 2]>            cpx #0     ;test result
0dfc : e000             [ 2]>            cpx #0     ;test result
                            >            trap_ne
                            >            trap_ne
0c26 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  115
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0dfe : f002             [ 4]>        beq skip0728
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e00 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e01 : 0d                   >        db      test_num
 
                            >
 
0e02 :                      >skip0728
                            >
                            >
0c28 : 68               [ 4]>            pla         ;load status
0e02 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag zero
                            >            cmp_flag zero
0c29 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0e03 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0c2b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e05 : f002             [ 3]>        beq skip0731
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e07 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e08 : 0d                   >        db      test_num
                            >
                            >
0c2d : 28               [ 4]>            plp         ;restore status
0e09 :                      >skip0731
 
                            >
 
0e09 : 28               [ 4]>            plp         ;restore status
 
 
0c2e : 08               [ 3]         php
0e0a : 08               [ 3]         php
0c2f : 88               [ 2]         dey             ;ff
0e0b : 88               [ 2]         dey             ;ff
0c30 : 98               [ 2]         tya
0e0c : 98               [ 2]         tya
0c31 : 28               [ 4]         plp
0e0d : 28               [ 4]         plp
0c32 : aa               [ 2]         tax
0e0e : aa               [ 2]         tax
                                     tst_x $ff,minus
                                     tst_x $ff,minus
0c33 : 08               [ 3]>            php         ;save flags
0e0f : 08               [ 3]>            php         ;save flags
0c34 : 08               [ 3]>            php
0e10 : 08               [ 3]>            php
0c35 : e0ff             [ 2]>            cpx #$ff     ;test result
0e11 : e0ff             [ 2]>            cpx #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
0c37 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e13 : f002             [ 3]>        beq skip0734
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e15 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e16 : 0d                   >        db      test_num
                            >
                            >
0c39 : 68               [ 4]>            pla         ;load status
0e17 :                      >skip0734
 
                            >
 
0e17 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag minus
                            >            cmp_flag minus
0c3a : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0e18 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
0c3c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e1a : f002             [ 3]>        beq skip0737
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e1c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e1d : 0d                   >        db      test_num
 
                            >
 
0e1e :                      >skip0737
                            >
                            >
0c3e : 28               [ 4]>            plp         ;restore status
0e1e : 28               [ 4]>            plp         ;restore status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  116
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     next_test
                                     next_test
0c3f : ad0002           [ 4]>            lda test_case   ;previous test
0e1f : ad0002           [ 4]>            lda test_case   ;previous test
0c42 : c90d             [ 2]>            cmp #test_num
0e22 : c90d             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0c44 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e24 : f002             [ 3]>        beq skip0740
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e26 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e27 : 0d                   >        db      test_num
 
                            >
 
0e28 :                      >skip0740
                            >
                            >
000e =                      >test_num = test_num + 1
000e =                      >test_num = test_num + 1
0c46 : a90e             [ 2]>            lda #test_num   ;*** this tests' number
0e28 : a90e             [ 2]>            lda #test_num   ;*** this tests' number
0c48 : 8d0002           [ 4]>            sta test_case
0e2a : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ;TSX sets NZ - TXS does not
                             ;TSX sets NZ - TXS does not
0c4b : a201             [ 2]         ldx #1          ;01
 
 
0e2d : a201             [ 2]         ldx #1          ;01
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   67
0e2f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0c4d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
                            >
0c4f : 48               [ 3]>            pha         ;use stack to load status
0e31 : 48               [ 3]>            pha         ;use stack to load status
0c50 : 28               [ 4]>            plp
0e32 : 28               [ 4]>            plp
 
 
0c51 : 9a               [ 2]         txs
0e33 : 9a               [ 2]         txs
0c52 : 08               [ 3]         php
0e34 : 08               [ 3]         php
0c53 : ad0101           [ 4]         lda $101
0e35 : ad0101           [ 4]         lda $101
                                     cmp_flag $ff
                                     cmp_flag $ff
0c56 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0e38 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0c58 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e3a : f002             [ 3]>        beq skip0745
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e3c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e3d : 0e                   >        db      test_num
 
                            >
 
0e3e :                      >skip0745
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0c5a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0e3e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0c5c : 48               [ 3]>            pha         ;use stack to load status
0e40 : 48               [ 3]>            pha         ;use stack to load status
0c5d : 28               [ 4]>            plp
0e41 : 28               [ 4]>            plp
 
 
0c5e : 9a               [ 2]         txs
0e42 : 9a               [ 2]         txs
0c5f : 08               [ 3]         php
0e43 : 08               [ 3]         php
0c60 : ad0101           [ 4]         lda $101
0e44 : ad0101           [ 4]         lda $101
                                     cmp_flag 0
                                     cmp_flag 0
0c63 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  117
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0e47 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0c65 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e49 : f002             [ 3]>        beq skip0750
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e4b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e4c : 0e                   >        db      test_num
 
                            >
 
0e4d :                      >skip0750
 
 
0c67 : ca               [ 2]         dex             ;00
0e4d : ca               [ 2]         dex             ;00
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0c68 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0e4e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0c6a : 48               [ 3]>            pha         ;use stack to load status
0e50 : 48               [ 3]>            pha         ;use stack to load status
0c6b : 28               [ 4]>            plp
0e51 : 28               [ 4]>            plp
 
 
0c6c : 9a               [ 2]         txs
0e52 : 9a               [ 2]         txs
0c6d : 08               [ 3]         php
0e53 : 08               [ 3]         php
0c6e : ad0001           [ 4]         lda $100
0e54 : ad0001           [ 4]         lda $100
                                     cmp_flag $ff
                                     cmp_flag $ff
0c71 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0e57 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0c73 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e59 : f002             [ 3]>        beq skip0755
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e5b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e5c : 0e                   >        db      test_num
 
                            >
 
0e5d :                      >skip0755
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0c75 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0e5d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0c77 : 48               [ 3]>            pha         ;use stack to load status
0e5f : 48               [ 3]>            pha         ;use stack to load status
0c78 : 28               [ 4]>            plp
0e60 : 28               [ 4]>            plp
 
 
0c79 : 9a               [ 2]         txs
0e61 : 9a               [ 2]         txs
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   68
0e62 : 08               [ 3]         php
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0e63 : ad0001           [ 4]         lda $100
 
 
0c7a : 08               [ 3]         php
 
0c7b : ad0001           [ 4]         lda $100
 
                                     cmp_flag 0
                                     cmp_flag 0
0c7e : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0e66 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0c80 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e68 : f002             [ 3]>        beq skip0760
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e6a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e6b : 0e                   >        db      test_num
 
                            >
 
0e6c :                      >skip0760
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  118
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0c82 : ca               [ 2]         dex             ;ff
 
 
0e6c : ca               [ 2]         dex             ;ff
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0c83 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0e6d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0c85 : 48               [ 3]>            pha         ;use stack to load status
0e6f : 48               [ 3]>            pha         ;use stack to load status
0c86 : 28               [ 4]>            plp
0e70 : 28               [ 4]>            plp
 
 
0c87 : 9a               [ 2]         txs
0e71 : 9a               [ 2]         txs
0c88 : 08               [ 3]         php
0e72 : 08               [ 3]         php
0c89 : adff01           [ 4]         lda $1ff
0e73 : adff01           [ 4]         lda $1ff
                                     cmp_flag $ff
                                     cmp_flag $ff
0c8c : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
0e76 : c9ff             [ 2]>            cmp #($ff|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0c8e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e78 : f002             [ 3]>        beq skip0765
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e7a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e7b : 0e                   >        db      test_num
 
                            >
 
0e7c :                      >skip0765
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0c90 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0e7c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0c92 : 48               [ 3]>            pha         ;use stack to load status
0e7e : 48               [ 3]>            pha         ;use stack to load status
0c93 : 28               [ 4]>            plp
0e7f : 28               [ 4]>            plp
 
 
0c94 : 9a               [ 2]         txs
0e80 : 9a               [ 2]         txs
0c95 : 08               [ 3]         php
0e81 : 08               [ 3]         php
0c96 : adff01           [ 4]         lda $1ff
0e82 : adff01           [ 4]         lda $1ff
                                     cmp_flag 0
                                     cmp_flag 0
0c99 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0e85 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
 
 
 
 
0c9b : a201             [ 2]         ldx #1
0e87 : a201             [ 2]         ldx #1
0c9d : 9a               [ 2]         txs             ;sp=01
0e89 : 9a               [ 2]         txs             ;sp=01
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0c9e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0e8a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0ca0 : 48               [ 3]>            pha         ;use stack to load status
0e8c : 48               [ 3]>            pha         ;use stack to load status
0ca1 : 28               [ 4]>            plp
0e8d : 28               [ 4]>            plp
 
 
0ca2 : ba               [ 2]         tsx             ;clears Z, N
 
0ca3 : 08               [ 3]         php             ;sp=00
 
0ca4 : e001             [ 2]         cpx #1
 
                                     trap_ne
 
0ca6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
0ca8 : ad0101           [ 4]         lda $101
0e8e : ba               [ 2]         tsx             ;clears Z, N
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   69
0e8f : 08               [ 3]         php             ;sp=00
 
0e90 : e001             [ 2]         cpx #1
 
                                     trap_ne
 
0e92 : f002             [ 3]>        beq skip0772
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e94 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  119
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0e95 : 0e                   >        db      test_num
 
                            >
 
0e96 :                      >skip0772
 
 
 
0e96 : ad0101           [ 4]         lda $101
                                     cmp_flag $ff-minus-zero
                                     cmp_flag $ff-minus-zero
0cab : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
0e99 : c97d             [ 2]>            cmp #($ff-minus-zero|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0cad : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0e9b : f002             [ 3]>        beq skip0775
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0e9d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0e9e : 0e                   >        db      test_num
 
                            >
 
0e9f :                      >skip0775
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0caf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0e9f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0cb1 : 48               [ 3]>            pha         ;use stack to load status
0ea1 : 48               [ 3]>            pha         ;use stack to load status
0cb2 : 28               [ 4]>            plp
0ea2 : 28               [ 4]>            plp
 
 
0cb3 : ba               [ 2]         tsx             ;clears N, sets Z
0ea3 : ba               [ 2]         tsx             ;clears N, sets Z
0cb4 : 08               [ 3]         php             ;sp=ff
0ea4 : 08               [ 3]         php             ;sp=ff
0cb5 : e000             [ 2]         cpx #0
0ea5 : e000             [ 2]         cpx #0
                                     trap_ne
                                     trap_ne
0cb7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ea7 : f002             [ 3]>        beq skip0779
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ea9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0eaa : 0e                   >        db      test_num
 
                            >
 
0eab :                      >skip0779
 
 
0cb9 : ad0001           [ 4]         lda $100
0eab : ad0001           [ 4]         lda $100
                                     cmp_flag $ff-minus
                                     cmp_flag $ff-minus
0cbc : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
0eae : c97f             [ 2]>            cmp #($ff-minus|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0cbe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0eb0 : f002             [ 3]>        beq skip0782
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0eb2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0eb3 : 0e                   >        db      test_num
 
                            >
 
0eb4 :                      >skip0782
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0cc0 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0eb4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0cc2 : 48               [ 3]>            pha         ;use stack to load status
0eb6 : 48               [ 3]>            pha         ;use stack to load status
0cc3 : 28               [ 4]>            plp
0eb7 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  120
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0cc4 : ba               [ 2]         tsx             ;clears N, sets Z
 
0cc5 : 08               [ 3]         php             ;sp=fe
 
0cc6 : e0ff             [ 2]         cpx #$ff
 
                                     trap_ne
 
0cc8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
0cca : adff01           [ 4]         lda $1ff
0eb8 : ba               [ 2]         tsx             ;clears N, sets Z
 
0eb9 : 08               [ 3]         php             ;sp=fe
 
0eba : e0ff             [ 2]         cpx #$ff
 
                                     trap_ne
 
0ebc : f002             [ 3]>        beq skip0786
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ebe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ebf : 0e                   >        db      test_num
 
                            >
 
0ec0 :                      >skip0786
 
 
 
0ec0 : adff01           [ 4]         lda $1ff
                                     cmp_flag $ff-zero
                                     cmp_flag $ff-zero
0ccd : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
0ec3 : c9fd             [ 2]>            cmp #($ff-zero|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0ccf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ec5 : f002             [ 3]>        beq skip0789
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ec7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ec8 : 0e                   >        db      test_num
 
                            >
 
0ec9 :                      >skip0789
 
 
 
 
0cd1 : a201             [ 2]         ldx #1
0ec9 : a201             [ 2]         ldx #1
0cd3 : 9a               [ 2]         txs             ;sp=01
0ecb : 9a               [ 2]         txs             ;sp=01
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0cd4 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0ecc : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0cd6 : 48               [ 3]>            pha         ;use stack to load status
0ece : 48               [ 3]>            pha         ;use stack to load status
0cd7 : 28               [ 4]>            plp
0ecf : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   70
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
0cd8 : ba               [ 2]         tsx             ;clears Z, N
0ed0 : ba               [ 2]         tsx             ;clears Z, N
0cd9 : 08               [ 3]         php             ;sp=00
0ed1 : 08               [ 3]         php             ;sp=00
0cda : e001             [ 2]         cpx #1
0ed2 : e001             [ 2]         cpx #1
                                     trap_ne
                                     trap_ne
0cdc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ed4 : f002             [ 3]>        beq skip0793
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ed6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ed7 : 0e                   >        db      test_num
 
                            >
 
0ed8 :                      >skip0793
 
 
0cde : ad0101           [ 4]         lda $101
0ed8 : ad0101           [ 4]         lda $101
                                     cmp_flag 0
                                     cmp_flag 0
0ce1 : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
0edb : c930             [ 2]>            cmp #(0|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0ce3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0edd : f002             [ 3]>        beq skip0796
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  121
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0edf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ee0 : 0e                   >        db      test_num
 
                            >
 
0ee1 :                      >skip0796
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0ce5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0ee1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0ce7 : 48               [ 3]>            pha         ;use stack to load status
0ee3 : 48               [ 3]>            pha         ;use stack to load status
0ce8 : 28               [ 4]>            plp
0ee4 : 28               [ 4]>            plp
 
 
0ce9 : ba               [ 2]         tsx             ;clears N, sets Z
0ee5 : ba               [ 2]         tsx             ;clears N, sets Z
0cea : 08               [ 3]         php             ;sp=ff
0ee6 : 08               [ 3]         php             ;sp=ff
0ceb : e000             [ 2]         cpx #0
0ee7 : e000             [ 2]         cpx #0
                                     trap_ne
                                     trap_ne
0ced : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ee9 : f002             [ 3]>        beq skip0800
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0eeb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0eec : 0e                   >        db      test_num
 
                            >
 
0eed :                      >skip0800
 
 
0cef : ad0001           [ 4]         lda $100
0eed : ad0001           [ 4]         lda $100
                                     cmp_flag zero
                                     cmp_flag zero
0cf2 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
0ef0 : c932             [ 2]>            cmp #(zero|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0cf4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ef2 : f002             [ 3]>        beq skip0803
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0ef4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0ef5 : 0e                   >        db      test_num
 
                            >
 
0ef6 :                      >skip0803
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0cf6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0ef6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0cf8 : 48               [ 3]>            pha         ;use stack to load status
0ef8 : 48               [ 3]>            pha         ;use stack to load status
0cf9 : 28               [ 4]>            plp
0ef9 : 28               [ 4]>            plp
 
 
0cfa : ba               [ 2]         tsx             ;clears N, sets Z
0efa : ba               [ 2]         tsx             ;clears N, sets Z
0cfb : 08               [ 3]         php             ;sp=fe
0efb : 08               [ 3]         php             ;sp=fe
0cfc : e0ff             [ 2]         cpx #$ff
0efc : e0ff             [ 2]         cpx #$ff
                                     trap_ne
                                     trap_ne
0cfe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0efe : f002             [ 4]>        beq skip0807
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f00 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f01 : 0e                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  122
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0f02 :                      >skip0807
 
 
0d00 : adff01           [ 4]         lda $1ff
0f02 : adff01           [ 4]         lda $1ff
                                     cmp_flag minus
                                     cmp_flag minus
0d03 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
0f05 : c9b0             [ 2]>            cmp #(minus|fao)&m8    ;expected flags + always on bits
 
 
                                     trap_ne
                                     trap_ne
0d05 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f07 : f002             [ 3]>        beq skip0810
 
                            >        trap           ;failed equal (zero)
0d07 : 68               [ 4]         pla             ;sp=ff
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   71
0f09 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0f0a : 0e                   >        db      test_num
 
                            >
 
0f0b :                      >skip0810
 
 
 
0f0b : 68               [ 4]         pla             ;sp=ff
                                     next_test
                                     next_test
0d08 : ad0002           [ 4]>            lda test_case   ;previous test
0f0c : ad0002           [ 4]>            lda test_case   ;previous test
0d0b : c90e             [ 2]>            cmp #test_num
0f0f : c90e             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0d0d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f11 : f002             [ 3]>        beq skip0813
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f13 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f14 : 0e                   >        db      test_num
 
                            >
 
0f15 :                      >skip0813
                            >
                            >
000f =                      >test_num = test_num + 1
000f =                      >test_num = test_num + 1
0d0f : a90f             [ 2]>            lda #test_num   ;*** this tests' number
0f15 : a90f             [ 2]>            lda #test_num   ;*** this tests' number
0d11 : 8d0002           [ 4]>            sta test_case
0f17 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing index register load & store LDY LDX STY STX all addressing modes
                             ; testing index register load & store LDY LDX STY STX all addressing modes
                             ; LDX / STX - zp,y / abs,y
                             ; LDX / STX - zp,y / abs,y
0d14 : a003             [ 2]         ldy #3
 
0d16 :                       tldx
0f1a : a003             [ 2]         ldy #3
 
0f1c :                       tldx
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0d16 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0f1c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0d18 : 48               [ 3]>            pha         ;use stack to load status
0f1e : 48               [ 3]>            pha         ;use stack to load status
0d19 : 28               [ 4]>            plp
0f1f : 28               [ 4]>            plp
 
 
 
0f20 : b6b9             [ 4]         ldx zp1,y
 
0f22 : 08               [ 3]         php         ;test stores do not alter flags
 
0f23 : 8a               [ 2]         txa
 
0f24 : 49c3             [ 2]         eor #$c3
 
0f26 : 28               [ 4]         plp
 
0f27 : 990302           [ 5]         sta abst,y
 
0f2a : 08               [ 3]         php         ;flags after load/store sequence
 
0f2b : 49c3             [ 2]         eor #$c3
 
0f2d : d90802           [ 4]         cmp abs1,y  ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  123
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0d1a : b613             [ 4]         ldx zp1,y
 
0d1c : 08               [ 3]         php         ;test stores do not alter flags
 
0d1d : 8a               [ 2]         txa
 
0d1e : 49c3             [ 2]         eor #$c3
 
0d20 : 28               [ 4]         plp
 
0d21 : 990302           [ 5]         sta abst,y
 
0d24 : 08               [ 3]         php         ;flags after load/store sequence
 
0d25 : 49c3             [ 2]         eor #$c3
 
0d27 : d90802           [ 4]         cmp abs1,y  ;test result
 
                                     trap_ne
                                     trap_ne
0d2a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f30 : f002             [ 3]>        beq skip0817
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f32 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f33 : 0f                   >        db      test_num
 
                            >
 
0f34 :                      >skip0817
 
 
0d2c : 68               [ 4]         pla         ;load status
0f34 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0d2d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
0f35 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0d2f : d90d02           [ 4]         cmp fLDx,y  ;test flags
0f37 : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
0d32 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f3a : f002             [ 3]>        beq skip0820
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f3c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f3d : 0f                   >        db      test_num
 
                            >
 
0f3e :                      >skip0820
 
 
0d34 : 88               [ 2]         dey
0f3e : 88               [ 2]         dey
0d35 : 10df             [ 3]         bpl tldx
0f3f : 10db             [ 3]         bpl tldx
 
 
0d37 : a003             [ 2]         ldy #3
0f41 : a003             [ 2]         ldy #3
0d39 :                       tldx1
0f43 :                       tldx1
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0d39 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0f43 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0d3b : 48               [ 3]>            pha         ;use stack to load status
0f45 : 48               [ 3]>            pha         ;use stack to load status
0d3c : 28               [ 4]>            plp
0f46 : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   72
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0d3d : b613             [ 4]         ldx zp1,y
0f47 : b6b9             [ 4]         ldx zp1,y
0d3f : 08               [ 3]         php         ;test stores do not alter flags
0f49 : 08               [ 3]         php         ;test stores do not alter flags
0d40 : 8a               [ 2]         txa
0f4a : 8a               [ 2]         txa
0d41 : 49c3             [ 2]         eor #$c3
0f4b : 49c3             [ 2]         eor #$c3
0d43 : 28               [ 4]         plp
0f4d : 28               [ 4]         plp
0d44 : 990302           [ 5]         sta abst,y
0f4e : 990302           [ 5]         sta abst,y
0d47 : 08               [ 3]         php         ;flags after load/store sequence
0f51 : 08               [ 3]         php         ;flags after load/store sequence
0d48 : 49c3             [ 2]         eor #$c3
0f52 : 49c3             [ 2]         eor #$c3
0d4a : d90802           [ 4]         cmp abs1,y  ;test result
0f54 : d90802           [ 4]         cmp abs1,y  ;test result
                                     trap_ne
                                     trap_ne
0d4d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f57 : f002             [ 3]>        beq skip0824
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f59 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f5a : 0f                   >        db      test_num
 
                            >
 
0f5b :                      >skip0824
 
 
0d4f : 68               [ 4]         pla         ;load status
0f5b : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0d50 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  124
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0d52 : d90d02           [ 4]         cmp fLDx,y  ;test flags
0f5c : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
 
0f5e : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
0d55 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f61 : f002             [ 3]>        beq skip0827
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f63 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f64 : 0f                   >        db      test_num
 
                            >
 
0f65 :                      >skip0827
 
 
0d57 : 88               [ 2]         dey
0f65 : 88               [ 2]         dey
0d58 : 10df             [ 3]         bpl tldx1
0f66 : 10db             [ 3]         bpl tldx1
 
 
0d5a : a003             [ 2]         ldy #3
0f68 : a003             [ 2]         ldy #3
0d5c :                       tldx2
0f6a :                       tldx2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0d5c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
0f6a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0d5e : 48               [ 3]>            pha         ;use stack to load status
0f6c : 48               [ 3]>            pha         ;use stack to load status
0d5f : 28               [ 4]>            plp
0f6d : 28               [ 4]>            plp
 
 
0d60 : be0802           [ 4]         ldx abs1,y
0f6e : be0802           [ 4]         ldx abs1,y
0d63 : 08               [ 3]         php         ;test stores do not alter flags
0f71 : 08               [ 3]         php         ;test stores do not alter flags
0d64 : 8a               [ 2]         txa
0f72 : 8a               [ 2]         txa
0d65 : 49c3             [ 2]         eor #$c3
0f73 : 49c3             [ 2]         eor #$c3
0d67 : aa               [ 2]         tax
0f75 : aa               [ 2]         tax
0d68 : 28               [ 4]         plp
0f76 : 28               [ 4]         plp
0d69 : 960c             [ 4]         stx zpt,y
0f77 : 96b2             [ 4]         stx zpt,y
0d6b : 08               [ 3]         php         ;flags after load/store sequence
0f79 : 08               [ 3]         php         ;flags after load/store sequence
0d6c : 49c3             [ 2]         eor #$c3
0f7a : 49c3             [ 2]         eor #$c3
0d6e : d91300           [ 4]         cmp zp1,y   ;test result
0f7c : d9b900           [ 4]         cmp zp1,y   ;test result
                                     trap_ne
                                     trap_ne
0d71 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f7f : f002             [ 3]>        beq skip0831
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0f81 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0f82 : 0f                   >        db      test_num
 
                            >
 
0f83 :                      >skip0831
 
 
0d73 : 68               [ 4]         pla         ;load status
0f83 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0d74 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
0f84 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0d76 : d90d02           [ 4]         cmp fLDx,y  ;test flags
0f86 : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
0d79 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0f89 : f002             [ 3]>        beq skip0834
 
                            >        trap           ;failed equal (zero)
0d7b : 88               [ 2]         dey
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0d7c : 10de             [ 3]         bpl tldx2
0f8b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   73
0f8c : 0f                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  125
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0f8d :                      >skip0834
 
 
0d7e : a003             [ 2]         ldy #3
0f8d : 88               [ 2]         dey
0d80 :                       tldx3
0f8e : 10da             [ 3]         bpl tldx2
 
 
 
0f90 : a003             [ 2]         ldy #3
 
0f92 :                       tldx3
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0d80 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
0f92 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0d82 : 48               [ 3]>            pha         ;use stack to load status
0f94 : 48               [ 3]>            pha         ;use stack to load status
0d83 : 28               [ 4]>            plp
0f95 : 28               [ 4]>            plp
 
 
0d84 : be0802           [ 4]         ldx abs1,y
0f96 : be0802           [ 4]         ldx abs1,y
0d87 : 08               [ 3]         php         ;test stores do not alter flags
0f99 : 08               [ 3]         php         ;test stores do not alter flags
0d88 : 8a               [ 2]         txa
0f9a : 8a               [ 2]         txa
0d89 : 49c3             [ 2]         eor #$c3
0f9b : 49c3             [ 2]         eor #$c3
0d8b : aa               [ 2]         tax
0f9d : aa               [ 2]         tax
0d8c : 28               [ 4]         plp
0f9e : 28               [ 4]         plp
0d8d : 960c             [ 4]         stx zpt,y
0f9f : 96b2             [ 4]         stx zpt,y
0d8f : 08               [ 3]         php         ;flags after load/store sequence
0fa1 : 08               [ 3]         php         ;flags after load/store sequence
0d90 : 49c3             [ 2]         eor #$c3
0fa2 : 49c3             [ 2]         eor #$c3
0d92 : d91300           [ 4]         cmp zp1,y   ;test result
0fa4 : d9b900           [ 4]         cmp zp1,y   ;test result
                                     trap_ne
                                     trap_ne
0d95 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0fa7 : f002             [ 3]>        beq skip0838
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0fa9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0faa : 0f                   >        db      test_num
 
                            >
 
0fab :                      >skip0838
 
 
0d97 : 68               [ 4]         pla         ;load status
0fab : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0d98 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
0fac : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0d9a : d90d02           [ 4]         cmp fLDx,y  ;test flags
0fae : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
0d9d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0fb1 : f002             [ 3]>        beq skip0841
 
                            >        trap           ;failed equal (zero)
0d9f : 88               [ 2]         dey
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0da0 : 10de             [ 3]         bpl tldx3
0fb3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0fb4 : 0f                   >        db      test_num
 
                            >
 
0fb5 :                      >skip0841
 
 
 
0fb5 : 88               [ 2]         dey
 
0fb6 : 10da             [ 3]         bpl tldx3
 
 
 
0fb8 : a003             [ 2]         ldy #3      ;testing store result
 
0fba : a200             [ 2]         ldx #0
 
0fbc : b9b200           [ 4] tstx    lda zpt,y
 
0fbf : 49c3             [ 2]         eor #$c3
 
0fc1 : d9b900           [ 4]         cmp zp1,y
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  126
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0da2 : a003             [ 2]         ldy #3      ;testing store result
 
0da4 : a200             [ 2]         ldx #0
 
0da6 : b90c00           [ 4] tstx    lda zpt,y
 
0da9 : 49c3             [ 2]         eor #$c3
 
0dab : d91300           [ 4]         cmp zp1,y
 
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
0dae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0fc4 : f002             [ 3]>        beq skip0843
 
                            >        trap           ;failed equal (zero)
0db0 : 960c             [ 4]         stx zpt,y   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0db2 : b90302           [ 4]         lda abst,y
0fc6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0db5 : 49c3             [ 2]         eor #$c3
0fc7 : 0f                   >        db      test_num
0db7 : d90802           [ 4]         cmp abs1,y
                            >
 
0fc8 :                      >skip0843
 
 
 
0fc8 : 96b2             [ 4]         stx zpt,y   ;clear
 
0fca : b90302           [ 4]         lda abst,y
 
0fcd : 49c3             [ 2]         eor #$c3
 
0fcf : d90802           [ 4]         cmp abs1,y
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
0dba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0fd2 : f002             [ 3]>        beq skip0845
 
                            >        trap           ;failed equal (zero)
0dbc : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0dbd : 990302           [ 5]         sta abst,y  ;clear
0fd4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0dc0 : 88               [ 2]         dey
0fd5 : 0f                   >        db      test_num
0dc1 : 10e3             [ 3]         bpl tstx
                            >
 
0fd6 :                      >skip0845
 
 
 
0fd6 : 8a               [ 2]         txa
 
0fd7 : 990302           [ 5]         sta abst,y  ;clear
 
0fda : 88               [ 2]         dey
 
0fdb : 10df             [ 3]         bpl tstx
                                     next_test
                                     next_test
0dc3 : ad0002           [ 4]>            lda test_case   ;previous test
0fdd : ad0002           [ 4]>            lda test_case   ;previous test
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   74
0fe0 : c90f             [ 2]>            cmp #test_num
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0dc6 : c90f             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0dc8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0fe2 : f002             [ 3]>        beq skip0848
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
0fe4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
0fe5 : 0f                   >        db      test_num
 
                            >
 
0fe6 :                      >skip0848
                            >
                            >
0010 =                      >test_num = test_num + 1
0010 =                      >test_num = test_num + 1
0dca : a910             [ 2]>            lda #test_num   ;*** this tests' number
0fe6 : a910             [ 2]>            lda #test_num   ;*** this tests' number
0dcc : 8d0002           [ 4]>            sta test_case
0fe8 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; indexed wraparound test (only zp should wrap)
                             ; indexed wraparound test (only zp should wrap)
0dcf : a0fd             [ 2]         ldy #3+$fa
 
0dd1 : b619             [ 4] tldx4   ldx zp1-$fa&$ff,y   ;wrap on indexed zp
 
0dd3 : 8a               [ 2]         txa
 
0dd4 : 990901           [ 5]         sta abst-$fa,y      ;no STX abs,y!
 
0dd7 : 88               [ 2]         dey
 
0dd8 : c0fa             [ 2]         cpy #$fa
 
0dda : b0f5             [ 3]         bcs tldx4
 
0ddc : a0fd             [ 2]         ldy #3+$fa
 
0dde : be0e01           [ 4] tldx5   ldx abs1-$fa,y      ;no wrap on indexed abs
 
0de1 : 9612             [ 4]         stx zpt-$fa&$ff,y
 
0de3 : 88               [ 2]         dey
 
0de4 : c0fa             [ 2]         cpy #$fa
 
0de6 : b0f6             [ 3]         bcs tldx5
 
0de8 : a003             [ 2]         ldy #3      ;testing wraparound result
 
0dea : a200             [ 2]         ldx #0
 
0dec : b90c00           [ 4] tstx1   lda zpt,y
 
0def : d91300           [ 4]         cmp zp1,y
 
                                     trap_ne     ;store to zp data
 
0df2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
0df4 : 960c             [ 4]         stx zpt,y   ;clear
0feb : a0fd             [ 2]         ldy #3+$fa
0df6 : b90302           [ 4]         lda abst,y
0fed : b6bf             [ 4] tldx4   ldx zp1-$fa&$ff,y   ;wrap on indexed zp
0df9 : d90802           [ 4]         cmp abs1,y
0fef : 8a               [ 2]         txa
                                     trap_ne     ;store to abs data
0ff0 : 990901           [ 5]         sta abst-$fa,y      ;no STX abs,y!
0dfc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
0ff3 : 88               [ 2]         dey
 
0ff4 : c0fa             [ 2]         cpy #$fa
 
0ff6 : b0f5             [ 3]         bcs tldx4
 
0ff8 : a0fd             [ 2]         ldy #3+$fa
 
0ffa : be0e01           [ 4] tldx5   ldx abs1-$fa,y      ;no wrap on indexed abs
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  127
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0dfe : 8a               [ 2]         txa
0ffd : 96b8             [ 4]         stx zpt-$fa&$ff,y
0dff : 990302           [ 5]         sta abst,y  ;clear
0fff : 88               [ 2]         dey
0e02 : 88               [ 2]         dey
1000 : c0fa             [ 2]         cpy #$fa
0e03 : 10e7             [ 4]         bpl tstx1
1002 : b0f6             [ 4]         bcs tldx5
 
1004 : a003             [ 2]         ldy #3      ;testing wraparound result
 
1006 : a200             [ 2]         ldx #0
 
1008 : b9b200           [ 4] tstx1   lda zpt,y
 
100b : d9b900           [ 4]         cmp zp1,y
 
                                     trap_ne     ;store to zp data
 
100e : f002             [ 3]>        beq skip0850
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1010 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1011 : 10                   >        db      test_num
 
                            >
 
1012 :                      >skip0850
 
 
 
1012 : 96b2             [ 4]         stx zpt,y   ;clear
 
1014 : b90302           [ 4]         lda abst,y
 
1017 : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
101a : f002             [ 3]>        beq skip0852
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
101c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
101d : 10                   >        db      test_num
 
                            >
 
101e :                      >skip0852
 
 
 
101e : 8a               [ 2]         txa
 
101f : 990302           [ 5]         sta abst,y  ;clear
 
1022 : 88               [ 2]         dey
 
1023 : 10e3             [ 3]         bpl tstx1
                                     next_test
                                     next_test
0e05 : ad0002           [ 4]>            lda test_case   ;previous test
1025 : ad0002           [ 4]>            lda test_case   ;previous test
0e08 : c910             [ 2]>            cmp #test_num
1028 : c910             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0e0a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
102a : f002             [ 3]>        beq skip0855
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
102c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
102d : 10                   >        db      test_num
 
                            >
 
102e :                      >skip0855
                            >
                            >
0011 =                      >test_num = test_num + 1
0011 =                      >test_num = test_num + 1
0e0c : a911             [ 2]>            lda #test_num   ;*** this tests' number
102e : a911             [ 2]>            lda #test_num   ;*** this tests' number
0e0e : 8d0002           [ 4]>            sta test_case
1030 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; LDY / STY - zp,x / abs,x
                             ; LDY / STY - zp,x / abs,x
0e11 : a203             [ 2]         ldx #3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   75
1033 : a203             [ 2]         ldx #3
 
1035 :                       tldy
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  128
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0e13 :                       tldy
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0e13 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1035 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0e15 : 48               [ 3]>            pha         ;use stack to load status
1037 : 48               [ 3]>            pha         ;use stack to load status
0e16 : 28               [ 4]>            plp
1038 : 28               [ 4]>            plp
 
 
0e17 : b413             [ 4]         ldy zp1,x
1039 : b4b9             [ 4]         ldy zp1,x
0e19 : 08               [ 3]         php         ;test stores do not alter flags
103b : 08               [ 3]         php         ;test stores do not alter flags
0e1a : 98               [ 2]         tya
103c : 98               [ 2]         tya
0e1b : 49c3             [ 2]         eor #$c3
103d : 49c3             [ 2]         eor #$c3
0e1d : 28               [ 4]         plp
103f : 28               [ 4]         plp
0e1e : 9d0302           [ 5]         sta abst,x
1040 : 9d0302           [ 5]         sta abst,x
0e21 : 08               [ 3]         php         ;flags after load/store sequence
1043 : 08               [ 3]         php         ;flags after load/store sequence
0e22 : 49c3             [ 2]         eor #$c3
1044 : 49c3             [ 2]         eor #$c3
0e24 : dd0802           [ 4]         cmp abs1,x  ;test result
1046 : dd0802           [ 4]         cmp abs1,x  ;test result
                                     trap_ne
                                     trap_ne
0e27 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1049 : f002             [ 3]>        beq skip0859
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
104b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
104c : 11                   >        db      test_num
 
                            >
 
104d :                      >skip0859
 
 
0e29 : 68               [ 4]         pla         ;load status
104d : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0e2a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
104e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0e2c : dd0d02           [ 4]         cmp fLDx,x  ;test flags
1050 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
0e2f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1053 : f002             [ 3]>        beq skip0862
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1055 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1056 : 11                   >        db      test_num
 
                            >
 
1057 :                      >skip0862
 
 
0e31 : ca               [ 2]         dex
1057 : ca               [ 2]         dex
0e32 : 10df             [ 3]         bpl tldy
1058 : 10db             [ 3]         bpl tldy
 
 
0e34 : a203             [ 2]         ldx #3
105a : a203             [ 2]         ldx #3
0e36 :                       tldy1
105c :                       tldy1
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0e36 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
105c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0e38 : 48               [ 3]>            pha         ;use stack to load status
105e : 48               [ 3]>            pha         ;use stack to load status
0e39 : 28               [ 4]>            plp
105f : 28               [ 4]>            plp
 
 
0e3a : b413             [ 4]         ldy zp1,x
1060 : b4b9             [ 4]         ldy zp1,x
0e3c : 08               [ 3]         php         ;test stores do not alter flags
1062 : 08               [ 3]         php         ;test stores do not alter flags
0e3d : 98               [ 2]         tya
1063 : 98               [ 2]         tya
0e3e : 49c3             [ 2]         eor #$c3
1064 : 49c3             [ 2]         eor #$c3
0e40 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  129
0e41 : 9d0302           [ 5]         sta abst,x
 
0e44 : 08               [ 3]         php         ;flags after load/store sequence
 
0e45 : 49c3             [ 2]         eor #$c3
 
0e47 : dd0802           [ 4]         cmp abs1,x  ;test result
 
                                     trap_ne
 
0e4a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
0e4c : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
 
0e4d : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   76
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1066 : 28               [ 4]         plp
 
1067 : 9d0302           [ 5]         sta abst,x
 
106a : 08               [ 3]         php         ;flags after load/store sequence
 
106b : 49c3             [ 2]         eor #$c3
 
106d : dd0802           [ 4]         cmp abs1,x  ;test result
 
                                     trap_ne
 
1070 : f002             [ 3]>        beq skip0866
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1072 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1073 : 11                   >        db      test_num
 
                            >
 
1074 :                      >skip0866
 
 
 
1074 : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
 
1075 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0e4f : dd0d02           [ 4]         cmp fLDx,x  ;test flags
1077 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
0e52 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
107a : f002             [ 3]>        beq skip0869
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
107c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
107d : 11                   >        db      test_num
 
                            >
 
107e :                      >skip0869
 
 
0e54 : ca               [ 2]         dex
107e : ca               [ 2]         dex
0e55 : 10df             [ 3]         bpl tldy1
107f : 10db             [ 3]         bpl tldy1
 
 
0e57 : a203             [ 2]         ldx #3
1081 : a203             [ 2]         ldx #3
0e59 :                       tldy2
1083 :                       tldy2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0e59 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1083 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0e5b : 48               [ 3]>            pha         ;use stack to load status
1085 : 48               [ 3]>            pha         ;use stack to load status
0e5c : 28               [ 4]>            plp
1086 : 28               [ 4]>            plp
 
 
0e5d : bc0802           [ 4]         ldy abs1,x
1087 : bc0802           [ 4]         ldy abs1,x
0e60 : 08               [ 3]         php         ;test stores do not alter flags
108a : 08               [ 3]         php         ;test stores do not alter flags
0e61 : 98               [ 2]         tya
108b : 98               [ 2]         tya
0e62 : 49c3             [ 2]         eor #$c3
108c : 49c3             [ 2]         eor #$c3
0e64 : a8               [ 2]         tay
108e : a8               [ 2]         tay
0e65 : 28               [ 4]         plp
108f : 28               [ 4]         plp
0e66 : 940c             [ 4]         sty zpt,x
1090 : 94b2             [ 4]         sty zpt,x
0e68 : 08               [ 3]         php         ;flags after load/store sequence
1092 : 08               [ 3]         php         ;flags after load/store sequence
0e69 : 49c3             [ 2]         eor #$c3
1093 : 49c3             [ 2]         eor #$c3
0e6b : d513             [ 4]         cmp zp1,x   ;test result
1095 : d5b9             [ 4]         cmp zp1,x   ;test result
                                     trap_ne
                                     trap_ne
0e6d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1097 : f002             [ 3]>        beq skip0873
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1099 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  130
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
109a : 11                   >        db      test_num
 
                            >
 
109b :                      >skip0873
 
 
0e6f : 68               [ 4]         pla         ;load status
109b : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0e70 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
109c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0e72 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
109e : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
0e75 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
10a1 : f002             [ 3]>        beq skip0876
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
10a3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
10a4 : 11                   >        db      test_num
 
                            >
 
10a5 :                      >skip0876
 
 
0e77 : ca               [ 2]         dex
10a5 : ca               [ 2]         dex
0e78 : 10df             [ 3]         bpl tldy2
10a6 : 10db             [ 3]         bpl tldy2
 
 
0e7a : a203             [ 2]         ldx #3
10a8 : a203             [ 2]         ldx #3
0e7c :                       tldy3
10aa :                       tldy3
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0e7c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
10aa : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0e7e : 48               [ 3]>            pha         ;use stack to load status
10ac : 48               [ 3]>            pha         ;use stack to load status
0e7f : 28               [ 4]>            plp
10ad : 28               [ 4]>            plp
 
 
0e80 : bc0802           [ 4]         ldy abs1,x
 
0e83 : 08               [ 3]         php         ;test stores do not alter flags
 
0e84 : 98               [ 2]         tya
 
0e85 : 49c3             [ 2]         eor #$c3
 
0e87 : a8               [ 2]         tay
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   77
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0e88 : 28               [ 4]         plp
10ae : bc0802           [ 4]         ldy abs1,x
0e89 : 940c             [ 4]         sty zpt,x
10b1 : 08               [ 3]         php         ;test stores do not alter flags
0e8b : 08               [ 3]         php         ;flags after load/store sequence
10b2 : 98               [ 2]         tya
0e8c : 49c3             [ 2]         eor #$c3
10b3 : 49c3             [ 2]         eor #$c3
0e8e : d513             [ 4]         cmp zp1,x   ;test result
10b5 : a8               [ 2]         tay
                                     trap_ne
10b6 : 28               [ 4]         plp
0e90 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
10b7 : 94b2             [ 4]         sty zpt,x
 
10b9 : 08               [ 3]         php         ;flags after load/store sequence
 
10ba : 49c3             [ 2]         eor #$c3
 
10bc : d5b9             [ 4]         cmp zp1,x   ;test result
 
                                     trap_ne
 
10be : f002             [ 3]>        beq skip0880
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
10c0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
10c1 : 11                   >        db      test_num
 
                            >
 
10c2 :                      >skip0880
 
 
0e92 : 68               [ 4]         pla         ;load status
10c2 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0e93 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
10c3 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0e95 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
10c5 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
0e98 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  131
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
0e9a : ca               [ 2]         dex
 
0e9b : 10df             [ 3]         bpl tldy3
 
 
 
0e9d : a203             [ 2]         ldx #3      ;testing store result
10c8 : f002             [ 3]>        beq skip0883
0e9f : a000             [ 2]         ldy #0
                            >        trap           ;failed equal (zero)
0ea1 : b50c             [ 4] tsty    lda zpt,x
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0ea3 : 49c3             [ 2]         eor #$c3
10ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0ea5 : d513             [ 4]         cmp zp1,x
10cb : 11                   >        db      test_num
 
                            >
 
10cc :                      >skip0883
 
 
 
10cc : ca               [ 2]         dex
 
10cd : 10db             [ 3]         bpl tldy3
 
 
 
10cf : a203             [ 2]         ldx #3      ;testing store result
 
10d1 : a000             [ 2]         ldy #0
 
10d3 : b5b2             [ 4] tsty    lda zpt,x
 
10d5 : 49c3             [ 2]         eor #$c3
 
10d7 : d5b9             [ 4]         cmp zp1,x
                                     trap_ne     ;store to zp,x data
                                     trap_ne     ;store to zp,x data
0ea7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
10d9 : f002             [ 3]>        beq skip0885
 
                            >        trap           ;failed equal (zero)
0ea9 : 940c             [ 4]         sty zpt,x   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0eab : bd0302           [ 4]         lda abst,x
10db : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0eae : 49c3             [ 2]         eor #$c3
10dc : 11                   >        db      test_num
0eb0 : dd0802           [ 4]         cmp abs1,x
                            >
 
10dd :                      >skip0885
 
 
 
10dd : 94b2             [ 4]         sty zpt,x   ;clear
 
10df : bd0302           [ 4]         lda abst,x
 
10e2 : 49c3             [ 2]         eor #$c3
 
10e4 : dd0802           [ 4]         cmp abs1,x
                                     trap_ne     ;store to abs,x data
                                     trap_ne     ;store to abs,x data
0eb3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
10e7 : f002             [ 3]>        beq skip0887
 
                            >        trap           ;failed equal (zero)
0eb5 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0eb6 : 9d0302           [ 5]         sta abst,x  ;clear
10e9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0eb9 : ca               [ 2]         dex
10ea : 11                   >        db      test_num
0eba : 10e5             [ 3]         bpl tsty
                            >
 
10eb :                      >skip0887
 
 
 
10eb : 8a               [ 2]         txa
 
10ec : 9d0302           [ 5]         sta abst,x  ;clear
 
10ef : ca               [ 2]         dex
 
10f0 : 10e1             [ 3]         bpl tsty
                                     next_test
                                     next_test
0ebc : ad0002           [ 4]>            lda test_case   ;previous test
10f2 : ad0002           [ 4]>            lda test_case   ;previous test
0ebf : c911             [ 2]>            cmp #test_num
10f5 : c911             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0ec1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
10f7 : f002             [ 3]>        beq skip0890
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
10f9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
10fa : 11                   >        db      test_num
 
                            >
 
10fb :                      >skip0890
                            >
                            >
0012 =                      >test_num = test_num + 1
0012 =                      >test_num = test_num + 1
0ec3 : a912             [ 2]>            lda #test_num   ;*** this tests' number
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  132
0ec5 : 8d0002           [ 4]>            sta test_case
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
10fb : a912             [ 2]>            lda #test_num   ;*** this tests' number
 
10fd : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; indexed wraparound test (only zp should wrap)
                             ; indexed wraparound test (only zp should wrap)
0ec8 : a2fd             [ 2]         ldx #3+$fa
 
0eca : b419             [ 4] tldy4   ldy zp1-$fa&$ff,x   ;wrap on indexed zp
 
0ecc : 98               [ 2]         tya
 
0ecd : 9d0901           [ 5]         sta abst-$fa,x      ;no STX abs,x!
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   78
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0ed0 : ca               [ 2]         dex
1100 : a2fd             [ 2]         ldx #3+$fa
0ed1 : e0fa             [ 2]         cpx #$fa
1102 : b4bf             [ 4] tldy4   ldy zp1-$fa&$ff,x   ;wrap on indexed zp
0ed3 : b0f5             [ 3]         bcs tldy4
1104 : 98               [ 2]         tya
0ed5 : a2fd             [ 2]         ldx #3+$fa
1105 : 9d0901           [ 5]         sta abst-$fa,x      ;no STX abs,x!
0ed7 : bc0e01           [ 4] tldy5   ldy abs1-$fa,x      ;no wrap on indexed abs
1108 : ca               [ 2]         dex
0eda : 9412             [ 4]         sty zpt-$fa&$ff,x
1109 : e0fa             [ 2]         cpx #$fa
0edc : ca               [ 2]         dex
110b : b0f5             [ 3]         bcs tldy4
0edd : e0fa             [ 2]         cpx #$fa
110d : a2fd             [ 2]         ldx #3+$fa
0edf : b0f6             [ 3]         bcs tldy5
110f : bc0e01           [ 4] tldy5   ldy abs1-$fa,x      ;no wrap on indexed abs
0ee1 : a203             [ 2]         ldx #3      ;testing wraparound result
1112 : 94b8             [ 4]         sty zpt-$fa&$ff,x
0ee3 : a000             [ 2]         ldy #0
1114 : ca               [ 2]         dex
0ee5 : b50c             [ 4] tsty1   lda zpt,x
1115 : e0fa             [ 2]         cpx #$fa
0ee7 : d513             [ 4]         cmp zp1,x
1117 : b0f6             [ 3]         bcs tldy5
 
1119 : a203             [ 2]         ldx #3      ;testing wraparound result
 
111b : a000             [ 2]         ldy #0
 
111d : b5b2             [ 4] tsty1   lda zpt,x
 
111f : d5b9             [ 4]         cmp zp1,x
                                     trap_ne     ;store to zp,x data
                                     trap_ne     ;store to zp,x data
0ee9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1121 : f002             [ 3]>        beq skip0892
 
                            >        trap           ;failed equal (zero)
0eeb : 940c             [ 4]         sty zpt,x   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0eed : bd0302           [ 4]         lda abst,x
1123 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0ef0 : dd0802           [ 4]         cmp abs1,x
1124 : 12                   >        db      test_num
 
                            >
 
1125 :                      >skip0892
 
 
 
1125 : 94b2             [ 4]         sty zpt,x   ;clear
 
1127 : bd0302           [ 4]         lda abst,x
 
112a : dd0802           [ 4]         cmp abs1,x
                                     trap_ne     ;store to abs,x data
                                     trap_ne     ;store to abs,x data
0ef3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
112d : f002             [ 3]>        beq skip0894
 
                            >        trap           ;failed equal (zero)
0ef5 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
0ef6 : 9d0302           [ 5]         sta abst,x  ;clear
112f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
0ef9 : ca               [ 2]         dex
1130 : 12                   >        db      test_num
0efa : 10e9             [ 3]         bpl tsty1
                            >
 
1131 :                      >skip0894
 
 
 
1131 : 8a               [ 2]         txa
 
1132 : 9d0302           [ 5]         sta abst,x  ;clear
 
1135 : ca               [ 2]         dex
 
1136 : 10e5             [ 3]         bpl tsty1
                                     next_test
                                     next_test
0efc : ad0002           [ 4]>            lda test_case   ;previous test
1138 : ad0002           [ 4]>            lda test_case   ;previous test
0eff : c912             [ 2]>            cmp #test_num
113b : c912             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
0f01 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
113d : f002             [ 3]>        beq skip0897
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  133
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
113f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1140 : 12                   >        db      test_num
 
                            >
 
1141 :                      >skip0897
                            >
                            >
0013 =                      >test_num = test_num + 1
0013 =                      >test_num = test_num + 1
0f03 : a913             [ 2]>            lda #test_num   ;*** this tests' number
1141 : a913             [ 2]>            lda #test_num   ;*** this tests' number
0f05 : 8d0002           [ 4]>            sta test_case
1143 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; LDX / STX - zp / abs / #
                             ; LDX / STX - zp / abs / #
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0f08 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
1146 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
                            >
                            >
0f0a : 48               [ 3]>            pha         ;use stack to load status
1148 : 48               [ 3]>            pha         ;use stack to load status
0f0b : 28               [ 4]>            plp
1149 : 28               [ 4]>            plp
 
 
0f0c : a613             [ 3]         ldx zp1
 
0f0e : 08               [ 3]         php         ;test stores do not alter flags
 
0f0f : 8a               [ 2]         txa
 
0f10 : 49c3             [ 2]         eor #$c3
 
0f12 : aa               [ 2]         tax
 
0f13 : 28               [ 4]         plp
 
0f14 : 8e0302           [ 4]         stx abst
 
0f17 : 08               [ 3]         php         ;flags after load/store sequence
 
0f18 : 49c3             [ 2]         eor #$c3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   79
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
0f1a : aa               [ 2]         tax
114a : a6b9             [ 3]         ldx zp1
0f1b : e0c3             [ 2]         cpx #$c3    ;test result
114c : 08               [ 3]         php         ;test stores do not alter flags
                                     trap_ne
114d : 8a               [ 2]         txa
0f1d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
114e : 49c3             [ 2]         eor #$c3
 
1150 : aa               [ 2]         tax
 
1151 : 28               [ 4]         plp
 
1152 : 8e0302           [ 4]         stx abst
 
1155 : 08               [ 3]         php         ;flags after load/store sequence
 
1156 : 49c3             [ 2]         eor #$c3
 
1158 : aa               [ 2]         tax
 
1159 : e0c3             [ 2]         cpx #$c3    ;test result
 
                                     trap_ne
 
115b : f002             [ 3]>        beq skip0901
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
115d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
115e : 13                   >        db      test_num
 
                            >
 
115f :                      >skip0901
 
 
0f1f : 68               [ 4]         pla         ;load status
115f : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0f20 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1160 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0f22 : cd0d02           [ 4]         cmp fLDx    ;test flags
1162 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
0f25 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1165 : f002             [ 3]>        beq skip0904
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1167 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1168 : 13                   >        db      test_num
 
                            >
 
1169 :                      >skip0904
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  134
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0f27 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1169 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0f29 : 48               [ 3]>            pha         ;use stack to load status
116b : 48               [ 3]>            pha         ;use stack to load status
0f2a : 28               [ 4]>            plp
116c : 28               [ 4]>            plp
 
 
0f2b : a614             [ 3]         ldx zp1+1
116d : a6ba             [ 3]         ldx zp1+1
0f2d : 08               [ 3]         php         ;test stores do not alter flags
116f : 08               [ 3]         php         ;test stores do not alter flags
0f2e : 8a               [ 2]         txa
1170 : 8a               [ 2]         txa
0f2f : 49c3             [ 2]         eor #$c3
1171 : 49c3             [ 2]         eor #$c3
0f31 : aa               [ 2]         tax
1173 : aa               [ 2]         tax
0f32 : 28               [ 4]         plp
1174 : 28               [ 4]         plp
0f33 : 8e0402           [ 4]         stx abst+1
1175 : 8e0402           [ 4]         stx abst+1
0f36 : 08               [ 3]         php         ;flags after load/store sequence
1178 : 08               [ 3]         php         ;flags after load/store sequence
0f37 : 49c3             [ 2]         eor #$c3
1179 : 49c3             [ 2]         eor #$c3
0f39 : aa               [ 2]         tax
117b : aa               [ 2]         tax
0f3a : e082             [ 2]         cpx #$82    ;test result
117c : e082             [ 2]         cpx #$82    ;test result
                                     trap_ne
                                     trap_ne
0f3c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
117e : f002             [ 3]>        beq skip0908
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1180 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1181 : 13                   >        db      test_num
 
                            >
 
1182 :                      >skip0908
 
 
0f3e : 68               [ 4]         pla         ;load status
1182 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0f3f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1183 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0f41 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1185 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
0f44 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1188 : f002             [ 3]>        beq skip0911
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
118a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
118b : 13                   >        db      test_num
 
                            >
 
118c :                      >skip0911
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0f46 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
118c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0f48 : 48               [ 3]>            pha         ;use stack to load status
118e : 48               [ 3]>            pha         ;use stack to load status
0f49 : 28               [ 4]>            plp
118f : 28               [ 4]>            plp
 
 
0f4a : a615             [ 3]         ldx zp1+2
1190 : a6bb             [ 3]         ldx zp1+2
0f4c : 08               [ 3]         php         ;test stores do not alter flags
1192 : 08               [ 3]         php         ;test stores do not alter flags
0f4d : 8a               [ 2]         txa
1193 : 8a               [ 2]         txa
0f4e : 49c3             [ 2]         eor #$c3
1194 : 49c3             [ 2]         eor #$c3
0f50 : aa               [ 2]         tax
1196 : aa               [ 2]         tax
0f51 : 28               [ 4]         plp
1197 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   80
1198 : 8e0502           [ 4]         stx abst+2
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  135
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0f52 : 8e0502           [ 4]         stx abst+2
119b : 08               [ 3]         php         ;flags after load/store sequence
0f55 : 08               [ 3]         php         ;flags after load/store sequence
119c : 49c3             [ 2]         eor #$c3
0f56 : 49c3             [ 2]         eor #$c3
119e : aa               [ 2]         tax
0f58 : aa               [ 2]         tax
119f : e041             [ 2]         cpx #$41    ;test result
0f59 : e041             [ 2]         cpx #$41    ;test result
                                     trap_ne
                                     trap_ne
11a1 : f002             [ 3]>        beq skip0915
0f5b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11a3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11a4 : 13                   >        db      test_num
 
                            >
 
11a5 :                      >skip0915
 
 
0f5d : 68               [ 4]         pla         ;load status
11a5 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
0f5e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
11a6 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0f60 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
11a8 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
0f63 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
11ab : f002             [ 3]>        beq skip0918
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11ad : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11ae : 13                   >        db      test_num
 
                            >
 
11af :                      >skip0918
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
0f65 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
11af : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
0f67 : 48               [ 3]>            pha         ;use stack to load status
11b1 : 48               [ 3]>            pha         ;use stack to load status
0f68 : 28               [ 4]>            plp
11b2 : 28               [ 4]>            plp
 
 
0f69 : a616             [ 3]         ldx zp1+3
11b3 : a6bc             [ 3]         ldx zp1+3
0f6b : 08               [ 3]         php         ;test stores do not alter flags
11b5 : 08               [ 3]         php         ;test stores do not alter flags
0f6c : 8a               [ 2]         txa
11b6 : 8a               [ 2]         txa
0f6d : 49c3             [ 2]         eor #$c3
11b7 : 49c3             [ 2]         eor #$c3
0f6f : aa               [ 2]         tax
11b9 : aa               [ 2]         tax
0f70 : 28               [ 4]         plp
11ba : 28               [ 4]         plp
0f71 : 8e0602           [ 4]         stx abst+3
11bb : 8e0602           [ 4]         stx abst+3
0f74 : 08               [ 3]         php         ;flags after load/store sequence
11be : 08               [ 3]         php         ;flags after load/store sequence
0f75 : 49c3             [ 2]         eor #$c3
11bf : 49c3             [ 2]         eor #$c3
0f77 : aa               [ 2]         tax
11c1 : aa               [ 2]         tax
0f78 : e000             [ 2]         cpx #0      ;test result
11c2 : e000             [ 2]         cpx #0      ;test result
                                     trap_ne
                                     trap_ne
0f7a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
11c4 : f002             [ 3]>        beq skip0922
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11c6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11c7 : 13                   >        db      test_num
 
                            >
 
11c8 :                      >skip0922
 
 
 
11c8 : 68               [ 4]         pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  136
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0f7c : 68               [ 4]         pla         ;load status
 
                                     eor_flag 0
                                     eor_flag 0
0f7d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
11c9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
0f7f : cd1002           [ 4]         cmp fLDx+3  ;test flags
11cb : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
0f82 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
11ce : f002             [ 3]>        beq skip0925
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11d0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11d1 : 13                   >        db      test_num
 
                            >
 
11d2 :                      >skip0925
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0f84 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
11d2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0f86 : 48               [ 3]>            pha         ;use stack to load status
11d4 : 48               [ 3]>            pha         ;use stack to load status
0f87 : 28               [ 4]>            plp
11d5 : 28               [ 4]>            plp
 
 
0f88 : a613             [ 3]         ldx zp1
11d6 : a6b9             [ 3]         ldx zp1
0f8a : 08               [ 3]         php         ;test stores do not alter flags
11d8 : 08               [ 3]         php         ;test stores do not alter flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   81
11d9 : 8a               [ 2]         txa
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
11da : 49c3             [ 2]         eor #$c3
 
11dc : aa               [ 2]         tax
0f8b : 8a               [ 2]         txa
11dd : 28               [ 4]         plp
0f8c : 49c3             [ 2]         eor #$c3
11de : 8e0302           [ 4]         stx abst
0f8e : aa               [ 2]         tax
11e1 : 08               [ 3]         php         ;flags after load/store sequence
0f8f : 28               [ 4]         plp
11e2 : 49c3             [ 2]         eor #$c3
0f90 : 8e0302           [ 4]         stx abst
11e4 : aa               [ 2]         tax
0f93 : 08               [ 3]         php         ;flags after load/store sequence
11e5 : e0c3             [ 2]         cpx #$c3    ;test result
0f94 : 49c3             [ 2]         eor #$c3
 
0f96 : aa               [ 2]         tax
 
0f97 : e0c3             [ 2]         cpx #$c3    ;test result
 
                                     trap_ne     ;
                                     trap_ne     ;
0f99 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
11e7 : f002             [ 3]>        beq skip0929
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11e9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11ea : 13                   >        db      test_num
 
                            >
 
11eb :                      >skip0929
 
 
0f9b : 68               [ 4]         pla         ;load status
11eb : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0f9c : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
11ec : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0f9e : cd0d02           [ 4]         cmp fLDx    ;test flags
11ee : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
0fa1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
11f1 : f002             [ 3]>        beq skip0932
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
11f3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
11f4 : 13                   >        db      test_num
 
                            >
 
11f5 :                      >skip0932
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  137
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0fa3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
11f5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0fa5 : 48               [ 3]>            pha         ;use stack to load status
11f7 : 48               [ 3]>            pha         ;use stack to load status
0fa6 : 28               [ 4]>            plp
11f8 : 28               [ 4]>            plp
 
 
0fa7 : a614             [ 3]         ldx zp1+1
11f9 : a6ba             [ 3]         ldx zp1+1
0fa9 : 08               [ 3]         php         ;test stores do not alter flags
11fb : 08               [ 3]         php         ;test stores do not alter flags
0faa : 8a               [ 2]         txa
11fc : 8a               [ 2]         txa
0fab : 49c3             [ 2]         eor #$c3
11fd : 49c3             [ 2]         eor #$c3
0fad : aa               [ 2]         tax
11ff : aa               [ 2]         tax
0fae : 28               [ 4]         plp
1200 : 28               [ 4]         plp
0faf : 8e0402           [ 4]         stx abst+1
1201 : 8e0402           [ 4]         stx abst+1
0fb2 : 08               [ 3]         php         ;flags after load/store sequence
1204 : 08               [ 3]         php         ;flags after load/store sequence
0fb3 : 49c3             [ 2]         eor #$c3
1205 : 49c3             [ 2]         eor #$c3
0fb5 : aa               [ 2]         tax
1207 : aa               [ 2]         tax
0fb6 : e082             [ 2]         cpx #$82    ;test result
1208 : e082             [ 2]         cpx #$82    ;test result
                                     trap_ne
                                     trap_ne
0fb8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
120a : f002             [ 3]>        beq skip0936
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
120c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
120d : 13                   >        db      test_num
 
                            >
 
120e :                      >skip0936
 
 
0fba : 68               [ 4]         pla         ;load status
120e : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0fbb : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
120f : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0fbd : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1211 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
0fc0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1214 : f002             [ 3]>        beq skip0939
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1216 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1217 : 13                   >        db      test_num
 
                            >
 
1218 :                      >skip0939
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0fc2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1218 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0fc4 : 48               [ 3]>            pha         ;use stack to load status
121a : 48               [ 3]>            pha         ;use stack to load status
0fc5 : 28               [ 4]>            plp
121b : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   82
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
121c : a6bb             [ 3]         ldx zp1+2
 
121e : 08               [ 3]         php         ;test stores do not alter flags
 
121f : 8a               [ 2]         txa
 
1220 : 49c3             [ 2]         eor #$c3
 
1222 : aa               [ 2]         tax
 
1223 : 28               [ 4]         plp
 
1224 : 8e0502           [ 4]         stx abst+2
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  138
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0fc6 : a615             [ 3]         ldx zp1+2
1227 : 08               [ 3]         php         ;flags after load/store sequence
0fc8 : 08               [ 3]         php         ;test stores do not alter flags
1228 : 49c3             [ 2]         eor #$c3
0fc9 : 8a               [ 2]         txa
122a : aa               [ 2]         tax
0fca : 49c3             [ 2]         eor #$c3
122b : e041             [ 2]         cpx #$41    ;test result
0fcc : aa               [ 2]         tax
 
0fcd : 28               [ 4]         plp
 
0fce : 8e0502           [ 4]         stx abst+2
 
0fd1 : 08               [ 3]         php         ;flags after load/store sequence
 
0fd2 : 49c3             [ 2]         eor #$c3
 
0fd4 : aa               [ 2]         tax
 
0fd5 : e041             [ 2]         cpx #$41    ;test result
 
                                     trap_ne     ;
                                     trap_ne     ;
0fd7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
122d : f002             [ 3]>        beq skip0943
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
122f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1230 : 13                   >        db      test_num
 
                            >
 
1231 :                      >skip0943
 
 
0fd9 : 68               [ 4]         pla         ;load status
1231 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0fda : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1232 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0fdc : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1234 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
0fdf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1237 : f002             [ 3]>        beq skip0946
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1239 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
123a : 13                   >        db      test_num
 
                            >
 
123b :                      >skip0946
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
0fe1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
123b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
0fe3 : 48               [ 3]>            pha         ;use stack to load status
123d : 48               [ 3]>            pha         ;use stack to load status
0fe4 : 28               [ 4]>            plp
123e : 28               [ 4]>            plp
 
 
0fe5 : a616             [ 3]         ldx zp1+3
123f : a6bc             [ 3]         ldx zp1+3
0fe7 : 08               [ 3]         php         ;test stores do not alter flags
1241 : 08               [ 3]         php         ;test stores do not alter flags
0fe8 : 8a               [ 2]         txa
1242 : 8a               [ 2]         txa
0fe9 : 49c3             [ 2]         eor #$c3
1243 : 49c3             [ 2]         eor #$c3
0feb : aa               [ 2]         tax
1245 : aa               [ 2]         tax
0fec : 28               [ 4]         plp
1246 : 28               [ 4]         plp
0fed : 8e0602           [ 4]         stx abst+3
1247 : 8e0602           [ 4]         stx abst+3
0ff0 : 08               [ 3]         php         ;flags after load/store sequence
124a : 08               [ 3]         php         ;flags after load/store sequence
0ff1 : 49c3             [ 2]         eor #$c3
124b : 49c3             [ 2]         eor #$c3
0ff3 : aa               [ 2]         tax
124d : aa               [ 2]         tax
0ff4 : e000             [ 2]         cpx #0      ;test result
124e : e000             [ 2]         cpx #0      ;test result
                                     trap_ne
                                     trap_ne
0ff6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1250 : f002             [ 3]>        beq skip0950
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1252 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1253 : 13                   >        db      test_num
 
                            >
 
1254 :                      >skip0950
 
 
 
1254 : 68               [ 4]         pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  139
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
0ff8 : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
0ff9 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1255 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
0ffb : cd1002           [ 4]         cmp fLDx+3  ;test flags
1257 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
0ffe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
125a : f002             [ 3]>        beq skip0953
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
125c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
125d : 13                   >        db      test_num
 
                            >
 
125e :                      >skip0953
 
 
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   83
125e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1000 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
 
                            >
                            >
1002 : 48               [ 3]>            pha         ;use stack to load status
1260 : 48               [ 3]>            pha         ;use stack to load status
1003 : 28               [ 4]>            plp
1261 : 28               [ 4]>            plp
 
 
1004 : ae0802           [ 4]         ldx abs1
1262 : ae0802           [ 4]         ldx abs1
1007 : 08               [ 3]         php         ;test stores do not alter flags
1265 : 08               [ 3]         php         ;test stores do not alter flags
1008 : 8a               [ 2]         txa
1266 : 8a               [ 2]         txa
1009 : 49c3             [ 2]         eor #$c3
1267 : 49c3             [ 2]         eor #$c3
100b : aa               [ 2]         tax
1269 : aa               [ 2]         tax
100c : 28               [ 4]         plp
126a : 28               [ 4]         plp
100d : 860c             [ 3]         stx zpt
126b : 86b2             [ 3]         stx zpt
100f : 08               [ 3]         php         ;flags after load/store sequence
126d : 08               [ 3]         php         ;flags after load/store sequence
1010 : 49c3             [ 2]         eor #$c3
126e : 49c3             [ 2]         eor #$c3
1012 : c513             [ 3]         cmp zp1     ;test result
1270 : c5b9             [ 3]         cmp zp1     ;test result
                                     trap_ne
                                     trap_ne
1014 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1272 : f002             [ 3]>        beq skip0957
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1274 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1275 : 13                   >        db      test_num
 
                            >
 
1276 :                      >skip0957
 
 
1016 : 68               [ 4]         pla         ;load status
1276 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1017 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1277 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1019 : cd0d02           [ 4]         cmp fLDx    ;test flags
1279 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
101c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
127c : f002             [ 3]>        beq skip0960
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
127e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
127f : 13                   >        db      test_num
 
                            >
 
1280 :                      >skip0960
 
 
                                     set_stat 0
                                     set_stat 0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  140
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag 0
                            >            load_flag 0
101e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1280 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1020 : 48               [ 3]>            pha         ;use stack to load status
1282 : 48               [ 3]>            pha         ;use stack to load status
1021 : 28               [ 4]>            plp
1283 : 28               [ 4]>            plp
 
 
1022 : ae0902           [ 4]         ldx abs1+1
1284 : ae0902           [ 4]         ldx abs1+1
1025 : 08               [ 3]         php         ;test stores do not alter flags
1287 : 08               [ 3]         php         ;test stores do not alter flags
1026 : 8a               [ 2]         txa
1288 : 8a               [ 2]         txa
1027 : 49c3             [ 2]         eor #$c3
1289 : 49c3             [ 2]         eor #$c3
1029 : aa               [ 2]         tax
128b : aa               [ 2]         tax
102a : 28               [ 4]         plp
128c : 28               [ 4]         plp
102b : 860d             [ 3]         stx zpt+1
128d : 86b3             [ 3]         stx zpt+1
102d : 08               [ 3]         php         ;flags after load/store sequence
128f : 08               [ 3]         php         ;flags after load/store sequence
102e : 49c3             [ 2]         eor #$c3
1290 : 49c3             [ 2]         eor #$c3
1030 : c514             [ 3]         cmp zp1+1   ;test result
1292 : c5ba             [ 3]         cmp zp1+1   ;test result
                                     trap_ne
                                     trap_ne
1032 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1294 : f002             [ 3]>        beq skip0964
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1296 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1297 : 13                   >        db      test_num
 
                            >
 
1298 :                      >skip0964
 
 
1034 : 68               [ 4]         pla         ;load status
1298 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1035 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1299 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1037 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
129b : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
103a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
129e : f002             [ 3]>        beq skip0967
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12a0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12a1 : 13                   >        db      test_num
 
                            >
 
12a2 :                      >skip0967
 
 
                                     set_stat 0
                                     set_stat 0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   84
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag 0
                            >            load_flag 0
103c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
12a2 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
103e : 48               [ 3]>            pha         ;use stack to load status
12a4 : 48               [ 3]>            pha         ;use stack to load status
103f : 28               [ 4]>            plp
12a5 : 28               [ 4]>            plp
 
 
 
12a6 : ae0a02           [ 4]         ldx abs1+2
 
12a9 : 08               [ 3]         php         ;test stores do not alter flags
 
12aa : 8a               [ 2]         txa
 
12ab : 49c3             [ 2]         eor #$c3
 
12ad : aa               [ 2]         tax
 
12ae : 28               [ 4]         plp
 
12af : 86b4             [ 3]         stx zpt+2
 
12b1 : 08               [ 3]         php         ;flags after load/store sequence
 
12b2 : 49c3             [ 2]         eor #$c3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  141
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1040 : ae0a02           [ 4]         ldx abs1+2
12b4 : c5bb             [ 3]         cmp zp1+2   ;test result
1043 : 08               [ 3]         php         ;test stores do not alter flags
 
1044 : 8a               [ 2]         txa
 
1045 : 49c3             [ 2]         eor #$c3
 
1047 : aa               [ 2]         tax
 
1048 : 28               [ 4]         plp
 
1049 : 860e             [ 3]         stx zpt+2
 
104b : 08               [ 3]         php         ;flags after load/store sequence
 
104c : 49c3             [ 2]         eor #$c3
 
104e : c515             [ 3]         cmp zp1+2   ;test result
 
                                     trap_ne
                                     trap_ne
1050 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
12b6 : f002             [ 3]>        beq skip0971
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12b8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12b9 : 13                   >        db      test_num
 
                            >
 
12ba :                      >skip0971
 
 
1052 : 68               [ 4]         pla         ;load status
12ba : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1053 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
12bb : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1055 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
12bd : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1058 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
12c0 : f002             [ 3]>        beq skip0974
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12c2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12c3 : 13                   >        db      test_num
 
                            >
 
12c4 :                      >skip0974
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
105a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
12c4 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
105c : 48               [ 3]>            pha         ;use stack to load status
12c6 : 48               [ 3]>            pha         ;use stack to load status
105d : 28               [ 4]>            plp
12c7 : 28               [ 4]>            plp
 
 
105e : ae0b02           [ 4]         ldx abs1+3
12c8 : ae0b02           [ 4]         ldx abs1+3
1061 : 08               [ 3]         php         ;test stores do not alter flags
12cb : 08               [ 3]         php         ;test stores do not alter flags
1062 : 8a               [ 2]         txa
12cc : 8a               [ 2]         txa
1063 : 49c3             [ 2]         eor #$c3
12cd : 49c3             [ 2]         eor #$c3
1065 : aa               [ 2]         tax
12cf : aa               [ 2]         tax
1066 : 28               [ 4]         plp
12d0 : 28               [ 4]         plp
1067 : 860f             [ 3]         stx zpt+3
12d1 : 86b5             [ 3]         stx zpt+3
1069 : 08               [ 3]         php         ;flags after load/store sequence
12d3 : 08               [ 3]         php         ;flags after load/store sequence
106a : 49c3             [ 2]         eor #$c3
12d4 : 49c3             [ 2]         eor #$c3
106c : c516             [ 3]         cmp zp1+3   ;test result
12d6 : c5bc             [ 3]         cmp zp1+3   ;test result
                                     trap_ne
                                     trap_ne
106e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
12d8 : f002             [ 3]>        beq skip0978
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12da : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12db : 13                   >        db      test_num
 
                            >
 
12dc :                      >skip0978
 
 
1070 : 68               [ 4]         pla         ;load status
12dc : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1071 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
12dd : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1073 : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
                                     trap_ne
 
1076 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   85
12df : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  142
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     trap_ne
 
12e2 : f002             [ 3]>        beq skip0981
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12e4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12e5 : 13                   >        db      test_num
 
                            >
 
12e6 :                      >skip0981
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1078 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
12e6 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
107a : 48               [ 3]>            pha         ;use stack to load status
12e8 : 48               [ 3]>            pha         ;use stack to load status
107b : 28               [ 4]>            plp
12e9 : 28               [ 4]>            plp
 
 
107c : ae0802           [ 4]         ldx abs1
12ea : ae0802           [ 4]         ldx abs1
107f : 08               [ 3]         php         ;test stores do not alter flags
12ed : 08               [ 3]         php         ;test stores do not alter flags
1080 : 8a               [ 2]         txa
12ee : 8a               [ 2]         txa
1081 : 49c3             [ 2]         eor #$c3
12ef : 49c3             [ 2]         eor #$c3
1083 : aa               [ 2]         tax
12f1 : aa               [ 2]         tax
1084 : 28               [ 4]         plp
12f2 : 28               [ 4]         plp
1085 : 860c             [ 3]         stx zpt
12f3 : 86b2             [ 3]         stx zpt
1087 : 08               [ 3]         php         ;flags after load/store sequence
12f5 : 08               [ 3]         php         ;flags after load/store sequence
1088 : 49c3             [ 2]         eor #$c3
12f6 : 49c3             [ 2]         eor #$c3
108a : aa               [ 2]         tax
12f8 : aa               [ 2]         tax
108b : e413             [ 3]         cpx zp1     ;test result
12f9 : e4b9             [ 3]         cpx zp1     ;test result
                                     trap_ne
                                     trap_ne
108d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
12fb : f002             [ 3]>        beq skip0985
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
12fd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
12fe : 13                   >        db      test_num
 
                            >
 
12ff :                      >skip0985
 
 
108f : 68               [ 4]         pla         ;load status
12ff : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1090 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1300 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1092 : cd0d02           [ 4]         cmp fLDx    ;test flags
1302 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1095 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1305 : f002             [ 3]>        beq skip0988
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1307 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1308 : 13                   >        db      test_num
 
                            >
 
1309 :                      >skip0988
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1097 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1309 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1099 : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  143
109a : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
109b : ae0902           [ 4]         ldx abs1+1
130b : 48               [ 3]>            pha         ;use stack to load status
109e : 08               [ 3]         php         ;test stores do not alter flags
130c : 28               [ 4]>            plp
109f : 8a               [ 2]         txa
 
10a0 : 49c3             [ 2]         eor #$c3
 
10a2 : aa               [ 2]         tax
 
10a3 : 28               [ 4]         plp
 
10a4 : 860d             [ 3]         stx zpt+1
 
10a6 : 08               [ 3]         php         ;flags after load/store sequence
 
10a7 : 49c3             [ 2]         eor #$c3
 
10a9 : aa               [ 2]         tax
 
10aa : e414             [ 3]         cpx zp1+1   ;test result
 
                                     trap_ne
 
10ac : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
10ae : 68               [ 4]         pla         ;load status
130d : ae0902           [ 4]         ldx abs1+1
                                     eor_flag lo~fnz ;mask bits not altered
1310 : 08               [ 3]         php         ;test stores do not alter flags
10af : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1311 : 8a               [ 2]         txa
 
1312 : 49c3             [ 2]         eor #$c3
 
1314 : aa               [ 2]         tax
 
1315 : 28               [ 4]         plp
 
1316 : 86b3             [ 3]         stx zpt+1
 
1318 : 08               [ 3]         php         ;flags after load/store sequence
 
1319 : 49c3             [ 2]         eor #$c3
 
131b : aa               [ 2]         tax
 
131c : e4ba             [ 3]         cpx zp1+1   ;test result
 
                                     trap_ne
 
131e : f002             [ 3]>        beq skip0992
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1320 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1321 : 13                   >        db      test_num
 
                            >
 
1322 :                      >skip0992
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   86
1322 : 68               [ 4]         pla         ;load status
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                                     eor_flag lo~fnz ;mask bits not altered
 
1323 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
10b1 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1325 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
10b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1328 : f002             [ 3]>        beq skip0995
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
132a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
132b : 13                   >        db      test_num
 
                            >
 
132c :                      >skip0995
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
10b6 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
132c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
10b8 : 48               [ 3]>            pha         ;use stack to load status
132e : 48               [ 3]>            pha         ;use stack to load status
10b9 : 28               [ 4]>            plp
132f : 28               [ 4]>            plp
 
 
 
1330 : ae0a02           [ 4]         ldx abs1+2
 
1333 : 08               [ 3]         php         ;test stores do not alter flags
 
1334 : 8a               [ 2]         txa
 
1335 : 49c3             [ 2]         eor #$c3
 
1337 : aa               [ 2]         tax
 
1338 : 28               [ 4]         plp
 
1339 : 86b4             [ 3]         stx zpt+2
 
133b : 08               [ 3]         php         ;flags after load/store sequence
 
133c : 49c3             [ 2]         eor #$c3
 
133e : aa               [ 2]         tax
 
133f : e4bb             [ 3]         cpx zp1+2   ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  144
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
10ba : ae0a02           [ 4]         ldx abs1+2
 
10bd : 08               [ 3]         php         ;test stores do not alter flags
 
10be : 8a               [ 2]         txa
 
10bf : 49c3             [ 2]         eor #$c3
 
10c1 : aa               [ 2]         tax
 
10c2 : 28               [ 4]         plp
 
10c3 : 860e             [ 3]         stx zpt+2
 
10c5 : 08               [ 3]         php         ;flags after load/store sequence
 
10c6 : 49c3             [ 2]         eor #$c3
 
10c8 : aa               [ 2]         tax
 
10c9 : e415             [ 3]         cpx zp1+2   ;test result
 
                                     trap_ne
                                     trap_ne
10cb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1341 : f002             [ 3]>        beq skip0999
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1343 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1344 : 13                   >        db      test_num
 
                            >
 
1345 :                      >skip0999
 
 
10cd : 68               [ 4]         pla         ;load status
1345 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
10ce : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1346 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
10d0 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1348 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
10d3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
134b : f002             [ 3]>        beq skip1002
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
134d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
134e : 13                   >        db      test_num
 
                            >
 
134f :                      >skip1002
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
10d5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
134f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
10d7 : 48               [ 3]>            pha         ;use stack to load status
1351 : 48               [ 3]>            pha         ;use stack to load status
10d8 : 28               [ 4]>            plp
1352 : 28               [ 4]>            plp
 
 
10d9 : ae0b02           [ 4]         ldx abs1+3
 
10dc : 08               [ 3]         php         ;test stores do not alter flags
 
10dd : 8a               [ 2]         txa
 
10de : 49c3             [ 2]         eor #$c3
 
10e0 : aa               [ 2]         tax
 
10e1 : 28               [ 4]         plp
 
10e2 : 860f             [ 3]         stx zpt+3
 
10e4 : 08               [ 3]         php         ;flags after load/store sequence
 
10e5 : 49c3             [ 2]         eor #$c3
 
10e7 : aa               [ 2]         tax
 
10e8 : e416             [ 3]         cpx zp1+3   ;test result
 
                                     trap_ne
 
10ea : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
10ec : 68               [ 4]         pla         ;load status
1353 : ae0b02           [ 4]         ldx abs1+3
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   87
1356 : 08               [ 3]         php         ;test stores do not alter flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1357 : 8a               [ 2]         txa
 
1358 : 49c3             [ 2]         eor #$c3
 
135a : aa               [ 2]         tax
 
135b : 28               [ 4]         plp
 
135c : 86b5             [ 3]         stx zpt+3
 
135e : 08               [ 3]         php         ;flags after load/store sequence
 
135f : 49c3             [ 2]         eor #$c3
 
1361 : aa               [ 2]         tax
 
1362 : e4bc             [ 3]         cpx zp1+3   ;test result
 
                                     trap_ne
 
1364 : f002             [ 3]>        beq skip1006
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1366 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1367 : 13                   >        db      test_num
 
                            >
 
1368 :                      >skip1006
 
 
 
1368 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
10ed : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1369 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
 
136b : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  145
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
10ef : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
                                     trap_ne
                                     trap_ne
10f2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
136e : f002             [ 3]>        beq skip1009
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1370 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1371 : 13                   >        db      test_num
 
                            >
 
1372 :                      >skip1009
 
 
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
10f4 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
1372 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
                            >
                            >
10f6 : 48               [ 3]>            pha         ;use stack to load status
1374 : 48               [ 3]>            pha         ;use stack to load status
10f7 : 28               [ 4]>            plp
1375 : 28               [ 4]>            plp
 
 
10f8 : a2c3             [ 2]         ldx #$c3
1376 : a2c3             [ 2]         ldx #$c3
10fa : 08               [ 3]         php
1378 : 08               [ 3]         php
10fb : ec0802           [ 4]         cpx abs1    ;test result
1379 : ec0802           [ 4]         cpx abs1    ;test result
                                     trap_ne
                                     trap_ne
10fe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
137c : f002             [ 3]>        beq skip1013
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
137e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
137f : 13                   >        db      test_num
 
                            >
 
1380 :                      >skip1013
 
 
1100 : 68               [ 4]         pla         ;load status
1380 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1101 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1381 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1103 : cd0d02           [ 4]         cmp fLDx    ;test flags
1383 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1106 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1386 : f002             [ 3]>        beq skip1016
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1388 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1389 : 13                   >        db      test_num
 
                            >
 
138a :                      >skip1016
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1108 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
138a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
110a : 48               [ 3]>            pha         ;use stack to load status
138c : 48               [ 3]>            pha         ;use stack to load status
110b : 28               [ 4]>            plp
138d : 28               [ 4]>            plp
 
 
110c : a282             [ 2]         ldx #$82
138e : a282             [ 2]         ldx #$82
110e : 08               [ 3]         php
1390 : 08               [ 3]         php
110f : ec0902           [ 4]         cpx abs1+1  ;test result
1391 : ec0902           [ 4]         cpx abs1+1  ;test result
                                     trap_ne
                                     trap_ne
1112 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1394 : f002             [ 3]>        beq skip1020
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  146
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1396 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1397 : 13                   >        db      test_num
 
                            >
 
1398 :                      >skip1020
 
 
1114 : 68               [ 4]         pla         ;load status
1398 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1115 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1399 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1117 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
139b : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
111a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
139e : f002             [ 3]>        beq skip1023
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13a0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13a1 : 13                   >        db      test_num
 
                            >
 
13a2 :                      >skip1023
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
111c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
13a2 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
111e : 48               [ 3]>            pha         ;use stack to load status
13a4 : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   88
13a5 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
111f : 28               [ 4]>            plp
 
 
 
1120 : a241             [ 2]         ldx #$41
13a6 : a241             [ 2]         ldx #$41
1122 : 08               [ 3]         php
13a8 : 08               [ 3]         php
1123 : ec0a02           [ 4]         cpx abs1+2  ;test result
13a9 : ec0a02           [ 4]         cpx abs1+2  ;test result
                                     trap_ne
                                     trap_ne
1126 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13ac : f002             [ 3]>        beq skip1027
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13ae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13af : 13                   >        db      test_num
 
                            >
 
13b0 :                      >skip1027
 
 
1128 : 68               [ 4]         pla         ;load status
13b0 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1129 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
13b1 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
112b : cd0f02           [ 4]         cmp fLDx+2  ;test flags
13b3 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
112e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13b6 : f002             [ 3]>        beq skip1030
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13b8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13b9 : 13                   >        db      test_num
 
                            >
 
13ba :                      >skip1030
 
 
                                     set_stat 0
                                     set_stat 0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  147
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag 0
                            >            load_flag 0
1130 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
13ba : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1132 : 48               [ 3]>            pha         ;use stack to load status
13bc : 48               [ 3]>            pha         ;use stack to load status
1133 : 28               [ 4]>            plp
13bd : 28               [ 4]>            plp
 
 
1134 : a200             [ 2]         ldx #0
13be : a200             [ 2]         ldx #0
1136 : 08               [ 3]         php
13c0 : 08               [ 3]         php
1137 : ec0b02           [ 4]         cpx abs1+3  ;test result
13c1 : ec0b02           [ 4]         cpx abs1+3  ;test result
                                     trap_ne
                                     trap_ne
113a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13c4 : f002             [ 3]>        beq skip1034
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13c6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13c7 : 13                   >        db      test_num
 
                            >
 
13c8 :                      >skip1034
 
 
113c : 68               [ 4]         pla         ;load status
13c8 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
113d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
13c9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
113f : cd1002           [ 4]         cmp fLDx+3  ;test flags
13cb : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1142 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13ce : f002             [ 3]>        beq skip1037
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13d0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13d1 : 13                   >        db      test_num
 
                            >
 
13d2 :                      >skip1037
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1144 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
13d2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1146 : 48               [ 3]>            pha         ;use stack to load status
13d4 : 48               [ 3]>            pha         ;use stack to load status
1147 : 28               [ 4]>            plp
13d5 : 28               [ 4]>            plp
 
 
1148 : a2c3             [ 2]         ldx #$c3
13d6 : a2c3             [ 2]         ldx #$c3
114a : 08               [ 3]         php
13d8 : 08               [ 3]         php
114b : ec0802           [ 4]         cpx abs1    ;test result
13d9 : ec0802           [ 4]         cpx abs1    ;test result
                                     trap_ne
                                     trap_ne
114e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13dc : f002             [ 3]>        beq skip1041
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13de : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13df : 13                   >        db      test_num
 
                            >
 
13e0 :                      >skip1041
 
 
1150 : 68               [ 4]         pla         ;load status
13e0 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1151 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
13e1 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  148
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   89
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1153 : cd0d02           [ 4]         cmp fLDx    ;test flags
 
 
13e3 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1156 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13e6 : f002             [ 3]>        beq skip1044
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13e8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13e9 : 13                   >        db      test_num
 
                            >
 
13ea :                      >skip1044
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1158 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
13ea : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
115a : 48               [ 3]>            pha         ;use stack to load status
13ec : 48               [ 3]>            pha         ;use stack to load status
115b : 28               [ 4]>            plp
13ed : 28               [ 4]>            plp
 
 
115c : a282             [ 2]         ldx #$82
13ee : a282             [ 2]         ldx #$82
115e : 08               [ 3]         php
13f0 : 08               [ 3]         php
115f : ec0902           [ 4]         cpx abs1+1  ;test result
13f1 : ec0902           [ 4]         cpx abs1+1  ;test result
                                     trap_ne
                                     trap_ne
1162 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13f4 : f002             [ 3]>        beq skip1048
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
13f6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
13f7 : 13                   >        db      test_num
 
                            >
 
13f8 :                      >skip1048
 
 
1164 : 68               [ 4]         pla         ;load status
13f8 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1165 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
13f9 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1167 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
13fb : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
116a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
13fe : f002             [ 4]>        beq skip1051
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1400 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1401 : 13                   >        db      test_num
 
                            >
 
1402 :                      >skip1051
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
116c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1402 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
116e : 48               [ 3]>            pha         ;use stack to load status
1404 : 48               [ 3]>            pha         ;use stack to load status
116f : 28               [ 4]>            plp
1405 : 28               [ 4]>            plp
 
 
1170 : a241             [ 2]         ldx #$41
1406 : a241             [ 2]         ldx #$41
1172 : 08               [ 3]         php
1408 : 08               [ 3]         php
1173 : ec0a02           [ 4]         cpx abs1+2  ;test result
1409 : ec0a02           [ 4]         cpx abs1+2  ;test result
                                     trap_ne
                                     trap_ne
1176 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  149
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1178 : 68               [ 4]         pla         ;load status
140c : f002             [ 3]>        beq skip1055
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
140e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
140f : 13                   >        db      test_num
 
                            >
 
1410 :                      >skip1055
 
 
 
1410 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1179 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1411 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
117b : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1413 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
117e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1416 : f002             [ 3]>        beq skip1058
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1418 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1419 : 13                   >        db      test_num
 
                            >
 
141a :                      >skip1058
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1180 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
141a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1182 : 48               [ 3]>            pha         ;use stack to load status
141c : 48               [ 3]>            pha         ;use stack to load status
1183 : 28               [ 4]>            plp
141d : 28               [ 4]>            plp
 
 
1184 : a200             [ 2]         ldx #0
 
1186 : 08               [ 3]         php
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   90
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1187 : ec0b02           [ 4]         cpx abs1+3  ;test result
141e : a200             [ 2]         ldx #0
 
1420 : 08               [ 3]         php
 
1421 : ec0b02           [ 4]         cpx abs1+3  ;test result
                                     trap_ne
                                     trap_ne
118a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1424 : f002             [ 3]>        beq skip1062
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1426 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1427 : 13                   >        db      test_num
 
                            >
 
1428 :                      >skip1062
 
 
118c : 68               [ 4]         pla         ;load status
1428 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
118d : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1429 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
118f : cd1002           [ 4]         cmp fLDx+3  ;test flags
142b : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1192 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
142e : f002             [ 3]>        beq skip1065
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1430 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1431 : 13                   >        db      test_num
 
                            >
 
1432 :                      >skip1065
 
 
1194 : a200             [ 2]         ldx #0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  150
1196 : a50c             [ 3]         lda zpt
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1198 : 49c3             [ 2]         eor #$c3
 
119a : c513             [ 3]         cmp zp1
 
                                     trap_ne     ;store to zp data
 
119c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
119e : 860c             [ 3]         stx zpt     ;clear
 
11a0 : ad0302           [ 4]         lda abst
 
11a3 : 49c3             [ 2]         eor #$c3
 
11a5 : cd0802           [ 4]         cmp abs1
 
                                     trap_ne     ;store to abs data
 
11a8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
11aa : 8e0302           [ 4]         stx abst    ;clear
1432 : a200             [ 2]         ldx #0
11ad : a50d             [ 3]         lda zpt+1
1434 : a5b2             [ 3]         lda zpt
11af : 49c3             [ 2]         eor #$c3
1436 : 49c3             [ 2]         eor #$c3
11b1 : c514             [ 3]         cmp zp1+1
1438 : c5b9             [ 3]         cmp zp1
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
11b3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
143a : f002             [ 3]>        beq skip1067
 
                            >        trap           ;failed equal (zero)
11b5 : 860d             [ 3]         stx zpt+1   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
11b7 : ad0402           [ 4]         lda abst+1
143c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
11ba : 49c3             [ 2]         eor #$c3
143d : 13                   >        db      test_num
11bc : cd0902           [ 4]         cmp abs1+1
                            >
 
143e :                      >skip1067
 
 
 
143e : 86b2             [ 3]         stx zpt     ;clear
 
1440 : ad0302           [ 4]         lda abst
 
1443 : 49c3             [ 2]         eor #$c3
 
1445 : cd0802           [ 4]         cmp abs1
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
11bf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1448 : f002             [ 3]>        beq skip1069
 
                            >        trap           ;failed equal (zero)
11c1 : 8e0402           [ 4]         stx abst+1  ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
11c4 : a50e             [ 3]         lda zpt+2
144a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
11c6 : 49c3             [ 2]         eor #$c3
144b : 13                   >        db      test_num
11c8 : c515             [ 3]         cmp zp1+2
                            >
 
144c :                      >skip1069
 
 
 
144c : 8e0302           [ 4]         stx abst    ;clear
 
144f : a5b3             [ 3]         lda zpt+1
 
1451 : 49c3             [ 2]         eor #$c3
 
1453 : c5ba             [ 3]         cmp zp1+1
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
11ca : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1455 : f002             [ 3]>        beq skip1071
 
                            >        trap           ;failed equal (zero)
11cc : 860e             [ 3]         stx zpt+2   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
11ce : ad0502           [ 4]         lda abst+2
1457 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
11d1 : 49c3             [ 2]         eor #$c3
1458 : 13                   >        db      test_num
11d3 : cd0a02           [ 4]         cmp abs1+2
                            >
 
1459 :                      >skip1071
 
 
 
1459 : 86b3             [ 3]         stx zpt+1   ;clear
 
145b : ad0402           [ 4]         lda abst+1
 
145e : 49c3             [ 2]         eor #$c3
 
1460 : cd0902           [ 4]         cmp abs1+1
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
11d6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1463 : f002             [ 3]>        beq skip1073
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1465 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1466 : 13                   >        db      test_num
 
                            >
 
1467 :                      >skip1073
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   91
1467 : 8e0402           [ 4]         stx abst+1  ;clear
 
146a : a5b4             [ 3]         lda zpt+2
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  151
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
11d8 : 8e0502           [ 4]         stx abst+2  ;clear
146c : 49c3             [ 2]         eor #$c3
11db : a50f             [ 3]         lda zpt+3
146e : c5bb             [ 3]         cmp zp1+2
11dd : 49c3             [ 2]         eor #$c3
 
11df : c516             [ 3]         cmp zp1+3
 
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
11e1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1470 : f002             [ 3]>        beq skip1075
 
                            >        trap           ;failed equal (zero)
11e3 : 860f             [ 3]         stx zpt+3   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
11e5 : ad0602           [ 4]         lda abst+3
1472 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
11e8 : 49c3             [ 2]         eor #$c3
1473 : 13                   >        db      test_num
11ea : cd0b02           [ 4]         cmp abs1+3
                            >
 
1474 :                      >skip1075
 
 
 
1474 : 86b4             [ 3]         stx zpt+2   ;clear
 
1476 : ad0502           [ 4]         lda abst+2
 
1479 : 49c3             [ 2]         eor #$c3
 
147b : cd0a02           [ 4]         cmp abs1+2
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
11ed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
147e : f002             [ 3]>        beq skip1077
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1480 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1481 : 13                   >        db      test_num
 
                            >
 
1482 :                      >skip1077
 
 
 
1482 : 8e0502           [ 4]         stx abst+2  ;clear
 
1485 : a5b5             [ 3]         lda zpt+3
 
1487 : 49c3             [ 2]         eor #$c3
 
1489 : c5bc             [ 3]         cmp zp1+3
 
                                     trap_ne     ;store to zp data
 
148b : f002             [ 3]>        beq skip1079
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
148d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
148e : 13                   >        db      test_num
 
                            >
 
148f :                      >skip1079
 
 
 
148f : 86b5             [ 3]         stx zpt+3   ;clear
 
1491 : ad0602           [ 4]         lda abst+3
 
1494 : 49c3             [ 2]         eor #$c3
 
1496 : cd0b02           [ 4]         cmp abs1+3
 
                                     trap_ne     ;store to abs data
 
1499 : f002             [ 3]>        beq skip1081
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
149b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
149c : 13                   >        db      test_num
 
                            >
 
149d :                      >skip1081
 
 
11ef : 8e0602           [ 4]         stx abst+3  ;clear
149d : 8e0602           [ 4]         stx abst+3  ;clear
                                     next_test
                                     next_test
11f2 : ad0002           [ 4]>            lda test_case   ;previous test
14a0 : ad0002           [ 4]>            lda test_case   ;previous test
11f5 : c913             [ 2]>            cmp #test_num
14a3 : c913             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
11f7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  152
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
14a5 : f002             [ 3]>        beq skip1084
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
14a7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
14a8 : 13                   >        db      test_num
 
                            >
 
14a9 :                      >skip1084
                            >
                            >
0014 =                      >test_num = test_num + 1
0014 =                      >test_num = test_num + 1
11f9 : a914             [ 2]>            lda #test_num   ;*** this tests' number
14a9 : a914             [ 2]>            lda #test_num   ;*** this tests' number
11fb : 8d0002           [ 4]>            sta test_case
14ab : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; LDY / STY - zp / abs / #
                             ; LDY / STY - zp / abs / #
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
11fe : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
14ae : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1200 : 48               [ 3]>            pha         ;use stack to load status
14b0 : 48               [ 3]>            pha         ;use stack to load status
1201 : 28               [ 4]>            plp
14b1 : 28               [ 4]>            plp
 
 
1202 : a413             [ 3]         ldy zp1
14b2 : a4b9             [ 3]         ldy zp1
1204 : 08               [ 3]         php         ;test stores do not alter flags
14b4 : 08               [ 3]         php         ;test stores do not alter flags
1205 : 98               [ 2]         tya
14b5 : 98               [ 2]         tya
1206 : 49c3             [ 2]         eor #$c3
14b6 : 49c3             [ 2]         eor #$c3
1208 : a8               [ 2]         tay
14b8 : a8               [ 2]         tay
1209 : 28               [ 4]         plp
14b9 : 28               [ 4]         plp
120a : 8c0302           [ 4]         sty abst
14ba : 8c0302           [ 4]         sty abst
120d : 08               [ 3]         php         ;flags after load/store sequence
14bd : 08               [ 3]         php         ;flags after load/store sequence
120e : 49c3             [ 2]         eor #$c3
14be : 49c3             [ 2]         eor #$c3
1210 : a8               [ 2]         tay
14c0 : a8               [ 2]         tay
1211 : c0c3             [ 2]         cpy #$c3    ;test result
14c1 : c0c3             [ 2]         cpy #$c3    ;test result
                                     trap_ne
                                     trap_ne
1213 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
14c3 : f002             [ 3]>        beq skip1088
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
14c5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
14c6 : 14                   >        db      test_num
 
                            >
 
14c7 :                      >skip1088
 
 
1215 : 68               [ 4]         pla         ;load status
14c7 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1216 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
14c8 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1218 : cd0d02           [ 4]         cmp fLDx    ;test flags
14ca : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   92
14cd : f002             [ 3]>        beq skip1091
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
14cf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
14d0 : 14                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  153
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
121b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
14d1 :                      >skip1091
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
121d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
14d1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
121f : 48               [ 3]>            pha         ;use stack to load status
14d3 : 48               [ 3]>            pha         ;use stack to load status
1220 : 28               [ 4]>            plp
14d4 : 28               [ 4]>            plp
 
 
1221 : a414             [ 3]         ldy zp1+1
14d5 : a4ba             [ 3]         ldy zp1+1
1223 : 08               [ 3]         php         ;test stores do not alter flags
14d7 : 08               [ 3]         php         ;test stores do not alter flags
1224 : 98               [ 2]         tya
14d8 : 98               [ 2]         tya
1225 : 49c3             [ 2]         eor #$c3
14d9 : 49c3             [ 2]         eor #$c3
1227 : a8               [ 2]         tay
14db : a8               [ 2]         tay
1228 : 28               [ 4]         plp
14dc : 28               [ 4]         plp
1229 : 8c0402           [ 4]         sty abst+1
14dd : 8c0402           [ 4]         sty abst+1
122c : 08               [ 3]         php         ;flags after load/store sequence
14e0 : 08               [ 3]         php         ;flags after load/store sequence
122d : 49c3             [ 2]         eor #$c3
14e1 : 49c3             [ 2]         eor #$c3
122f : a8               [ 2]         tay
14e3 : a8               [ 2]         tay
1230 : c082             [ 2]         cpy #$82    ;test result
14e4 : c082             [ 2]         cpy #$82    ;test result
                                     trap_ne
                                     trap_ne
1232 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
14e6 : f002             [ 3]>        beq skip1095
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
14e8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
14e9 : 14                   >        db      test_num
 
                            >
 
14ea :                      >skip1095
 
 
1234 : 68               [ 4]         pla         ;load status
14ea : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1235 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
14eb : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1237 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
14ed : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
123a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
14f0 : f002             [ 3]>        beq skip1098
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
14f2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
14f3 : 14                   >        db      test_num
 
                            >
 
14f4 :                      >skip1098
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
123c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
14f4 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
123e : 48               [ 3]>            pha         ;use stack to load status
14f6 : 48               [ 3]>            pha         ;use stack to load status
123f : 28               [ 4]>            plp
14f7 : 28               [ 4]>            plp
 
 
1240 : a415             [ 3]         ldy zp1+2
14f8 : a4bb             [ 3]         ldy zp1+2
1242 : 08               [ 3]         php         ;test stores do not alter flags
14fa : 08               [ 3]         php         ;test stores do not alter flags
1243 : 98               [ 2]         tya
14fb : 98               [ 2]         tya
1244 : 49c3             [ 2]         eor #$c3
14fc : 49c3             [ 2]         eor #$c3
1246 : a8               [ 2]         tay
14fe : a8               [ 2]         tay
1247 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  154
1248 : 8c0502           [ 4]         sty abst+2
 
124b : 08               [ 3]         php         ;flags after load/store sequence
 
124c : 49c3             [ 2]         eor #$c3
 
124e : a8               [ 2]         tay
 
124f : c041             [ 2]         cpy #$41    ;test result
 
                                     trap_ne
 
1251 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1253 : 68               [ 4]         pla         ;load status
 
                                     eor_flag 0
 
1254 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   93
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
14ff : 28               [ 4]         plp
 
1500 : 8c0502           [ 4]         sty abst+2
 
1503 : 08               [ 3]         php         ;flags after load/store sequence
 
1504 : 49c3             [ 2]         eor #$c3
 
1506 : a8               [ 2]         tay
 
1507 : c041             [ 2]         cpy #$41    ;test result
 
                                     trap_ne
 
1509 : f002             [ 3]>        beq skip1102
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
150b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
150c : 14                   >        db      test_num
 
                            >
 
150d :                      >skip1102
 
 
 
150d : 68               [ 4]         pla         ;load status
 
                                     eor_flag 0
 
150e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1256 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1510 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1259 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1513 : f002             [ 3]>        beq skip1105
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1515 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1516 : 14                   >        db      test_num
 
                            >
 
1517 :                      >skip1105
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
125b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1517 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
125d : 48               [ 3]>            pha         ;use stack to load status
1519 : 48               [ 3]>            pha         ;use stack to load status
125e : 28               [ 4]>            plp
151a : 28               [ 4]>            plp
 
 
 
151b : a4bc             [ 3]         ldy zp1+3
 
151d : 08               [ 3]         php         ;test stores do not alter flags
 
151e : 98               [ 2]         tya
 
151f : 49c3             [ 2]         eor #$c3
 
1521 : a8               [ 2]         tay
 
1522 : 28               [ 4]         plp
 
1523 : 8c0602           [ 4]         sty abst+3
 
1526 : 08               [ 3]         php         ;flags after load/store sequence
 
1527 : 49c3             [ 2]         eor #$c3
 
1529 : a8               [ 2]         tay
 
152a : c000             [ 2]         cpy #0      ;test result
 
                                     trap_ne
 
152c : f002             [ 3]>        beq skip1109
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
152e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
152f : 14                   >        db      test_num
 
                            >
 
1530 :                      >skip1109
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  155
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
125f : a416             [ 3]         ldy zp1+3
 
1261 : 08               [ 3]         php         ;test stores do not alter flags
 
1262 : 98               [ 2]         tya
 
1263 : 49c3             [ 2]         eor #$c3
 
1265 : a8               [ 2]         tay
 
1266 : 28               [ 4]         plp
 
1267 : 8c0602           [ 4]         sty abst+3
 
126a : 08               [ 3]         php         ;flags after load/store sequence
 
126b : 49c3             [ 2]         eor #$c3
 
126d : a8               [ 2]         tay
 
126e : c000             [ 2]         cpy #0      ;test result
 
                                     trap_ne
 
1270 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1272 : 68               [ 4]         pla         ;load status
1530 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1273 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1531 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1275 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1533 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1278 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1536 : f002             [ 3]>        beq skip1112
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1538 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1539 : 14                   >        db      test_num
 
                            >
 
153a :                      >skip1112
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
127a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
153a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
127c : 48               [ 3]>            pha         ;use stack to load status
153c : 48               [ 3]>            pha         ;use stack to load status
127d : 28               [ 4]>            plp
153d : 28               [ 4]>            plp
 
 
127e : a413             [ 3]         ldy zp1
 
1280 : 08               [ 3]         php         ;test stores do not alter flags
 
1281 : 98               [ 2]         tya
 
1282 : 49c3             [ 2]         eor #$c3
 
1284 : a8               [ 2]         tay
 
1285 : 28               [ 4]         plp
 
1286 : 8c0302           [ 4]         sty abst
 
1289 : 08               [ 3]         php         ;flags after load/store sequence
 
128a : 49c3             [ 2]         eor #$c3
 
128c : a8               [ 2]         tay
 
128d : c0c3             [ 2]         cpy #$c3    ;test result
 
                                     trap_ne
 
128f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   94
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
153e : a4b9             [ 3]         ldy zp1
 
1540 : 08               [ 3]         php         ;test stores do not alter flags
 
1541 : 98               [ 2]         tya
 
1542 : 49c3             [ 2]         eor #$c3
 
1544 : a8               [ 2]         tay
 
1545 : 28               [ 4]         plp
 
1546 : 8c0302           [ 4]         sty abst
 
1549 : 08               [ 3]         php         ;flags after load/store sequence
 
154a : 49c3             [ 2]         eor #$c3
 
154c : a8               [ 2]         tay
 
154d : c0c3             [ 2]         cpy #$c3    ;test result
 
                                     trap_ne
 
154f : f002             [ 3]>        beq skip1116
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1551 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1552 : 14                   >        db      test_num
 
                            >
 
1553 :                      >skip1116
 
 
1291 : 68               [ 4]         pla         ;load status
1553 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1292 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1554 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1294 : cd0d02           [ 4]         cmp fLDx    ;test flags
1556 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1297 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1559 : f002             [ 3]>        beq skip1119
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
155b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
155c : 14                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  156
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
155d :                      >skip1119
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1299 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
155d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
129b : 48               [ 3]>            pha         ;use stack to load status
155f : 48               [ 3]>            pha         ;use stack to load status
129c : 28               [ 4]>            plp
1560 : 28               [ 4]>            plp
 
 
129d : a414             [ 3]         ldy zp1+1
1561 : a4ba             [ 3]         ldy zp1+1
129f : 08               [ 3]         php         ;test stores do not alter flags
1563 : 08               [ 3]         php         ;test stores do not alter flags
12a0 : 98               [ 2]         tya
1564 : 98               [ 2]         tya
12a1 : 49c3             [ 2]         eor #$c3
1565 : 49c3             [ 2]         eor #$c3
12a3 : a8               [ 2]         tay
1567 : a8               [ 2]         tay
12a4 : 28               [ 4]         plp
1568 : 28               [ 4]         plp
12a5 : 8c0402           [ 4]         sty abst+1
1569 : 8c0402           [ 4]         sty abst+1
12a8 : 08               [ 3]         php         ;flags after load/store sequence
156c : 08               [ 3]         php         ;flags after load/store sequence
12a9 : 49c3             [ 2]         eor #$c3
156d : 49c3             [ 2]         eor #$c3
12ab : a8               [ 2]         tay
156f : a8               [ 2]         tay
12ac : c082             [ 2]         cpy #$82   ;test result
1570 : c082             [ 2]         cpy #$82   ;test result
                                     trap_ne
                                     trap_ne
12ae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1572 : f002             [ 3]>        beq skip1123
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1574 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1575 : 14                   >        db      test_num
 
                            >
 
1576 :                      >skip1123
 
 
12b0 : 68               [ 4]         pla         ;load status
1576 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
12b1 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1577 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
12b3 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1579 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
12b6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
157c : f002             [ 3]>        beq skip1126
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
157e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
157f : 14                   >        db      test_num
 
                            >
 
1580 :                      >skip1126
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
12b8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1580 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
12ba : 48               [ 3]>            pha         ;use stack to load status
1582 : 48               [ 3]>            pha         ;use stack to load status
12bb : 28               [ 4]>            plp
1583 : 28               [ 4]>            plp
 
 
12bc : a415             [ 3]         ldy zp1+2
1584 : a4bb             [ 3]         ldy zp1+2
12be : 08               [ 3]         php         ;test stores do not alter flags
1586 : 08               [ 3]         php         ;test stores do not alter flags
12bf : 98               [ 2]         tya
1587 : 98               [ 2]         tya
12c0 : 49c3             [ 2]         eor #$c3
1588 : 49c3             [ 2]         eor #$c3
12c2 : a8               [ 2]         tay
158a : a8               [ 2]         tay
12c3 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  157
12c4 : 8c0502           [ 4]         sty abst+2
 
12c7 : 08               [ 3]         php         ;flags after load/store sequence
 
12c8 : 49c3             [ 2]         eor #$c3
 
12ca : a8               [ 2]         tay
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   95
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
12cb : c041             [ 2]         cpy #$41    ;test result
158b : 28               [ 4]         plp
                                     trap_ne
158c : 8c0502           [ 4]         sty abst+2
12cd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
158f : 08               [ 3]         php         ;flags after load/store sequence
 
1590 : 49c3             [ 2]         eor #$c3
 
1592 : a8               [ 2]         tay
 
1593 : c041             [ 2]         cpy #$41    ;test result
 
                                     trap_ne
 
1595 : f002             [ 3]>        beq skip1130
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1597 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1598 : 14                   >        db      test_num
 
                            >
 
1599 :                      >skip1130
 
 
12cf : 68               [ 4]         pla         ;load status
1599 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
12d0 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
159a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
12d2 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
159c : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
12d5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
159f : f002             [ 3]>        beq skip1133
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
15a1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
15a2 : 14                   >        db      test_num
 
                            >
 
15a3 :                      >skip1133
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
12d7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
15a3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
12d9 : 48               [ 3]>            pha         ;use stack to load status
15a5 : 48               [ 3]>            pha         ;use stack to load status
12da : 28               [ 4]>            plp
15a6 : 28               [ 4]>            plp
 
 
 
15a7 : a4bc             [ 3]         ldy zp1+3
 
15a9 : 08               [ 3]         php         ;test stores do not alter flags
 
15aa : 98               [ 2]         tya
 
15ab : 49c3             [ 2]         eor #$c3
 
15ad : a8               [ 2]         tay
 
15ae : 28               [ 4]         plp
 
15af : 8c0602           [ 4]         sty abst+3
 
15b2 : 08               [ 3]         php         ;flags after load/store sequence
 
15b3 : 49c3             [ 2]         eor #$c3
 
15b5 : a8               [ 2]         tay
 
15b6 : c000             [ 2]         cpy #0      ;test result
 
                                     trap_ne
 
15b8 : f002             [ 3]>        beq skip1137
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
15ba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
15bb : 14                   >        db      test_num
 
                            >
 
15bc :                      >skip1137
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  158
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
12db : a416             [ 3]         ldy zp1+3
 
12dd : 08               [ 3]         php         ;test stores do not alter flags
 
12de : 98               [ 2]         tya
 
12df : 49c3             [ 2]         eor #$c3
 
12e1 : a8               [ 2]         tay
 
12e2 : 28               [ 4]         plp
 
12e3 : 8c0602           [ 4]         sty abst+3
 
12e6 : 08               [ 3]         php         ;flags after load/store sequence
 
12e7 : 49c3             [ 2]         eor #$c3
 
12e9 : a8               [ 2]         tay
 
12ea : c000             [ 2]         cpy #0      ;test result
 
                                     trap_ne
 
12ec : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
12ee : 68               [ 4]         pla         ;load status
15bc : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
12ef : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
15bd : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
12f1 : cd1002           [ 4]         cmp fLDx+3  ;test flags
15bf : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
12f4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
15c2 : f002             [ 3]>        beq skip1140
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
15c4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
15c5 : 14                   >        db      test_num
 
                            >
 
15c6 :                      >skip1140
 
 
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
12f6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
15c6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
12f8 : 48               [ 3]>            pha         ;use stack to load status
15c8 : 48               [ 3]>            pha         ;use stack to load status
12f9 : 28               [ 4]>            plp
15c9 : 28               [ 4]>            plp
 
 
12fa : ac0802           [ 4]         ldy abs1
 
12fd : 08               [ 3]         php         ;test stores do not alter flags
 
12fe : 98               [ 2]         tya
 
12ff : 49c3             [ 2]         eor #$c3
 
1301 : a8               [ 2]         tay
 
1302 : 28               [ 4]         plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   96
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1303 : 840c             [ 3]         sty zpt
15ca : ac0802           [ 4]         ldy abs1
1305 : 08               [ 3]         php         ;flags after load/store sequence
15cd : 08               [ 3]         php         ;test stores do not alter flags
1306 : 49c3             [ 2]         eor #$c3
15ce : 98               [ 2]         tya
1308 : a8               [ 2]         tay
15cf : 49c3             [ 2]         eor #$c3
1309 : c413             [ 3]         cpy zp1     ;test result
15d1 : a8               [ 2]         tay
                                     trap_ne
15d2 : 28               [ 4]         plp
130b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
15d3 : 84b2             [ 3]         sty zpt
 
15d5 : 08               [ 3]         php         ;flags after load/store sequence
 
15d6 : 49c3             [ 2]         eor #$c3
 
15d8 : a8               [ 2]         tay
 
15d9 : c4b9             [ 3]         cpy zp1     ;test result
 
                                     trap_ne
 
15db : f002             [ 3]>        beq skip1144
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
15dd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
15de : 14                   >        db      test_num
 
                            >
 
15df :                      >skip1144
 
 
130d : 68               [ 4]         pla         ;load status
15df : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
130e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
15e0 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1310 : cd0d02           [ 4]         cmp fLDx    ;test flags
15e2 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1313 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
15e5 : f002             [ 3]>        beq skip1147
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
15e7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
15e8 : 14                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  159
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
15e9 :                      >skip1147
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1315 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
15e9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1317 : 48               [ 3]>            pha         ;use stack to load status
15eb : 48               [ 3]>            pha         ;use stack to load status
1318 : 28               [ 4]>            plp
15ec : 28               [ 4]>            plp
 
 
1319 : ac0902           [ 4]         ldy abs1+1
15ed : ac0902           [ 4]         ldy abs1+1
131c : 08               [ 3]         php         ;test stores do not alter flags
15f0 : 08               [ 3]         php         ;test stores do not alter flags
131d : 98               [ 2]         tya
15f1 : 98               [ 2]         tya
131e : 49c3             [ 2]         eor #$c3
15f2 : 49c3             [ 2]         eor #$c3
1320 : a8               [ 2]         tay
15f4 : a8               [ 2]         tay
1321 : 28               [ 4]         plp
15f5 : 28               [ 4]         plp
1322 : 840d             [ 3]         sty zpt+1
15f6 : 84b3             [ 3]         sty zpt+1
1324 : 08               [ 3]         php         ;flags after load/store sequence
15f8 : 08               [ 3]         php         ;flags after load/store sequence
1325 : 49c3             [ 2]         eor #$c3
15f9 : 49c3             [ 2]         eor #$c3
1327 : a8               [ 2]         tay
15fb : a8               [ 2]         tay
1328 : c414             [ 3]         cpy zp1+1   ;test result
15fc : c4ba             [ 3]         cpy zp1+1   ;test result
                                     trap_ne
                                     trap_ne
132a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
15fe : f002             [ 4]>        beq skip1151
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1600 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1601 : 14                   >        db      test_num
 
                            >
 
1602 :                      >skip1151
 
 
132c : 68               [ 4]         pla         ;load status
1602 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
132d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1603 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
132f : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1605 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
1332 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1608 : f002             [ 3]>        beq skip1154
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
160a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
160b : 14                   >        db      test_num
 
                            >
 
160c :                      >skip1154
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1334 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
160c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1336 : 48               [ 3]>            pha         ;use stack to load status
160e : 48               [ 3]>            pha         ;use stack to load status
1337 : 28               [ 4]>            plp
160f : 28               [ 4]>            plp
 
 
1338 : ac0a02           [ 4]         ldy abs1+2
1610 : ac0a02           [ 4]         ldy abs1+2
133b : 08               [ 3]         php         ;test stores do not alter flags
1613 : 08               [ 3]         php         ;test stores do not alter flags
133c : 98               [ 2]         tya
1614 : 98               [ 2]         tya
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   97
1615 : 49c3             [ 2]         eor #$c3
 
1617 : a8               [ 2]         tay
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  160
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
133d : 49c3             [ 2]         eor #$c3
1618 : 28               [ 4]         plp
133f : a8               [ 2]         tay
1619 : 84b4             [ 3]         sty zpt+2
1340 : 28               [ 4]         plp
161b : 08               [ 3]         php         ;flags after load/store sequence
1341 : 840e             [ 3]         sty zpt+2
161c : 49c3             [ 2]         eor #$c3
1343 : 08               [ 3]         php         ;flags after load/store sequence
161e : a8               [ 2]         tay
1344 : 49c3             [ 2]         eor #$c3
161f : c4bb             [ 3]         cpy zp1+2   ;test result
1346 : a8               [ 2]         tay
                                     trap_ne
1347 : c415             [ 3]         cpy zp1+2   ;test result
1621 : f002             [ 3]>        beq skip1158
                                     trap_ne
                            >        trap           ;failed equal (zero)
1349 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1623 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1624 : 14                   >        db      test_num
 
                            >
 
1625 :                      >skip1158
 
 
134b : 68               [ 4]         pla         ;load status
1625 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
134c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1626 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
134e : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1628 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1351 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
162b : f002             [ 3]>        beq skip1161
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
162d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
162e : 14                   >        db      test_num
 
                            >
 
162f :                      >skip1161
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1353 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
162f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1355 : 48               [ 3]>            pha         ;use stack to load status
1631 : 48               [ 3]>            pha         ;use stack to load status
1356 : 28               [ 4]>            plp
1632 : 28               [ 4]>            plp
 
 
1357 : ac0b02           [ 4]         ldy abs1+3
1633 : ac0b02           [ 4]         ldy abs1+3
135a : 08               [ 3]         php         ;test stores do not alter flags
1636 : 08               [ 3]         php         ;test stores do not alter flags
135b : 98               [ 2]         tya
1637 : 98               [ 2]         tya
135c : 49c3             [ 2]         eor #$c3
1638 : 49c3             [ 2]         eor #$c3
135e : a8               [ 2]         tay
163a : a8               [ 2]         tay
135f : 28               [ 4]         plp
163b : 28               [ 4]         plp
1360 : 840f             [ 3]         sty zpt+3
163c : 84b5             [ 3]         sty zpt+3
1362 : 08               [ 3]         php         ;flags after load/store sequence
163e : 08               [ 3]         php         ;flags after load/store sequence
1363 : 49c3             [ 2]         eor #$c3
163f : 49c3             [ 2]         eor #$c3
1365 : a8               [ 2]         tay
1641 : a8               [ 2]         tay
1366 : c416             [ 3]         cpy zp1+3   ;test result
1642 : c4bc             [ 3]         cpy zp1+3   ;test result
                                     trap_ne
                                     trap_ne
1368 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1644 : f002             [ 3]>        beq skip1165
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1646 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1647 : 14                   >        db      test_num
 
                            >
 
1648 :                      >skip1165
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  161
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
136a : 68               [ 4]         pla         ;load status
 
 
1648 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
136b : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1649 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
136d : cd1002           [ 4]         cmp fLDx+3  ;test flags
164b : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1370 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
164e : f002             [ 3]>        beq skip1168
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1650 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1651 : 14                   >        db      test_num
 
                            >
 
1652 :                      >skip1168
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1372 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1652 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1374 : 48               [ 3]>            pha         ;use stack to load status
1654 : 48               [ 3]>            pha         ;use stack to load status
1375 : 28               [ 4]>            plp
1655 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   98
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
1656 : ac0802           [ 4]         ldy abs1
 
1659 : 08               [ 3]         php         ;test stores do not alter flags
 
165a : 98               [ 2]         tya
 
165b : 49c3             [ 2]         eor #$c3
 
165d : a8               [ 2]         tay
 
165e : 28               [ 4]         plp
 
165f : 84b2             [ 3]         sty zpt
 
1661 : 08               [ 3]         php         ;flags after load/store sequence
 
1662 : 49c3             [ 2]         eor #$c3
 
1664 : a8               [ 2]         tay
 
1665 : c5b9             [ 3]         cmp zp1     ;test result
 
                                     trap_ne
 
1667 : f002             [ 3]>        beq skip1172
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1669 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
166a : 14                   >        db      test_num
 
                            >
 
166b :                      >skip1172
 
 
1376 : ac0802           [ 4]         ldy abs1
166b : 68               [ 4]         pla         ;load status
1379 : 08               [ 3]         php         ;test stores do not alter flags
 
137a : 98               [ 2]         tya
 
137b : 49c3             [ 2]         eor #$c3
 
137d : a8               [ 2]         tay
 
137e : 28               [ 4]         plp
 
137f : 840c             [ 3]         sty zpt
 
1381 : 08               [ 3]         php         ;flags after load/store sequence
 
1382 : 49c3             [ 2]         eor #$c3
 
1384 : a8               [ 2]         tay
 
1385 : c513             [ 3]         cmp zp1     ;test result
 
                                     trap_ne
 
1387 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1389 : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
138a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
166c : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
138c : cd0d02           [ 4]         cmp fLDx    ;test flags
166e : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
138f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1671 : f002             [ 3]>        beq skip1175
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1673 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1674 : 14                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  162
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1675 :                      >skip1175
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1391 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1675 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1393 : 48               [ 3]>            pha         ;use stack to load status
1677 : 48               [ 3]>            pha         ;use stack to load status
1394 : 28               [ 4]>            plp
1678 : 28               [ 4]>            plp
 
 
1395 : ac0902           [ 4]         ldy abs1+1
1679 : ac0902           [ 4]         ldy abs1+1
1398 : 08               [ 3]         php         ;test stores do not alter flags
167c : 08               [ 3]         php         ;test stores do not alter flags
1399 : 98               [ 2]         tya
167d : 98               [ 2]         tya
139a : 49c3             [ 2]         eor #$c3
167e : 49c3             [ 2]         eor #$c3
139c : a8               [ 2]         tay
1680 : a8               [ 2]         tay
139d : 28               [ 4]         plp
1681 : 28               [ 4]         plp
139e : 840d             [ 3]         sty zpt+1
1682 : 84b3             [ 3]         sty zpt+1
13a0 : 08               [ 3]         php         ;flags after load/store sequence
1684 : 08               [ 3]         php         ;flags after load/store sequence
13a1 : 49c3             [ 2]         eor #$c3
1685 : 49c3             [ 2]         eor #$c3
13a3 : a8               [ 2]         tay
1687 : a8               [ 2]         tay
13a4 : c514             [ 3]         cmp zp1+1   ;test result
1688 : c5ba             [ 3]         cmp zp1+1   ;test result
                                     trap_ne
                                     trap_ne
13a6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
168a : f002             [ 3]>        beq skip1179
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
168c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
168d : 14                   >        db      test_num
 
                            >
 
168e :                      >skip1179
 
 
13a8 : 68               [ 4]         pla         ;load status
168e : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
13a9 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
168f : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
13ab : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1691 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
13ae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1694 : f002             [ 3]>        beq skip1182
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1696 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1697 : 14                   >        db      test_num
 
                            >
 
1698 :                      >skip1182
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
13b0 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1698 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page   99
                            >
 
169a : 48               [ 3]>            pha         ;use stack to load status
 
169b : 28               [ 4]>            plp
 
 
 
169c : ac0a02           [ 4]         ldy abs1+2
 
169f : 08               [ 3]         php         ;test stores do not alter flags
 
16a0 : 98               [ 2]         tya
 
16a1 : 49c3             [ 2]         eor #$c3
 
16a3 : a8               [ 2]         tay
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  163
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
16a4 : 28               [ 4]         plp
 
16a5 : 84b4             [ 3]         sty zpt+2
 
16a7 : 08               [ 3]         php         ;flags after load/store sequence
 
16a8 : 49c3             [ 2]         eor #$c3
 
16aa : a8               [ 2]         tay
 
16ab : c5bb             [ 3]         cmp zp1+2   ;test result
 
                                     trap_ne
 
16ad : f002             [ 3]>        beq skip1186
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
16af : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16b0 : 14                   >        db      test_num
                            >
                            >
13b2 : 48               [ 3]>            pha         ;use stack to load status
16b1 :                      >skip1186
13b3 : 28               [ 4]>            plp
 
 
 
13b4 : ac0a02           [ 4]         ldy abs1+2
16b1 : 68               [ 4]         pla         ;load status
13b7 : 08               [ 3]         php         ;test stores do not alter flags
 
13b8 : 98               [ 2]         tya
 
13b9 : 49c3             [ 2]         eor #$c3
 
13bb : a8               [ 2]         tay
 
13bc : 28               [ 4]         plp
 
13bd : 840e             [ 3]         sty zpt+2
 
13bf : 08               [ 3]         php         ;flags after load/store sequence
 
13c0 : 49c3             [ 2]         eor #$c3
 
13c2 : a8               [ 2]         tay
 
13c3 : c515             [ 3]         cmp zp1+2   ;test result
 
                                     trap_ne
 
13c5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
13c7 : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
13c8 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
16b2 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
13ca : cd0f02           [ 4]         cmp fLDx+2  ;test flags
16b4 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
13cd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
16b7 : f002             [ 3]>        beq skip1189
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
16b9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16ba : 14                   >        db      test_num
 
                            >
 
16bb :                      >skip1189
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
13cf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
16bb : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
13d1 : 48               [ 3]>            pha         ;use stack to load status
16bd : 48               [ 3]>            pha         ;use stack to load status
13d2 : 28               [ 4]>            plp
16be : 28               [ 4]>            plp
 
 
 
16bf : ac0b02           [ 4]         ldy abs1+3
 
16c2 : 08               [ 3]         php         ;test stores do not alter flags
 
16c3 : 98               [ 2]         tya
 
16c4 : 49c3             [ 2]         eor #$c3
 
16c6 : a8               [ 2]         tay
 
16c7 : 28               [ 4]         plp
 
16c8 : 84b5             [ 3]         sty zpt+3
 
16ca : 08               [ 3]         php         ;flags after load/store sequence
 
16cb : 49c3             [ 2]         eor #$c3
 
16cd : a8               [ 2]         tay
 
16ce : c5bc             [ 3]         cmp zp1+3   ;test result
 
                                     trap_ne
 
16d0 : f002             [ 3]>        beq skip1193
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
16d2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16d3 : 14                   >        db      test_num
 
                            >
 
16d4 :                      >skip1193
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  164
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
13d3 : ac0b02           [ 4]         ldy abs1+3
 
13d6 : 08               [ 3]         php         ;test stores do not alter flags
 
13d7 : 98               [ 2]         tya
 
13d8 : 49c3             [ 2]         eor #$c3
 
13da : a8               [ 2]         tay
 
13db : 28               [ 4]         plp
 
13dc : 840f             [ 3]         sty zpt+3
 
13de : 08               [ 3]         php         ;flags after load/store sequence
 
13df : 49c3             [ 2]         eor #$c3
 
13e1 : a8               [ 2]         tay
 
13e2 : c516             [ 3]         cmp zp1+3   ;test result
 
                                     trap_ne
 
13e4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
13e6 : 68               [ 4]         pla         ;load status
16d4 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
13e7 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
16d5 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
13e9 : cd1002           [ 4]         cmp fLDx+3  ;test flags
16d7 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
13ec : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
16da : f002             [ 3]>        beq skip1196
 
                            >        trap           ;failed equal (zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  100
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
16dc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16dd : 14                   >        db      test_num
 
                            >
 
16de :                      >skip1196
 
 
 
 
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
13ee : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
16de : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
13f0 : 48               [ 3]>            pha         ;use stack to load status
16e0 : 48               [ 3]>            pha         ;use stack to load status
13f1 : 28               [ 4]>            plp
16e1 : 28               [ 4]>            plp
 
 
13f2 : a0c3             [ 2]         ldy #$c3
16e2 : a0c3             [ 2]         ldy #$c3
13f4 : 08               [ 3]         php
16e4 : 08               [ 3]         php
13f5 : cc0802           [ 4]         cpy abs1    ;test result
16e5 : cc0802           [ 4]         cpy abs1    ;test result
                                     trap_ne
                                     trap_ne
13f8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
16e8 : f002             [ 3]>        beq skip1200
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
16ea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16eb : 14                   >        db      test_num
 
                            >
 
16ec :                      >skip1200
 
 
13fa : 68               [ 4]         pla         ;load status
16ec : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
13fb : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
16ed : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
13fd : cd0d02           [ 4]         cmp fLDx    ;test flags
16ef : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1400 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
16f2 : f002             [ 3]>        beq skip1203
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
16f4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
16f5 : 14                   >        db      test_num
 
                            >
 
16f6 :                      >skip1203
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1402 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
16f6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1404 : 48               [ 3]>            pha         ;use stack to load status
16f8 : 48               [ 3]>            pha         ;use stack to load status
1405 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  165
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1406 : a082             [ 2]         ldy #$82
16f9 : 28               [ 4]>            plp
1408 : 08               [ 3]         php
 
1409 : cc0902           [ 4]         cpy abs1+1  ;test result
16fa : a082             [ 2]         ldy #$82
 
16fc : 08               [ 3]         php
 
16fd : cc0902           [ 4]         cpy abs1+1  ;test result
                                     trap_ne
                                     trap_ne
140c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1700 : f002             [ 3]>        beq skip1207
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1702 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1703 : 14                   >        db      test_num
 
                            >
 
1704 :                      >skip1207
 
 
140e : 68               [ 4]         pla         ;load status
1704 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
140f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1705 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1411 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1707 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
1414 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
170a : f002             [ 3]>        beq skip1210
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
170c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
170d : 14                   >        db      test_num
 
                            >
 
170e :                      >skip1210
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1416 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
170e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1418 : 48               [ 3]>            pha         ;use stack to load status
1710 : 48               [ 3]>            pha         ;use stack to load status
1419 : 28               [ 4]>            plp
1711 : 28               [ 4]>            plp
 
 
141a : a041             [ 2]         ldy #$41
1712 : a041             [ 2]         ldy #$41
141c : 08               [ 3]         php
1714 : 08               [ 3]         php
141d : cc0a02           [ 4]         cpy abs1+2  ;test result
1715 : cc0a02           [ 4]         cpy abs1+2  ;test result
                                     trap_ne
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  101
1718 : f002             [ 3]>        beq skip1214
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1420 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
171a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
171b : 14                   >        db      test_num
 
                            >
 
171c :                      >skip1214
 
 
1422 : 68               [ 4]         pla         ;load status
171c : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1423 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
171d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1425 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
171f : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1428 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1722 : f002             [ 3]>        beq skip1217
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  166
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1724 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1725 : 14                   >        db      test_num
 
                            >
 
1726 :                      >skip1217
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
142a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1726 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
142c : 48               [ 3]>            pha         ;use stack to load status
1728 : 48               [ 3]>            pha         ;use stack to load status
142d : 28               [ 4]>            plp
1729 : 28               [ 4]>            plp
 
 
142e : a000             [ 2]         ldy #0
172a : a000             [ 2]         ldy #0
1430 : 08               [ 3]         php
172c : 08               [ 3]         php
1431 : cc0b02           [ 4]         cpy abs1+3  ;test result
172d : cc0b02           [ 4]         cpy abs1+3  ;test result
                                     trap_ne
                                     trap_ne
1434 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1730 : f002             [ 3]>        beq skip1221
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1732 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1733 : 14                   >        db      test_num
 
                            >
 
1734 :                      >skip1221
 
 
1436 : 68               [ 4]         pla         ;load status
1734 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1437 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1735 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1439 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1737 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
143c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
173a : f002             [ 3]>        beq skip1224
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
173c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
173d : 14                   >        db      test_num
 
                            >
 
173e :                      >skip1224
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
143e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
173e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1440 : 48               [ 3]>            pha         ;use stack to load status
1740 : 48               [ 3]>            pha         ;use stack to load status
1441 : 28               [ 4]>            plp
1741 : 28               [ 4]>            plp
 
 
1442 : a0c3             [ 2]         ldy #$c3
1742 : a0c3             [ 2]         ldy #$c3
1444 : 08               [ 3]         php
1744 : 08               [ 3]         php
1445 : cc0802           [ 4]         cpy abs1    ;test result
1745 : cc0802           [ 4]         cpy abs1    ;test result
                                     trap_ne
                                     trap_ne
1448 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1748 : f002             [ 3]>        beq skip1228
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
174a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  167
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
174b : 14                   >        db      test_num
 
                            >
 
174c :                      >skip1228
 
 
144a : 68               [ 4]         pla         ;load status
174c : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
144b : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
174d : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
144d : cd0d02           [ 4]         cmp fLDx    ;test flags
174f : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1450 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1752 : f002             [ 3]>        beq skip1231
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1754 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1755 : 14                   >        db      test_num
 
                            >
 
1756 :                      >skip1231
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  102
1756 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1452 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
                            >
1454 : 48               [ 3]>            pha         ;use stack to load status
1758 : 48               [ 3]>            pha         ;use stack to load status
1455 : 28               [ 4]>            plp
1759 : 28               [ 4]>            plp
 
 
1456 : a082             [ 2]         ldy #$82
175a : a082             [ 2]         ldy #$82
1458 : 08               [ 3]         php
175c : 08               [ 3]         php
1459 : cc0902           [ 4]         cpy abs1+1  ;test result
175d : cc0902           [ 4]         cpy abs1+1  ;test result
                                     trap_ne
                                     trap_ne
145c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1760 : f002             [ 3]>        beq skip1235
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1762 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1763 : 14                   >        db      test_num
 
                            >
 
1764 :                      >skip1235
 
 
145e : 68               [ 4]         pla         ;load status
1764 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
145f : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1765 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1461 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1767 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
1464 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
176a : f002             [ 3]>        beq skip1238
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
176c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
176d : 14                   >        db      test_num
 
                            >
 
176e :                      >skip1238
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1466 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
176e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1468 : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  168
1469 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
146a : a041             [ 2]         ldy #$41
1770 : 48               [ 3]>            pha         ;use stack to load status
146c : 08               [ 3]         php
1771 : 28               [ 4]>            plp
146d : cc0a02           [ 4]         cpy abs1+2   ;test result
 
                                     trap_ne
1772 : a041             [ 2]         ldy #$41
1470 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1774 : 08               [ 3]         php
 
1775 : cc0a02           [ 4]         cpy abs1+2   ;test result
 
                                     trap_ne
 
1778 : f002             [ 3]>        beq skip1242
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
177a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
177b : 14                   >        db      test_num
 
                            >
 
177c :                      >skip1242
 
 
1472 : 68               [ 4]         pla         ;load status
177c : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1473 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
177d : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1475 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
177f : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1478 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1782 : f002             [ 3]>        beq skip1245
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1784 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1785 : 14                   >        db      test_num
 
                            >
 
1786 :                      >skip1245
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
147a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1786 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
147c : 48               [ 3]>            pha         ;use stack to load status
1788 : 48               [ 3]>            pha         ;use stack to load status
147d : 28               [ 4]>            plp
1789 : 28               [ 4]>            plp
 
 
147e : a000             [ 2]         ldy #0
178a : a000             [ 2]         ldy #0
1480 : 08               [ 3]         php
178c : 08               [ 3]         php
1481 : cc0b02           [ 4]         cpy abs1+3  ;test result
178d : cc0b02           [ 4]         cpy abs1+3  ;test result
                                     trap_ne
                                     trap_ne
1484 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1790 : f002             [ 3]>        beq skip1249
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1792 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1793 : 14                   >        db      test_num
 
                            >
 
1794 :                      >skip1249
 
 
1486 : 68               [ 4]         pla         ;load status
1794 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  103
1795 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1487 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1797 : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
 
1489 : cd1002           [ 4]         cmp fLDx+3  ;test flags
 
                                     trap_ne
                                     trap_ne
148c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
179a : f002             [ 3]>        beq skip1252
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  169
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
179c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
179d : 14                   >        db      test_num
 
                            >
 
179e :                      >skip1252
 
 
148e : a000             [ 2]         ldy #0
 
1490 : a50c             [ 3]         lda zpt
 
1492 : 49c3             [ 2]         eor #$c3
 
1494 : c513             [ 3]         cmp zp1
 
                                     trap_ne     ;store to zp   data
 
1496 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1498 : 840c             [ 3]         sty zpt     ;clear
179e : a000             [ 2]         ldy #0
149a : ad0302           [ 4]         lda abst
17a0 : a5b2             [ 3]         lda zpt
149d : 49c3             [ 2]         eor #$c3
17a2 : 49c3             [ 2]         eor #$c3
149f : cd0802           [ 4]         cmp abs1
17a4 : c5b9             [ 3]         cmp zp1
 
                                     trap_ne     ;store to zp   data
 
17a6 : f002             [ 3]>        beq skip1254
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
17a8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
17a9 : 14                   >        db      test_num
 
                            >
 
17aa :                      >skip1254
 
 
 
17aa : 84b2             [ 3]         sty zpt     ;clear
 
17ac : ad0302           [ 4]         lda abst
 
17af : 49c3             [ 2]         eor #$c3
 
17b1 : cd0802           [ 4]         cmp abs1
                                     trap_ne     ;store to abs   data
                                     trap_ne     ;store to abs   data
14a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17b4 : f002             [ 3]>        beq skip1256
 
                            >        trap           ;failed equal (zero)
14a4 : 8c0302           [ 4]         sty abst    ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
14a7 : a50d             [ 3]         lda zpt+1
17b6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
14a9 : 49c3             [ 2]         eor #$c3
17b7 : 14                   >        db      test_num
14ab : c514             [ 3]         cmp zp1+1
                            >
 
17b8 :                      >skip1256
 
 
 
17b8 : 8c0302           [ 4]         sty abst    ;clear
 
17bb : a5b3             [ 3]         lda zpt+1
 
17bd : 49c3             [ 2]         eor #$c3
 
17bf : c5ba             [ 3]         cmp zp1+1
                                     trap_ne     ;store to zp+1 data
                                     trap_ne     ;store to zp+1 data
14ad : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17c1 : f002             [ 3]>        beq skip1258
 
                            >        trap           ;failed equal (zero)
14af : 840d             [ 3]         sty zpt+1   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
14b1 : ad0402           [ 4]         lda abst+1
17c3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
14b4 : 49c3             [ 2]         eor #$c3
17c4 : 14                   >        db      test_num
14b6 : cd0902           [ 4]         cmp abs1+1
                            >
 
17c5 :                      >skip1258
 
 
 
17c5 : 84b3             [ 3]         sty zpt+1   ;clear
 
17c7 : ad0402           [ 4]         lda abst+1
 
17ca : 49c3             [ 2]         eor #$c3
 
17cc : cd0902           [ 4]         cmp abs1+1
                                     trap_ne     ;store to abs+1 data
                                     trap_ne     ;store to abs+1 data
14b9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17cf : f002             [ 3]>        beq skip1260
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  170
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
17d1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
17d2 : 14                   >        db      test_num
 
                            >
 
17d3 :                      >skip1260
 
 
14bb : 8c0402           [ 4]         sty abst+1  ;clear
17d3 : 8c0402           [ 4]         sty abst+1  ;clear
14be : a50e             [ 3]         lda zpt+2
17d6 : a5b4             [ 3]         lda zpt+2
14c0 : 49c3             [ 2]         eor #$c3
17d8 : 49c3             [ 2]         eor #$c3
14c2 : c515             [ 3]         cmp zp1+2
17da : c5bb             [ 3]         cmp zp1+2
                                     trap_ne     ;store to zp+2 data
                                     trap_ne     ;store to zp+2 data
14c4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17dc : f002             [ 3]>        beq skip1262
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
17de : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
17df : 14                   >        db      test_num
 
                            >
 
17e0 :                      >skip1262
 
 
14c6 : 840e             [ 3]         sty zpt+2   ;clear
17e0 : 84b4             [ 3]         sty zpt+2   ;clear
14c8 : ad0502           [ 4]         lda abst+2
17e2 : ad0502           [ 4]         lda abst+2
14cb : 49c3             [ 2]         eor #$c3
17e5 : 49c3             [ 2]         eor #$c3
14cd : cd0a02           [ 4]         cmp abs1+2
17e7 : cd0a02           [ 4]         cmp abs1+2
                                     trap_ne     ;store to abs+2 data
                                     trap_ne     ;store to abs+2 data
14d0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17ea : f002             [ 3]>        beq skip1264
 
                            >        trap           ;failed equal (zero)
14d2 : 8c0502           [ 4]         sty abst+2  ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
14d5 : a50f             [ 3]         lda zpt+3
17ec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
14d7 : 49c3             [ 2]         eor #$c3
17ed : 14                   >        db      test_num
14d9 : c516             [ 3]         cmp zp1+3
                            >
 
17ee :                      >skip1264
 
 
 
17ee : 8c0502           [ 4]         sty abst+2  ;clear
 
17f1 : a5b5             [ 3]         lda zpt+3
 
17f3 : 49c3             [ 2]         eor #$c3
 
17f5 : c5bc             [ 3]         cmp zp1+3
                                     trap_ne     ;store to zp+3 data
                                     trap_ne     ;store to zp+3 data
14db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
17f7 : f002             [ 3]>        beq skip1266
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  104
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
17f9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
17fa : 14                   >        db      test_num
 
                            >
 
17fb :                      >skip1266
 
 
 
17fb : 84b5             [ 3]         sty zpt+3   ;clear
 
17fd : ad0602           [ 4]         lda abst+3
 
1800 : 49c3             [ 2]         eor #$c3
 
1802 : cd0b02           [ 4]         cmp abs1+3
 
                                     trap_ne     ;store to abs+3 data
 
1805 : f002             [ 3]>        beq skip1268
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1807 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1808 : 14                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  171
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1809 :                      >skip1268
 
 
14dd : 840f             [ 3]         sty zpt+3   ;clear
1809 : 8c0602           [ 4]         sty abst+3  ;clear
14df : ad0602           [ 4]         lda abst+3
 
14e2 : 49c3             [ 2]         eor #$c3
 
14e4 : cd0b02           [ 4]         cmp abs1+3
 
                                     trap_ne     ;store to abs+3 data
 
14e7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
14e9 : 8c0602           [ 4]         sty abst+3  ;clear
 
                                     next_test
                                     next_test
14ec : ad0002           [ 4]>            lda test_case   ;previous test
180c : ad0002           [ 4]>            lda test_case   ;previous test
14ef : c914             [ 2]>            cmp #test_num
180f : c914             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
14f1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1811 : f002             [ 3]>        beq skip1271
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1813 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1814 : 14                   >        db      test_num
 
                            >
 
1815 :                      >skip1271
                            >
                            >
0015 =                      >test_num = test_num + 1
0015 =                      >test_num = test_num + 1
14f3 : a915             [ 2]>            lda #test_num   ;*** this tests' number
1815 : a915             [ 2]>            lda #test_num   ;*** this tests' number
14f5 : 8d0002           [ 4]>            sta test_case
1817 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing load / store accumulator LDA / STA all addressing modes
                             ; testing load / store accumulator LDA / STA all addressing modes
                             ; LDA / STA - zp,x / abs,x
                             ; LDA / STA - zp,x / abs,x
14f8 : a203             [ 2]         ldx #3
 
14fa :                       tldax
181a : a203             [ 2]         ldx #3
 
181c :                       tldax
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
14fa : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
181c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
14fc : 48               [ 3]>            pha         ;use stack to load status
181e : 48               [ 3]>            pha         ;use stack to load status
14fd : 28               [ 4]>            plp
181f : 28               [ 4]>            plp
 
 
14fe : b513             [ 4]         lda zp1,x
1820 : b5b9             [ 4]         lda zp1,x
1500 : 08               [ 3]         php         ;test stores do not alter flags
1822 : 08               [ 3]         php         ;test stores do not alter flags
1501 : 49c3             [ 2]         eor #$c3
1823 : 49c3             [ 2]         eor #$c3
1503 : 28               [ 4]         plp
1825 : 28               [ 4]         plp
1504 : 9d0302           [ 5]         sta abst,x
1826 : 9d0302           [ 5]         sta abst,x
1507 : 08               [ 3]         php         ;flags after load/store sequence
1829 : 08               [ 3]         php         ;flags after load/store sequence
1508 : 49c3             [ 2]         eor #$c3
182a : 49c3             [ 2]         eor #$c3
150a : dd0802           [ 4]         cmp abs1,x  ;test result
182c : dd0802           [ 4]         cmp abs1,x  ;test result
                                     trap_ne
                                     trap_ne
150d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
182f : f002             [ 3]>        beq skip1275
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1831 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1832 : 15                   >        db      test_num
 
                            >
 
1833 :                      >skip1275
 
 
150f : 68               [ 4]         pla         ;load status
1833 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1510 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1834 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1512 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
1836 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  172
1515 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1517 : ca               [ 2]         dex
                                     trap_ne
1518 : 10e0             [ 4]         bpl tldax
1839 : f002             [ 3]>        beq skip1278
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
183b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
183c : 15                   >        db      test_num
 
                            >
 
183d :                      >skip1278
 
 
151a : a203             [ 2]         ldx #3
183d : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  105
183e : 10dc             [ 3]         bpl tldax
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
151c :                       tldax1
1840 : a203             [ 2]         ldx #3
 
1842 :                       tldax1
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
151c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1842 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
151e : 48               [ 3]>            pha         ;use stack to load status
1844 : 48               [ 3]>            pha         ;use stack to load status
151f : 28               [ 4]>            plp
1845 : 28               [ 4]>            plp
 
 
1520 : b513             [ 4]         lda zp1,x
1846 : b5b9             [ 4]         lda zp1,x
1522 : 08               [ 3]         php         ;test stores do not alter flags
1848 : 08               [ 3]         php         ;test stores do not alter flags
1523 : 49c3             [ 2]         eor #$c3
1849 : 49c3             [ 2]         eor #$c3
1525 : 28               [ 4]         plp
184b : 28               [ 4]         plp
1526 : 9d0302           [ 5]         sta abst,x
184c : 9d0302           [ 5]         sta abst,x
1529 : 08               [ 3]         php         ;flags after load/store sequence
184f : 08               [ 3]         php         ;flags after load/store sequence
152a : 49c3             [ 2]         eor #$c3
1850 : 49c3             [ 2]         eor #$c3
152c : dd0802           [ 4]         cmp abs1,x   ;test result
1852 : dd0802           [ 4]         cmp abs1,x   ;test result
                                     trap_ne
                                     trap_ne
152f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1855 : f002             [ 3]>        beq skip1282
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1857 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1858 : 15                   >        db      test_num
 
                            >
 
1859 :                      >skip1282
 
 
1531 : 68               [ 4]         pla         ;load status
1859 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1532 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
185a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1534 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
185c : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
1537 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
185f : f002             [ 3]>        beq skip1285
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1861 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1862 : 15                   >        db      test_num
 
                            >
 
1863 :                      >skip1285
 
 
1539 : ca               [ 2]         dex
1863 : ca               [ 2]         dex
153a : 10e0             [ 3]         bpl tldax1
1864 : 10dc             [ 3]         bpl tldax1
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  173
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
153c : a203             [ 2]         ldx #3
1866 : a203             [ 2]         ldx #3
153e :                       tldax2
1868 :                       tldax2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
153e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1868 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1540 : 48               [ 3]>            pha         ;use stack to load status
186a : 48               [ 3]>            pha         ;use stack to load status
1541 : 28               [ 4]>            plp
186b : 28               [ 4]>            plp
 
 
1542 : bd0802           [ 4]         lda abs1,x
186c : bd0802           [ 4]         lda abs1,x
1545 : 08               [ 3]         php         ;test stores do not alter flags
186f : 08               [ 3]         php         ;test stores do not alter flags
1546 : 49c3             [ 2]         eor #$c3
1870 : 49c3             [ 2]         eor #$c3
1548 : 28               [ 4]         plp
1872 : 28               [ 4]         plp
1549 : 950c             [ 4]         sta zpt,x
1873 : 95b2             [ 4]         sta zpt,x
154b : 08               [ 3]         php         ;flags after load/store sequence
1875 : 08               [ 3]         php         ;flags after load/store sequence
154c : 49c3             [ 2]         eor #$c3
1876 : 49c3             [ 2]         eor #$c3
154e : d513             [ 4]         cmp zp1,x   ;test result
1878 : d5b9             [ 4]         cmp zp1,x   ;test result
                                     trap_ne
                                     trap_ne
1550 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
187a : f002             [ 3]>        beq skip1289
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
187c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
187d : 15                   >        db      test_num
 
                            >
 
187e :                      >skip1289
 
 
1552 : 68               [ 4]         pla         ;load status
187e : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1553 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
187f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1555 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  106
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
1881 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
1558 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1884 : f002             [ 3]>        beq skip1292
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1886 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1887 : 15                   >        db      test_num
 
                            >
 
1888 :                      >skip1292
 
 
155a : ca               [ 2]         dex
1888 : ca               [ 2]         dex
155b : 10e1             [ 3]         bpl tldax2
1889 : 10dd             [ 3]         bpl tldax2
 
 
155d : a203             [ 2]         ldx #3
188b : a203             [ 2]         ldx #3
155f :                       tldax3
188d :                       tldax3
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
155f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
188d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1561 : 48               [ 3]>            pha         ;use stack to load status
188f : 48               [ 3]>            pha         ;use stack to load status
1562 : 28               [ 4]>            plp
1890 : 28               [ 4]>            plp
 
 
1563 : bd0802           [ 4]         lda abs1,x
1891 : bd0802           [ 4]         lda abs1,x
1566 : 08               [ 3]         php         ;test stores do not alter flags
1894 : 08               [ 3]         php         ;test stores do not alter flags
1567 : 49c3             [ 2]         eor #$c3
1895 : 49c3             [ 2]         eor #$c3
1569 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  174
156a : 950c             [ 4]         sta zpt,x
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
156c : 08               [ 3]         php         ;flags after load/store sequence
 
156d : 49c3             [ 2]         eor #$c3
 
156f : d513             [ 4]         cmp zp1,x   ;test result
 
                                     trap_ne
 
1571 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1573 : 68               [ 4]         pla         ;load status
1897 : 28               [ 4]         plp
 
1898 : 95b2             [ 4]         sta zpt,x
 
189a : 08               [ 3]         php         ;flags after load/store sequence
 
189b : 49c3             [ 2]         eor #$c3
 
189d : d5b9             [ 4]         cmp zp1,x   ;test result
 
                                     trap_ne
 
189f : f002             [ 3]>        beq skip1296
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
18a1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
18a2 : 15                   >        db      test_num
 
                            >
 
18a3 :                      >skip1296
 
 
 
18a3 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1574 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
18a4 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1576 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
18a6 : dd0d02           [ 4]         cmp fLDx,x  ;test flags
                                     trap_ne
                                     trap_ne
1579 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
18a9 : f002             [ 3]>        beq skip1299
 
                            >        trap           ;failed equal (zero)
157b : ca               [ 2]         dex
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
157c : 10e1             [ 3]         bpl tldax3
18ab : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
18ac : 15                   >        db      test_num
157e : a203             [ 2]         ldx #3      ;testing store result
                            >
1580 : a000             [ 2]         ldy #0
18ad :                      >skip1299
1582 : b50c             [ 4] tstax   lda zpt,x
 
1584 : 49c3             [ 2]         eor #$c3
18ad : ca               [ 2]         dex
1586 : d513             [ 4]         cmp zp1,x
18ae : 10dd             [ 3]         bpl tldax3
 
 
 
18b0 : a203             [ 2]         ldx #3      ;testing store result
 
18b2 : a000             [ 2]         ldy #0
 
18b4 : b5b2             [ 4] tstax   lda zpt,x
 
18b6 : 49c3             [ 2]         eor #$c3
 
18b8 : d5b9             [ 4]         cmp zp1,x
                                     trap_ne     ;store to zp,x data
                                     trap_ne     ;store to zp,x data
1588 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
18ba : f002             [ 3]>        beq skip1301
 
                            >        trap           ;failed equal (zero)
158a : 940c             [ 4]         sty zpt,x   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
158c : bd0302           [ 4]         lda abst,x
18bc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
158f : 49c3             [ 2]         eor #$c3
18bd : 15                   >        db      test_num
1591 : dd0802           [ 4]         cmp abs1,x
                            >
 
18be :                      >skip1301
 
 
 
18be : 94b2             [ 4]         sty zpt,x   ;clear
 
18c0 : bd0302           [ 4]         lda abst,x
 
18c3 : 49c3             [ 2]         eor #$c3
 
18c5 : dd0802           [ 4]         cmp abs1,x
                                     trap_ne     ;store to abs,x data
                                     trap_ne     ;store to abs,x data
1594 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
18c8 : f002             [ 3]>        beq skip1303
 
                            >        trap           ;failed equal (zero)
1596 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1597 : 9d0302           [ 5]         sta abst,x  ;clear
18ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
159a : ca               [ 2]         dex
18cb : 15                   >        db      test_num
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  107
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  175
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
159b : 10e5             [ 3]         bpl tstax
                            >
 
18cc :                      >skip1303
 
 
 
18cc : 8a               [ 2]         txa
 
18cd : 9d0302           [ 5]         sta abst,x  ;clear
 
18d0 : ca               [ 2]         dex
 
18d1 : 10e1             [ 3]         bpl tstax
                                     next_test
                                     next_test
159d : ad0002           [ 4]>            lda test_case   ;previous test
18d3 : ad0002           [ 4]>            lda test_case   ;previous test
15a0 : c915             [ 2]>            cmp #test_num
18d6 : c915             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
15a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
18d8 : f002             [ 3]>        beq skip1306
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
18da : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
18db : 15                   >        db      test_num
 
                            >
 
18dc :                      >skip1306
                            >
                            >
0016 =                      >test_num = test_num + 1
0016 =                      >test_num = test_num + 1
15a4 : a916             [ 2]>            lda #test_num   ;*** this tests' number
18dc : a916             [ 2]>            lda #test_num   ;*** this tests' number
15a6 : 8d0002           [ 4]>            sta test_case
18de : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; LDA / STA - (zp),y / abs,y / (zp,x)
                             ; LDA / STA - (zp),y / abs,y / (zp,x)
15a9 : a003             [ 2]         ldy #3
 
15ab :                       tlday
18e1 : a003             [ 2]         ldy #3
 
18e3 :                       tlday
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
15ab : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
18e3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
15ad : 48               [ 3]>            pha         ;use stack to load status
18e5 : 48               [ 3]>            pha         ;use stack to load status
15ae : 28               [ 4]>            plp
18e6 : 28               [ 4]>            plp
 
 
15af : b124             [ 5]         lda (ind1),y
18e7 : b1ca             [ 5]         lda (ind1),y
15b1 : 08               [ 3]         php         ;test stores do not alter flags
18e9 : 08               [ 3]         php         ;test stores do not alter flags
15b2 : 49c3             [ 2]         eor #$c3
18ea : 49c3             [ 2]         eor #$c3
15b4 : 28               [ 4]         plp
18ec : 28               [ 4]         plp
15b5 : 990302           [ 5]         sta abst,y
18ed : 990302           [ 5]         sta abst,y
15b8 : 08               [ 3]         php         ;flags after load/store sequence
18f0 : 08               [ 3]         php         ;flags after load/store sequence
15b9 : 49c3             [ 2]         eor #$c3
18f1 : 49c3             [ 2]         eor #$c3
15bb : d90802           [ 4]         cmp abs1,y  ;test result
18f3 : d90802           [ 4]         cmp abs1,y  ;test result
                                     trap_ne
                                     trap_ne
15be : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
18f6 : f002             [ 3]>        beq skip1310
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
18f8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
18f9 : 16                   >        db      test_num
 
                            >
 
18fa :                      >skip1310
 
 
15c0 : 68               [ 4]         pla         ;load status
18fa : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
15c1 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  176
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
15c3 : d90d02           [ 4]         cmp fLDx,y  ;test flags
18fb : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
 
18fd : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
15c6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1900 : f002             [ 3]>        beq skip1313
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1902 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1903 : 16                   >        db      test_num
 
                            >
 
1904 :                      >skip1313
 
 
15c8 : 88               [ 2]         dey
1904 : 88               [ 2]         dey
15c9 : 10e0             [ 3]         bpl tlday
1905 : 10dc             [ 4]         bpl tlday
 
 
15cb : a003             [ 2]         ldy #3
1907 : a003             [ 2]         ldy #3
15cd :                       tlday1
1909 :                       tlday1
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
15cd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1909 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
15cf : 48               [ 3]>            pha         ;use stack to load status
190b : 48               [ 3]>            pha         ;use stack to load status
15d0 : 28               [ 4]>            plp
190c : 28               [ 4]>            plp
 
 
15d1 : b124             [ 5]         lda (ind1),y
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  108
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
15d3 : 08               [ 3]         php         ;test stores do not alter flags
190d : b1ca             [ 5]         lda (ind1),y
15d4 : 49c3             [ 2]         eor #$c3
190f : 08               [ 3]         php         ;test stores do not alter flags
15d6 : 28               [ 4]         plp
1910 : 49c3             [ 2]         eor #$c3
15d7 : 990302           [ 5]         sta abst,y
1912 : 28               [ 4]         plp
15da : 08               [ 3]         php         ;flags after load/store sequence
1913 : 990302           [ 5]         sta abst,y
15db : 49c3             [ 2]         eor #$c3
1916 : 08               [ 3]         php         ;flags after load/store sequence
15dd : d90802           [ 4]         cmp abs1,y  ;test result
1917 : 49c3             [ 2]         eor #$c3
                                     trap_ne
1919 : d90802           [ 4]         cmp abs1,y  ;test result
15e0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                                     trap_ne
 
191c : f002             [ 3]>        beq skip1317
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
191e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
191f : 16                   >        db      test_num
 
                            >
 
1920 :                      >skip1317
 
 
15e2 : 68               [ 4]         pla         ;load status
1920 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
15e3 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1921 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
15e5 : d90d02           [ 4]         cmp fLDx,y  ;test flags
1923 : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
15e8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1926 : f002             [ 3]>        beq skip1320
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1928 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1929 : 16                   >        db      test_num
 
                            >
 
192a :                      >skip1320
 
 
15ea : 88               [ 2]         dey
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  177
15eb : 10e0             [ 3]         bpl tlday1
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
15ed : a003             [ 2]         ldy #3      ;testing store result
192a : 88               [ 2]         dey
15ef : a200             [ 2]         ldx #0
192b : 10dc             [ 3]         bpl tlday1
15f1 : b90302           [ 4] tstay   lda abst,y
 
15f4 : 49c3             [ 2]         eor #$c3
 
15f6 : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
15f9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
15fb : 8a               [ 2]         txa
192d : a003             [ 2]         ldy #3      ;testing store result
15fc : 990302           [ 5]         sta abst,y  ;clear
192f : a200             [ 2]         ldx #0
15ff : 88               [ 2]         dey
1931 : b90302           [ 4] tstay   lda abst,y
1600 : 10ef             [ 4]         bpl tstay
1934 : 49c3             [ 2]         eor #$c3
 
1936 : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
1939 : f002             [ 3]>        beq skip1322
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
193b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
193c : 16                   >        db      test_num
 
                            >
 
193d :                      >skip1322
 
 
 
193d : 8a               [ 2]         txa
 
193e : 990302           [ 5]         sta abst,y  ;clear
 
1941 : 88               [ 2]         dey
 
1942 : 10ed             [ 3]         bpl tstay
 
 
1602 : a003             [ 2]         ldy #3
1944 : a003             [ 2]         ldy #3
1604 :                       tlday2
1946 :                       tlday2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1604 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1946 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1606 : 48               [ 3]>            pha         ;use stack to load status
1948 : 48               [ 3]>            pha         ;use stack to load status
1607 : 28               [ 4]>            plp
1949 : 28               [ 4]>            plp
 
 
1608 : b90802           [ 4]         lda abs1,y
194a : b90802           [ 4]         lda abs1,y
160b : 08               [ 3]         php         ;test stores do not alter flags
194d : 08               [ 3]         php         ;test stores do not alter flags
160c : 49c3             [ 2]         eor #$c3
194e : 49c3             [ 2]         eor #$c3
160e : 28               [ 4]         plp
1950 : 28               [ 4]         plp
160f : 9130             [ 5]         sta (indt),y
1951 : 91d6             [ 5]         sta (indt),y
1611 : 08               [ 3]         php         ;flags after load/store sequence
1953 : 08               [ 3]         php         ;flags after load/store sequence
1612 : 49c3             [ 2]         eor #$c3
1954 : 49c3             [ 2]         eor #$c3
1614 : d124             [ 5]         cmp (ind1),y    ;test result
1956 : d1ca             [ 5]         cmp (ind1),y    ;test result
                                     trap_ne
                                     trap_ne
1616 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1958 : f002             [ 3]>        beq skip1326
 
                            >        trap           ;failed equal (zero)
1618 : 68               [ 4]         pla         ;load status
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  109
195a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
195b : 16                   >        db      test_num
 
                            >
 
195c :                      >skip1326
 
 
 
195c : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1619 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
195d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
161b : d90d02           [ 4]         cmp fLDx,y  ;test flags
195f : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
161e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1962 : f002             [ 3]>        beq skip1329
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  178
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1964 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1965 : 16                   >        db      test_num
 
                            >
 
1966 :                      >skip1329
 
 
1620 : 88               [ 2]         dey
1966 : 88               [ 2]         dey
1621 : 10e1             [ 3]         bpl tlday2
1967 : 10dd             [ 3]         bpl tlday2
 
 
1623 : a003             [ 2]         ldy #3
1969 : a003             [ 2]         ldy #3
1625 :                       tlday3
196b :                       tlday3
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1625 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
196b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1627 : 48               [ 3]>            pha         ;use stack to load status
196d : 48               [ 3]>            pha         ;use stack to load status
1628 : 28               [ 4]>            plp
196e : 28               [ 4]>            plp
 
 
1629 : b90802           [ 4]         lda abs1,y
196f : b90802           [ 4]         lda abs1,y
162c : 08               [ 3]         php         ;test stores do not alter flags
1972 : 08               [ 3]         php         ;test stores do not alter flags
162d : 49c3             [ 2]         eor #$c3
1973 : 49c3             [ 2]         eor #$c3
162f : 28               [ 4]         plp
1975 : 28               [ 4]         plp
1630 : 9130             [ 5]         sta (indt),y
1976 : 91d6             [ 5]         sta (indt),y
1632 : 08               [ 3]         php         ;flags after load/store sequence
1978 : 08               [ 3]         php         ;flags after load/store sequence
1633 : 49c3             [ 2]         eor #$c3
1979 : 49c3             [ 2]         eor #$c3
1635 : d124             [ 5]         cmp (ind1),y   ;test result
197b : d1ca             [ 5]         cmp (ind1),y   ;test result
                                     trap_ne
                                     trap_ne
1637 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
197d : f002             [ 3]>        beq skip1333
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
197f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1980 : 16                   >        db      test_num
 
                            >
 
1981 :                      >skip1333
 
 
1639 : 68               [ 4]         pla         ;load status
1981 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
163a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1982 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
163c : d90d02           [ 4]         cmp fLDx,y  ;test flags
1984 : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
163f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1987 : f002             [ 3]>        beq skip1336
 
                            >        trap           ;failed equal (zero)
1641 : 88               [ 2]         dey
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1642 : 10e1             [ 3]         bpl tlday3
1989 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
198a : 16                   >        db      test_num
1644 : a003             [ 2]         ldy #3      ;testing store result
                            >
1646 : a200             [ 2]         ldx #0
198b :                      >skip1336
1648 : b90302           [ 4] tstay1  lda abst,y
 
164b : 49c3             [ 2]         eor #$c3
 
164d : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
1650 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1652 : 8a               [ 2]         txa
198b : 88               [ 2]         dey
1653 : 990302           [ 5]         sta abst,y  ;clear
198c : 10dd             [ 3]         bpl tlday3
1656 : 88               [ 2]         dey
 
1657 : 10ef             [ 3]         bpl tstay1
 
 
 
1659 : a206             [ 2]         ldx #6
198e : a003             [ 2]         ldy #3      ;testing store result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  110
1990 : a200             [ 2]         ldx #0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  179
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
165b : a003             [ 2]         ldy #3
1992 : b90302           [ 4] tstay1  lda abst,y
165d :                       tldax4
1995 : 49c3             [ 2]         eor #$c3
 
1997 : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
199a : f002             [ 3]>        beq skip1338
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
199c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
199d : 16                   >        db      test_num
 
                            >
 
199e :                      >skip1338
 
 
 
199e : 8a               [ 2]         txa
 
199f : 990302           [ 5]         sta abst,y  ;clear
 
19a2 : 88               [ 2]         dey
 
19a3 : 10ed             [ 3]         bpl tstay1
 
 
 
19a5 : a206             [ 2]         ldx #6
 
19a7 : a003             [ 2]         ldy #3
 
19a9 :                       tldax4
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
165d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
19a9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
165f : 48               [ 3]>            pha         ;use stack to load status
19ab : 48               [ 3]>            pha         ;use stack to load status
1660 : 28               [ 4]>            plp
19ac : 28               [ 4]>            plp
 
 
1661 : a124             [ 6]         lda (ind1,x)
19ad : a1ca             [ 6]         lda (ind1,x)
1663 : 08               [ 3]         php         ;test stores do not alter flags
19af : 08               [ 3]         php         ;test stores do not alter flags
1664 : 49c3             [ 2]         eor #$c3
19b0 : 49c3             [ 2]         eor #$c3
1666 : 28               [ 4]         plp
19b2 : 28               [ 4]         plp
1667 : 8130             [ 6]         sta (indt,x)
19b3 : 81d6             [ 6]         sta (indt,x)
1669 : 08               [ 3]         php         ;flags after load/store sequence
19b5 : 08               [ 3]         php         ;flags after load/store sequence
166a : 49c3             [ 2]         eor #$c3
19b6 : 49c3             [ 2]         eor #$c3
166c : d90802           [ 4]         cmp abs1,y  ;test result
19b8 : d90802           [ 4]         cmp abs1,y  ;test result
                                     trap_ne
                                     trap_ne
166f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
19bb : f002             [ 3]>        beq skip1342
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
19bd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
19be : 16                   >        db      test_num
 
                            >
 
19bf :                      >skip1342
 
 
1671 : 68               [ 4]         pla         ;load status
19bf : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1672 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
19c0 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1674 : d90d02           [ 4]         cmp fLDx,y  ;test flags
19c2 : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
1677 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
19c5 : f002             [ 3]>        beq skip1345
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
19c7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
19c8 : 16                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  180
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1679 : ca               [ 2]         dex
                            >
167a : ca               [ 2]         dex
19c9 :                      >skip1345
167b : 88               [ 2]         dey
 
167c : 10df             [ 3]         bpl tldax4
 
 
 
167e : a206             [ 2]         ldx #6
19c9 : ca               [ 2]         dex
1680 : a003             [ 2]         ldy #3
19ca : ca               [ 2]         dex
1682 :                       tldax5
19cb : 88               [ 2]         dey
 
19cc : 10db             [ 3]         bpl tldax4
 
 
 
19ce : a206             [ 2]         ldx #6
 
19d0 : a003             [ 2]         ldy #3
 
19d2 :                       tldax5
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1682 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
19d2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1684 : 48               [ 3]>            pha         ;use stack to load status
19d4 : 48               [ 3]>            pha         ;use stack to load status
1685 : 28               [ 4]>            plp
19d5 : 28               [ 4]>            plp
 
 
1686 : a124             [ 6]         lda (ind1,x)
19d6 : a1ca             [ 6]         lda (ind1,x)
1688 : 08               [ 3]         php         ;test stores do not alter flags
19d8 : 08               [ 3]         php         ;test stores do not alter flags
1689 : 49c3             [ 2]         eor #$c3
19d9 : 49c3             [ 2]         eor #$c3
168b : 28               [ 4]         plp
19db : 28               [ 4]         plp
168c : 8130             [ 6]         sta (indt,x)
19dc : 81d6             [ 6]         sta (indt,x)
168e : 08               [ 3]         php         ;flags after load/store sequence
19de : 08               [ 3]         php         ;flags after load/store sequence
168f : 49c3             [ 2]         eor #$c3
19df : 49c3             [ 2]         eor #$c3
1691 : d90802           [ 4]         cmp abs1,y  ;test result
19e1 : d90802           [ 4]         cmp abs1,y  ;test result
                                     trap_ne
                                     trap_ne
1694 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
19e4 : f002             [ 3]>        beq skip1349
 
                            >        trap           ;failed equal (zero)
1696 : 68               [ 4]         pla         ;load status
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  111
19e6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
19e7 : 16                   >        db      test_num
 
                            >
 
19e8 :                      >skip1349
 
 
 
19e8 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1697 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
19e9 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1699 : d90d02           [ 4]         cmp fLDx,y  ;test flags
19eb : d90d02           [ 4]         cmp fLDx,y  ;test flags
                                     trap_ne
                                     trap_ne
169c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
19ee : f002             [ 3]>        beq skip1352
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
19f0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
19f1 : 16                   >        db      test_num
 
                            >
 
19f2 :                      >skip1352
 
 
169e : ca               [ 2]         dex
19f2 : ca               [ 2]         dex
169f : ca               [ 2]         dex
19f3 : ca               [ 2]         dex
16a0 : 88               [ 2]         dey
19f4 : 88               [ 2]         dey
16a1 : 10df             [ 3]         bpl tldax5
19f5 : 10db             [ 3]         bpl tldax5
 
 
16a3 : a003             [ 2]         ldy #3      ;testing store result
19f7 : a003             [ 2]         ldy #3      ;testing store result
16a5 : a200             [ 2]         ldx #0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  181
16a7 : b90302           [ 4] tstay2  lda abst,y
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
16aa : 49c3             [ 2]         eor #$c3
 
16ac : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
16af : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
16b1 : 8a               [ 2]         txa
19f9 : a200             [ 2]         ldx #0
16b2 : 990302           [ 5]         sta abst,y  ;clear
19fb : b90302           [ 4] tstay2  lda abst,y
16b5 : 88               [ 2]         dey
19fe : 49c3             [ 2]         eor #$c3
16b6 : 10ef             [ 3]         bpl tstay2
1a00 : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
1a03 : f002             [ 3]>        beq skip1354
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1a05 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1a06 : 16                   >        db      test_num
 
                            >
 
1a07 :                      >skip1354
 
 
 
1a07 : 8a               [ 2]         txa
 
1a08 : 990302           [ 5]         sta abst,y  ;clear
 
1a0b : 88               [ 2]         dey
 
1a0c : 10ed             [ 4]         bpl tstay2
                                     next_test
                                     next_test
16b8 : ad0002           [ 4]>            lda test_case   ;previous test
1a0e : ad0002           [ 4]>            lda test_case   ;previous test
16bb : c916             [ 2]>            cmp #test_num
1a11 : c916             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
16bd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a13 : f002             [ 3]>        beq skip1357
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1a15 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1a16 : 16                   >        db      test_num
 
                            >
 
1a17 :                      >skip1357
                            >
                            >
0017 =                      >test_num = test_num + 1
0017 =                      >test_num = test_num + 1
16bf : a917             [ 2]>            lda #test_num   ;*** this tests' number
1a17 : a917             [ 2]>            lda #test_num   ;*** this tests' number
16c1 : 8d0002           [ 4]>            sta test_case
1a19 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; indexed wraparound test (only zp should wrap)
                             ; indexed wraparound test (only zp should wrap)
16c4 : a2fd             [ 2]         ldx #3+$fa
 
16c6 : b519             [ 4] tldax6  lda zp1-$fa&$ff,x   ;wrap on indexed zp
1a1c : a2fd             [ 2]         ldx #3+$fa
16c8 : 9d0901           [ 5]         sta abst-$fa,x      ;no STX abs,x!
1a1e : b5bf             [ 4] tldax6  lda zp1-$fa&$ff,x   ;wrap on indexed zp
16cb : ca               [ 2]         dex
1a20 : 9d0901           [ 5]         sta abst-$fa,x      ;no STX abs,x!
16cc : e0fa             [ 2]         cpx #$fa
1a23 : ca               [ 2]         dex
16ce : b0f6             [ 3]         bcs tldax6
1a24 : e0fa             [ 2]         cpx #$fa
16d0 : a2fd             [ 2]         ldx #3+$fa
1a26 : b0f6             [ 3]         bcs tldax6
16d2 : bd0e01           [ 4] tldax7  lda abs1-$fa,x      ;no wrap on indexed abs
1a28 : a2fd             [ 2]         ldx #3+$fa
16d5 : 9512             [ 4]         sta zpt-$fa&$ff,x
1a2a : bd0e01           [ 4] tldax7  lda abs1-$fa,x      ;no wrap on indexed abs
16d7 : ca               [ 2]         dex
1a2d : 95b8             [ 4]         sta zpt-$fa&$ff,x
16d8 : e0fa             [ 2]         cpx #$fa
1a2f : ca               [ 2]         dex
16da : b0f6             [ 3]         bcs tldax7
1a30 : e0fa             [ 2]         cpx #$fa
 
1a32 : b0f6             [ 3]         bcs tldax7
16dc : a203             [ 2]         ldx #3      ;testing wraparound result
 
16de : a000             [ 2]         ldy #0
1a34 : a203             [ 2]         ldx #3      ;testing wraparound result
16e0 : b50c             [ 4] tstax1  lda zpt,x
1a36 : a000             [ 2]         ldy #0
16e2 : d513             [ 4]         cmp zp1,x
1a38 : b5b2             [ 4] tstax1  lda zpt,x
 
1a3a : d5b9             [ 4]         cmp zp1,x
                                     trap_ne     ;store to zp,x data
                                     trap_ne     ;store to zp,x data
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  112
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  182
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
16e4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a3c : f002             [ 3]>        beq skip1359
 
                            >        trap           ;failed equal (zero)
16e6 : 940c             [ 4]         sty zpt,x   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
16e8 : bd0302           [ 4]         lda abst,x
1a3e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
16eb : dd0802           [ 4]         cmp abs1,x
1a3f : 17                   >        db      test_num
 
                            >
 
1a40 :                      >skip1359
 
 
 
1a40 : 94b2             [ 4]         sty zpt,x   ;clear
 
1a42 : bd0302           [ 4]         lda abst,x
 
1a45 : dd0802           [ 4]         cmp abs1,x
                                     trap_ne     ;store to abs,x data
                                     trap_ne     ;store to abs,x data
16ee : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a48 : f002             [ 3]>        beq skip1361
 
                            >        trap           ;failed equal (zero)
16f0 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
16f1 : 9d0302           [ 5]         sta abst,x  ;clear
1a4a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
16f4 : ca               [ 2]         dex
1a4b : 17                   >        db      test_num
16f5 : 10e9             [ 3]         bpl tstax1
                            >
 
1a4c :                      >skip1361
16f7 : a0fb             [ 2]         ldy #3+$f8
 
16f9 : a2fe             [ 2]         ldx #6+$f8
1a4c : 8a               [ 2]         txa
16fb : a12c             [ 6] tlday4  lda (ind1-$f8&$ff,x) ;wrap on indexed zp indirect
1a4d : 9d0302           [ 5]         sta abst,x  ;clear
16fd : 990b01           [ 5]         sta abst-$f8,y
1a50 : ca               [ 2]         dex
1700 : ca               [ 2]         dex
1a51 : 10e5             [ 3]         bpl tstax1
1701 : ca               [ 2]         dex
 
1702 : 88               [ 2]         dey
1a53 : a0fb             [ 2]         ldy #3+$f8
1703 : c0f8             [ 2]         cpy #$f8
1a55 : a2fe             [ 2]         ldx #6+$f8
1705 : b0f4             [ 4]         bcs tlday4
1a57 : a1d2             [ 6] tlday4  lda (ind1-$f8&$ff,x) ;wrap on indexed zp indirect
1707 : a003             [ 2]         ldy #3      ;testing wraparound result
1a59 : 990b01           [ 5]         sta abst-$f8,y
1709 : a200             [ 2]         ldx #0
1a5c : ca               [ 2]         dex
170b : b90302           [ 4] tstay4  lda abst,y
1a5d : ca               [ 2]         dex
170e : d90802           [ 4]         cmp abs1,y
1a5e : 88               [ 2]         dey
                                     trap_ne     ;store to abs data
1a5f : c0f8             [ 2]         cpy #$f8
1711 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a61 : b0f4             [ 3]         bcs tlday4
 
1a63 : a003             [ 2]         ldy #3      ;testing wraparound result
1713 : 8a               [ 2]         txa
1a65 : a200             [ 2]         ldx #0
1714 : 990302           [ 5]         sta abst,y  ;clear
1a67 : b90302           [ 4] tstay4  lda abst,y
1717 : 88               [ 2]         dey
1a6a : d90802           [ 4]         cmp abs1,y
1718 : 10f1             [ 3]         bpl tstay4
 
 
 
171a : a0fb             [ 2]         ldy #3+$f8
 
171c : b91001           [ 4] tlday5  lda abs1-$f8,y  ;no wrap on indexed abs
 
171f : 9138             [ 5]         sta (inwt),y
 
1721 : 88               [ 2]         dey
 
1722 : c0f8             [ 2]         cpy #$f8
 
1724 : b0f6             [ 3]         bcs tlday5
 
1726 : a003             [ 2]         ldy #3      ;testing wraparound result
 
1728 : a200             [ 2]         ldx #0
 
172a : b90302           [ 4] tstay5  lda abst,y
 
172d : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
1730 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a6d : f002             [ 3]>        beq skip1363
 
                            >        trap           ;failed equal (zero)
1732 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1733 : 990302           [ 5]         sta abst,y  ;clear
1a6f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
1736 : 88               [ 2]         dey
1a70 : 17                   >        db      test_num
1737 : 10f1             [ 3]         bpl tstay5
                            >
 
1a71 :                      >skip1363
1739 : a0fb             [ 2]         ldy #3+$f8
 
173b : a2fe             [ 2]         ldx #6+$f8
1a71 : 8a               [ 2]         txa
173d : b12e             [ 5] tlday6  lda (inw1),y    ;no wrap on zp indirect indexed
1a72 : 990302           [ 5]         sta abst,y  ;clear
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  113
1a75 : 88               [ 2]         dey
 
1a76 : 10ef             [ 3]         bpl tstay4
 
 
 
1a78 : a0fb             [ 2]         ldy #3+$f8
 
1a7a : b91001           [ 4] tlday5  lda abs1-$f8,y  ;no wrap on indexed abs
 
1a7d : 91de             [ 5]         sta (inwt),y
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  183
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
173f : 8138             [ 6]         sta (indt-$f8&$ff,x)
1a7f : 88               [ 2]         dey
1741 : ca               [ 2]         dex
1a80 : c0f8             [ 2]         cpy #$f8
1742 : ca               [ 2]         dex
1a82 : b0f6             [ 3]         bcs tlday5
1743 : 88               [ 2]         dey
1a84 : a003             [ 2]         ldy #3      ;testing wraparound result
1744 : c0f8             [ 2]         cpy #$f8
1a86 : a200             [ 2]         ldx #0
1746 : b0f5             [ 3]         bcs tlday6
1a88 : b90302           [ 4] tstay5  lda abst,y
1748 : a003             [ 2]         ldy #3      ;testing wraparound result
1a8b : d90802           [ 4]         cmp abs1,y
174a : a200             [ 2]         ldx #0
 
174c : b90302           [ 4] tstay6  lda abst,y
 
174f : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
1752 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1a8e : f002             [ 3]>        beq skip1365
 
                            >        trap           ;failed equal (zero)
1754 : 8a               [ 2]         txa
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1755 : 990302           [ 5]         sta abst,y  ;clear
1a90 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
1758 : 88               [ 2]         dey
1a91 : 17                   >        db      test_num
1759 : 10f1             [ 3]         bpl tstay6
                            >
 
1a92 :                      >skip1365
 
 
 
1a92 : 8a               [ 2]         txa
 
1a93 : 990302           [ 5]         sta abst,y  ;clear
 
1a96 : 88               [ 2]         dey
 
1a97 : 10ef             [ 3]         bpl tstay5
 
 
 
1a99 : a0fb             [ 2]         ldy #3+$f8
 
1a9b : a2fe             [ 2]         ldx #6+$f8
 
1a9d : b1d4             [ 5] tlday6  lda (inw1),y    ;no wrap on zp indirect indexed
 
1a9f : 81de             [ 6]         sta (indt-$f8&$ff,x)
 
1aa1 : ca               [ 2]         dex
 
1aa2 : ca               [ 2]         dex
 
1aa3 : 88               [ 2]         dey
 
1aa4 : c0f8             [ 2]         cpy #$f8
 
1aa6 : b0f5             [ 3]         bcs tlday6
 
1aa8 : a003             [ 2]         ldy #3      ;testing wraparound result
 
1aaa : a200             [ 2]         ldx #0
 
1aac : b90302           [ 4] tstay6  lda abst,y
 
1aaf : d90802           [ 4]         cmp abs1,y
 
                                     trap_ne     ;store to abs data
 
1ab2 : f002             [ 3]>        beq skip1367
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ab4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ab5 : 17                   >        db      test_num
 
                            >
 
1ab6 :                      >skip1367
 
 
 
1ab6 : 8a               [ 2]         txa
 
1ab7 : 990302           [ 5]         sta abst,y  ;clear
 
1aba : 88               [ 2]         dey
 
1abb : 10ef             [ 3]         bpl tstay6
                                     next_test
                                     next_test
175b : ad0002           [ 4]>            lda test_case   ;previous test
1abd : ad0002           [ 4]>            lda test_case   ;previous test
175e : c917             [ 2]>            cmp #test_num
1ac0 : c917             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
1760 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ac2 : f002             [ 3]>        beq skip1370
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ac4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  184
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1ac5 : 17                   >        db      test_num
 
                            >
 
1ac6 :                      >skip1370
                            >
                            >
0018 =                      >test_num = test_num + 1
0018 =                      >test_num = test_num + 1
1762 : a918             [ 2]>            lda #test_num   ;*** this tests' number
1ac6 : a918             [ 2]>            lda #test_num   ;*** this tests' number
1764 : 8d0002           [ 4]>            sta test_case
1ac8 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; LDA / STA - zp / abs / #
                             ; LDA / STA - zp / abs / #
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1767 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
1acb : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
                            >
                            >
1769 : 48               [ 3]>            pha         ;use stack to load status
1acd : 48               [ 3]>            pha         ;use stack to load status
176a : 28               [ 4]>            plp
1ace : 28               [ 4]>            plp
 
 
176b : a513             [ 3]         lda zp1
1acf : a5b9             [ 3]         lda zp1
176d : 08               [ 3]         php         ;test stores do not alter flags
1ad1 : 08               [ 3]         php         ;test stores do not alter flags
176e : 49c3             [ 2]         eor #$c3
1ad2 : 49c3             [ 2]         eor #$c3
1770 : 28               [ 4]         plp
1ad4 : 28               [ 4]         plp
1771 : 8d0302           [ 4]         sta abst
1ad5 : 8d0302           [ 4]         sta abst
1774 : 08               [ 3]         php         ;flags after load/store sequence
1ad8 : 08               [ 3]         php         ;flags after load/store sequence
1775 : 49c3             [ 2]         eor #$c3
1ad9 : 49c3             [ 2]         eor #$c3
1777 : c9c3             [ 2]         cmp #$c3    ;test result
1adb : c9c3             [ 2]         cmp #$c3    ;test result
                                     trap_ne
                                     trap_ne
1779 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1add : f002             [ 3]>        beq skip1374
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1adf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ae0 : 18                   >        db      test_num
 
                            >
 
1ae1 :                      >skip1374
 
 
177b : 68               [ 4]         pla         ;load status
1ae1 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
177c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1ae2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
177e : cd0d02           [ 4]         cmp fLDx    ;test flags
1ae4 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1781 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ae7 : f002             [ 3]>        beq skip1377
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  114
                            >        trap           ;failed equal (zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ae9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1aea : 18                   >        db      test_num
 
                            >
 
1aeb :                      >skip1377
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1783 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1aeb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1785 : 48               [ 3]>            pha         ;use stack to load status
1aed : 48               [ 3]>            pha         ;use stack to load status
1786 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  185
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1787 : a514             [ 3]         lda zp1+1
1aee : 28               [ 4]>            plp
1789 : 08               [ 3]         php         ;test stores do not alter flags
 
178a : 49c3             [ 2]         eor #$c3
1aef : a5ba             [ 3]         lda zp1+1
178c : 28               [ 4]         plp
1af1 : 08               [ 3]         php         ;test stores do not alter flags
178d : 8d0402           [ 4]         sta abst+1
1af2 : 49c3             [ 2]         eor #$c3
1790 : 08               [ 3]         php         ;flags after load/store sequence
1af4 : 28               [ 4]         plp
1791 : 49c3             [ 2]         eor #$c3
1af5 : 8d0402           [ 4]         sta abst+1
1793 : c982             [ 2]         cmp #$82    ;test result
1af8 : 08               [ 3]         php         ;flags after load/store sequence
                                     trap_ne
1af9 : 49c3             [ 2]         eor #$c3
1795 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1afb : c982             [ 2]         cmp #$82    ;test result
 
                                     trap_ne
 
1afd : f002             [ 4]>        beq skip1381
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1aff : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b00 : 18                   >        db      test_num
 
                            >
 
1b01 :                      >skip1381
 
 
1797 : 68               [ 4]         pla         ;load status
1b01 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1798 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1b02 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
179a : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1b04 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
179d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b07 : f002             [ 3]>        beq skip1384
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b09 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b0a : 18                   >        db      test_num
 
                            >
 
1b0b :                      >skip1384
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
179f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1b0b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
17a1 : 48               [ 3]>            pha         ;use stack to load status
1b0d : 48               [ 3]>            pha         ;use stack to load status
17a2 : 28               [ 4]>            plp
1b0e : 28               [ 4]>            plp
 
 
17a3 : a515             [ 3]         lda zp1+2
1b0f : a5bb             [ 3]         lda zp1+2
17a5 : 08               [ 3]         php         ;test stores do not alter flags
1b11 : 08               [ 3]         php         ;test stores do not alter flags
17a6 : 49c3             [ 2]         eor #$c3
1b12 : 49c3             [ 2]         eor #$c3
17a8 : 28               [ 4]         plp
1b14 : 28               [ 4]         plp
17a9 : 8d0502           [ 4]         sta abst+2
1b15 : 8d0502           [ 4]         sta abst+2
17ac : 08               [ 3]         php         ;flags after load/store sequence
1b18 : 08               [ 3]         php         ;flags after load/store sequence
17ad : 49c3             [ 2]         eor #$c3
1b19 : 49c3             [ 2]         eor #$c3
17af : c941             [ 2]         cmp #$41    ;test result
1b1b : c941             [ 2]         cmp #$41    ;test result
                                     trap_ne
                                     trap_ne
17b1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b1d : f002             [ 3]>        beq skip1388
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b1f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b20 : 18                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  186
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1b21 :                      >skip1388
 
 
17b3 : 68               [ 4]         pla         ;load status
1b21 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
17b4 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1b22 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
17b6 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1b24 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
17b9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b27 : f002             [ 3]>        beq skip1391
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b29 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b2a : 18                   >        db      test_num
 
                            >
 
1b2b :                      >skip1391
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  115
1b2b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
17bb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
 
                            >
                            >
17bd : 48               [ 3]>            pha         ;use stack to load status
1b2d : 48               [ 3]>            pha         ;use stack to load status
17be : 28               [ 4]>            plp
1b2e : 28               [ 4]>            plp
 
 
17bf : a516             [ 3]         lda zp1+3
1b2f : a5bc             [ 3]         lda zp1+3
17c1 : 08               [ 3]         php         ;test stores do not alter flags
1b31 : 08               [ 3]         php         ;test stores do not alter flags
17c2 : 49c3             [ 2]         eor #$c3
1b32 : 49c3             [ 2]         eor #$c3
17c4 : 28               [ 4]         plp
1b34 : 28               [ 4]         plp
17c5 : 8d0602           [ 4]         sta abst+3
1b35 : 8d0602           [ 4]         sta abst+3
17c8 : 08               [ 3]         php         ;flags after load/store sequence
1b38 : 08               [ 3]         php         ;flags after load/store sequence
17c9 : 49c3             [ 2]         eor #$c3
1b39 : 49c3             [ 2]         eor #$c3
17cb : c900             [ 2]         cmp #0      ;test result
1b3b : c900             [ 2]         cmp #0      ;test result
                                     trap_ne
                                     trap_ne
17cd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b3d : f002             [ 3]>        beq skip1395
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b3f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b40 : 18                   >        db      test_num
 
                            >
 
1b41 :                      >skip1395
 
 
17cf : 68               [ 4]         pla         ;load status
1b41 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
17d0 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1b42 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
17d2 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1b44 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
17d5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b47 : f002             [ 3]>        beq skip1398
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b49 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b4a : 18                   >        db      test_num
 
                            >
 
1b4b :                      >skip1398
 
 
                                     set_stat $ff
                                     set_stat $ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  187
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
17d7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1b4b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
17d9 : 48               [ 3]>            pha         ;use stack to load status
1b4d : 48               [ 3]>            pha         ;use stack to load status
17da : 28               [ 4]>            plp
1b4e : 28               [ 4]>            plp
 
 
17db : a513             [ 3]         lda zp1
1b4f : a5b9             [ 3]         lda zp1
17dd : 08               [ 3]         php         ;test stores do not alter flags
1b51 : 08               [ 3]         php         ;test stores do not alter flags
17de : 49c3             [ 2]         eor #$c3
1b52 : 49c3             [ 2]         eor #$c3
17e0 : 28               [ 4]         plp
1b54 : 28               [ 4]         plp
17e1 : 8d0302           [ 4]         sta abst
1b55 : 8d0302           [ 4]         sta abst
17e4 : 08               [ 3]         php         ;flags after load/store sequence
1b58 : 08               [ 3]         php         ;flags after load/store sequence
17e5 : 49c3             [ 2]         eor #$c3
1b59 : 49c3             [ 2]         eor #$c3
17e7 : c9c3             [ 2]         cmp #$c3    ;test result
1b5b : c9c3             [ 2]         cmp #$c3    ;test result
                                     trap_ne
                                     trap_ne
17e9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b5d : f002             [ 3]>        beq skip1402
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b5f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b60 : 18                   >        db      test_num
 
                            >
 
1b61 :                      >skip1402
 
 
17eb : 68               [ 4]         pla         ;load status
1b61 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
17ec : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1b62 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
17ee : cd0d02           [ 4]         cmp fLDx    ;test flags
1b64 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
17f1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b67 : f002             [ 3]>        beq skip1405
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b69 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b6a : 18                   >        db      test_num
 
                            >
 
1b6b :                      >skip1405
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
17f3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1b6b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
17f5 : 48               [ 3]>            pha         ;use stack to load status
1b6d : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  116
1b6e : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
17f6 : 28               [ 4]>            plp
1b6f : a5ba             [ 3]         lda zp1+1
 
1b71 : 08               [ 3]         php         ;test stores do not alter flags
17f7 : a514             [ 3]         lda zp1+1
1b72 : 49c3             [ 2]         eor #$c3
17f9 : 08               [ 3]         php         ;test stores do not alter flags
1b74 : 28               [ 4]         plp
17fa : 49c3             [ 2]         eor #$c3
1b75 : 8d0402           [ 4]         sta abst+1
17fc : 28               [ 4]         plp
1b78 : 08               [ 3]         php         ;flags after load/store sequence
17fd : 8d0402           [ 4]         sta abst+1
1b79 : 49c3             [ 2]         eor #$c3
1800 : 08               [ 3]         php         ;flags after load/store sequence
1b7b : c982             [ 2]         cmp #$82    ;test result
1801 : 49c3             [ 2]         eor #$c3
 
1803 : c982             [ 2]         cmp #$82    ;test result
 
                                     trap_ne
                                     trap_ne
1805 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b7d : f002             [ 3]>        beq skip1409
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  188
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b7f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b80 : 18                   >        db      test_num
 
                            >
 
1b81 :                      >skip1409
 
 
1807 : 68               [ 4]         pla         ;load status
1b81 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1808 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1b82 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
180a : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1b84 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
180d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b87 : f002             [ 3]>        beq skip1412
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b89 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1b8a : 18                   >        db      test_num
 
                            >
 
1b8b :                      >skip1412
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
180f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1b8b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1811 : 48               [ 3]>            pha         ;use stack to load status
1b8d : 48               [ 3]>            pha         ;use stack to load status
1812 : 28               [ 4]>            plp
1b8e : 28               [ 4]>            plp
 
 
1813 : a515             [ 3]         lda zp1+2
1b8f : a5bb             [ 3]         lda zp1+2
1815 : 08               [ 3]         php         ;test stores do not alter flags
1b91 : 08               [ 3]         php         ;test stores do not alter flags
1816 : 49c3             [ 2]         eor #$c3
1b92 : 49c3             [ 2]         eor #$c3
1818 : 28               [ 4]         plp
1b94 : 28               [ 4]         plp
1819 : 8d0502           [ 4]         sta abst+2
1b95 : 8d0502           [ 4]         sta abst+2
181c : 08               [ 3]         php         ;flags after load/store sequence
1b98 : 08               [ 3]         php         ;flags after load/store sequence
181d : 49c3             [ 2]         eor #$c3
1b99 : 49c3             [ 2]         eor #$c3
181f : c941             [ 2]         cmp #$41    ;test result
1b9b : c941             [ 2]         cmp #$41    ;test result
                                     trap_ne
                                     trap_ne
1821 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1b9d : f002             [ 3]>        beq skip1416
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1b9f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ba0 : 18                   >        db      test_num
 
                            >
 
1ba1 :                      >skip1416
 
 
1823 : 68               [ 4]         pla         ;load status
1ba1 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1824 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1ba2 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1826 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1ba4 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1829 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ba7 : f002             [ 3]>        beq skip1419
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ba9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1baa : 18                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  189
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
1bab :                      >skip1419
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
182b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1bab : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
182d : 48               [ 3]>            pha         ;use stack to load status
1bad : 48               [ 3]>            pha         ;use stack to load status
182e : 28               [ 4]>            plp
1bae : 28               [ 4]>            plp
 
 
182f : a516             [ 3]         lda zp1+3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  117
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1831 : 08               [ 3]         php         ;test stores do not alter flags
1baf : a5bc             [ 3]         lda zp1+3
1832 : 49c3             [ 2]         eor #$c3
1bb1 : 08               [ 3]         php         ;test stores do not alter flags
1834 : 28               [ 4]         plp
1bb2 : 49c3             [ 2]         eor #$c3
1835 : 8d0602           [ 4]         sta abst+3
1bb4 : 28               [ 4]         plp
1838 : 08               [ 3]         php         ;flags after load/store sequence
1bb5 : 8d0602           [ 4]         sta abst+3
1839 : 49c3             [ 2]         eor #$c3
1bb8 : 08               [ 3]         php         ;flags after load/store sequence
183b : c900             [ 2]         cmp #0      ;test result
1bb9 : 49c3             [ 2]         eor #$c3
                                     trap_ne
1bbb : c900             [ 2]         cmp #0      ;test result
183d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                                     trap_ne
 
1bbd : f002             [ 3]>        beq skip1423
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1bbf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1bc0 : 18                   >        db      test_num
 
                            >
 
1bc1 :                      >skip1423
 
 
183f : 68               [ 4]         pla         ;load status
1bc1 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1840 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1bc2 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1842 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1bc4 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1845 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1bc7 : f002             [ 3]>        beq skip1426
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1bc9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1bca : 18                   >        db      test_num
 
                            >
 
1bcb :                      >skip1426
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1847 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1bcb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1849 : 48               [ 3]>            pha         ;use stack to load status
1bcd : 48               [ 3]>            pha         ;use stack to load status
184a : 28               [ 4]>            plp
1bce : 28               [ 4]>            plp
 
 
184b : ad0802           [ 4]         lda abs1
1bcf : ad0802           [ 4]         lda abs1
184e : 08               [ 3]         php         ;test stores do not alter flags
1bd2 : 08               [ 3]         php         ;test stores do not alter flags
184f : 49c3             [ 2]         eor #$c3
1bd3 : 49c3             [ 2]         eor #$c3
1851 : 28               [ 4]         plp
1bd5 : 28               [ 4]         plp
1852 : 850c             [ 3]         sta zpt
1bd6 : 85b2             [ 3]         sta zpt
1854 : 08               [ 3]         php         ;flags after load/store sequence
1bd8 : 08               [ 3]         php         ;flags after load/store sequence
1855 : 49c3             [ 2]         eor #$c3
1bd9 : 49c3             [ 2]         eor #$c3
1857 : c513             [ 3]         cmp zp1     ;test result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  190
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1bdb : c5b9             [ 3]         cmp zp1     ;test result
                                     trap_ne
                                     trap_ne
1859 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1bdd : f002             [ 3]>        beq skip1430
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1bdf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1be0 : 18                   >        db      test_num
 
                            >
 
1be1 :                      >skip1430
 
 
185b : 68               [ 4]         pla         ;load status
1be1 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
185c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1be2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
185e : cd0d02           [ 4]         cmp fLDx    ;test flags
1be4 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1861 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1be7 : f002             [ 3]>        beq skip1433
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1be9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1bea : 18                   >        db      test_num
 
                            >
 
1beb :                      >skip1433
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1863 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1beb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1865 : 48               [ 3]>            pha         ;use stack to load status
1bed : 48               [ 3]>            pha         ;use stack to load status
1866 : 28               [ 4]>            plp
1bee : 28               [ 4]>            plp
 
 
1867 : ad0902           [ 4]         lda abs1+1
 
186a : 08               [ 3]         php         ;test stores do not alter flags
 
186b : 49c3             [ 2]         eor #$c3
 
186d : 28               [ 4]         plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  118
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
186e : 850d             [ 3]         sta zpt+1
1bef : ad0902           [ 4]         lda abs1+1
1870 : 08               [ 3]         php         ;flags after load/store sequence
1bf2 : 08               [ 3]         php         ;test stores do not alter flags
1871 : 49c3             [ 2]         eor #$c3
1bf3 : 49c3             [ 2]         eor #$c3
1873 : c514             [ 3]         cmp zp1+1   ;test result
1bf5 : 28               [ 4]         plp
                                     trap_ne
1bf6 : 85b3             [ 3]         sta zpt+1
1875 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1bf8 : 08               [ 3]         php         ;flags after load/store sequence
 
1bf9 : 49c3             [ 2]         eor #$c3
 
1bfb : c5ba             [ 3]         cmp zp1+1   ;test result
 
                                     trap_ne
 
1bfd : f002             [ 4]>        beq skip1437
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1bff : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c00 : 18                   >        db      test_num
 
                            >
 
1c01 :                      >skip1437
 
 
1877 : 68               [ 4]         pla         ;load status
1c01 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1878 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1c02 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
187a : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1c04 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
187d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c07 : f002             [ 3]>        beq skip1440
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  191
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c09 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c0a : 18                   >        db      test_num
 
                            >
 
1c0b :                      >skip1440
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
187f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1c0b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1881 : 48               [ 3]>            pha         ;use stack to load status
1c0d : 48               [ 3]>            pha         ;use stack to load status
1882 : 28               [ 4]>            plp
1c0e : 28               [ 4]>            plp
 
 
1883 : ad0a02           [ 4]         lda abs1+2
1c0f : ad0a02           [ 4]         lda abs1+2
1886 : 08               [ 3]         php         ;test stores do not alter flags
1c12 : 08               [ 3]         php         ;test stores do not alter flags
1887 : 49c3             [ 2]         eor #$c3
1c13 : 49c3             [ 2]         eor #$c3
1889 : 28               [ 4]         plp
1c15 : 28               [ 4]         plp
188a : 850e             [ 3]         sta zpt+2
1c16 : 85b4             [ 3]         sta zpt+2
188c : 08               [ 3]         php         ;flags after load/store sequence
1c18 : 08               [ 3]         php         ;flags after load/store sequence
188d : 49c3             [ 2]         eor #$c3
1c19 : 49c3             [ 2]         eor #$c3
188f : c515             [ 3]         cmp zp1+2   ;test result
1c1b : c5bb             [ 3]         cmp zp1+2   ;test result
                                     trap_ne
                                     trap_ne
1891 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c1d : f002             [ 3]>        beq skip1444
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c1f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c20 : 18                   >        db      test_num
 
                            >
 
1c21 :                      >skip1444
 
 
1893 : 68               [ 4]         pla         ;load status
1c21 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1894 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1c22 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1896 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1c24 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1899 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c27 : f002             [ 3]>        beq skip1447
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c29 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c2a : 18                   >        db      test_num
 
                            >
 
1c2b :                      >skip1447
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
189b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1c2b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
189d : 48               [ 3]>            pha         ;use stack to load status
1c2d : 48               [ 3]>            pha         ;use stack to load status
189e : 28               [ 4]>            plp
1c2e : 28               [ 4]>            plp
 
 
189f : ad0b02           [ 4]         lda abs1+3
1c2f : ad0b02           [ 4]         lda abs1+3
18a2 : 08               [ 3]         php         ;test stores do not alter flags
1c32 : 08               [ 3]         php         ;test stores do not alter flags
18a3 : 49c3             [ 2]         eor #$c3
1c33 : 49c3             [ 2]         eor #$c3
18a5 : 28               [ 4]         plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  192
18a6 : 850f             [ 3]         sta zpt+3
 
18a8 : 08               [ 3]         php         ;flags after load/store sequence
 
18a9 : 49c3             [ 2]         eor #$c3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  119
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
18ab : c516             [ 3]         cmp zp1+3   ;test result
1c35 : 28               [ 4]         plp
                                     trap_ne
1c36 : 85b5             [ 3]         sta zpt+3
18ad : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c38 : 08               [ 3]         php         ;flags after load/store sequence
 
1c39 : 49c3             [ 2]         eor #$c3
 
1c3b : c5bc             [ 3]         cmp zp1+3   ;test result
 
                                     trap_ne
 
1c3d : f002             [ 3]>        beq skip1451
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c3f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c40 : 18                   >        db      test_num
 
                            >
 
1c41 :                      >skip1451
 
 
18af : 68               [ 4]         pla         ;load status
1c41 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
18b0 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1c42 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
18b2 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1c44 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
18b5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c47 : f002             [ 3]>        beq skip1454
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c49 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c4a : 18                   >        db      test_num
 
                            >
 
1c4b :                      >skip1454
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
18b7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1c4b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
18b9 : 48               [ 3]>            pha         ;use stack to load status
1c4d : 48               [ 3]>            pha         ;use stack to load status
18ba : 28               [ 4]>            plp
1c4e : 28               [ 4]>            plp
 
 
18bb : ad0802           [ 4]         lda abs1
1c4f : ad0802           [ 4]         lda abs1
18be : 08               [ 3]         php         ;test stores do not alter flags
1c52 : 08               [ 3]         php         ;test stores do not alter flags
18bf : 49c3             [ 2]         eor #$c3
1c53 : 49c3             [ 2]         eor #$c3
18c1 : 28               [ 4]         plp
1c55 : 28               [ 4]         plp
18c2 : 850c             [ 3]         sta zpt
1c56 : 85b2             [ 3]         sta zpt
18c4 : 08               [ 3]         php         ;flags after load/store sequence
1c58 : 08               [ 3]         php         ;flags after load/store sequence
18c5 : 49c3             [ 2]         eor #$c3
1c59 : 49c3             [ 2]         eor #$c3
18c7 : c513             [ 3]         cmp zp1     ;test result
1c5b : c5b9             [ 3]         cmp zp1     ;test result
                                     trap_ne
                                     trap_ne
18c9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c5d : f002             [ 3]>        beq skip1458
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c5f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c60 : 18                   >        db      test_num
 
                            >
 
1c61 :                      >skip1458
 
 
18cb : 68               [ 4]         pla         ;load status
1c61 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
18cc : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1c62 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  193
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
18ce : cd0d02           [ 4]         cmp fLDx    ;test flags
 
 
1c64 : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
18d1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c67 : f002             [ 3]>        beq skip1461
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c69 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c6a : 18                   >        db      test_num
 
                            >
 
1c6b :                      >skip1461
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
18d3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1c6b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
18d5 : 48               [ 3]>            pha         ;use stack to load status
1c6d : 48               [ 3]>            pha         ;use stack to load status
18d6 : 28               [ 4]>            plp
1c6e : 28               [ 4]>            plp
 
 
18d7 : ad0902           [ 4]         lda abs1+1
 
18da : 08               [ 3]         php         ;test stores do not alter flags
 
18db : 49c3             [ 2]         eor #$c3
 
18dd : 28               [ 4]         plp
 
18de : 850d             [ 3]         sta zpt+1
 
18e0 : 08               [ 3]         php         ;flags after load/store sequence
 
18e1 : 49c3             [ 2]         eor #$c3
 
18e3 : c514             [ 3]         cmp zp1+1   ;test result
 
                                     trap_ne
 
18e5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  120
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
1c6f : ad0902           [ 4]         lda abs1+1
 
1c72 : 08               [ 3]         php         ;test stores do not alter flags
 
1c73 : 49c3             [ 2]         eor #$c3
 
1c75 : 28               [ 4]         plp
 
1c76 : 85b3             [ 3]         sta zpt+1
 
1c78 : 08               [ 3]         php         ;flags after load/store sequence
 
1c79 : 49c3             [ 2]         eor #$c3
 
1c7b : c5ba             [ 3]         cmp zp1+1   ;test result
 
                                     trap_ne
 
1c7d : f002             [ 3]>        beq skip1465
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c7f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c80 : 18                   >        db      test_num
 
                            >
 
1c81 :                      >skip1465
 
 
18e7 : 68               [ 4]         pla         ;load status
1c81 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
18e8 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1c82 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
18ea : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1c84 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
18ed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1c87 : f002             [ 3]>        beq skip1468
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c89 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1c8a : 18                   >        db      test_num
 
                            >
 
1c8b :                      >skip1468
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
18ef : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1c8b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
18f1 : 48               [ 3]>            pha         ;use stack to load status
1c8d : 48               [ 3]>            pha         ;use stack to load status
18f2 : 28               [ 4]>            plp
1c8e : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  194
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
18f3 : ad0a02           [ 4]         lda abs1+2
 
18f6 : 08               [ 3]         php         ;test stores do not alter flags
 
18f7 : 49c3             [ 2]         eor #$c3
 
18f9 : 28               [ 4]         plp
 
18fa : 850e             [ 3]         sta zpt+2
 
18fc : 08               [ 3]         php         ;flags after load/store sequence
 
18fd : 49c3             [ 2]         eor #$c3
 
18ff : c515             [ 3]         cmp zp1+2   ;test result
 
                                     trap_ne
 
1901 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1903 : 68               [ 4]         pla         ;load status
1c8f : ad0a02           [ 4]         lda abs1+2
 
1c92 : 08               [ 3]         php         ;test stores do not alter flags
 
1c93 : 49c3             [ 2]         eor #$c3
 
1c95 : 28               [ 4]         plp
 
1c96 : 85b4             [ 3]         sta zpt+2
 
1c98 : 08               [ 3]         php         ;flags after load/store sequence
 
1c99 : 49c3             [ 2]         eor #$c3
 
1c9b : c5bb             [ 3]         cmp zp1+2   ;test result
 
                                     trap_ne
 
1c9d : f002             [ 3]>        beq skip1472
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1c9f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ca0 : 18                   >        db      test_num
 
                            >
 
1ca1 :                      >skip1472
 
 
 
1ca1 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1904 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1ca2 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1906 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1ca4 : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1909 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ca7 : f002             [ 3]>        beq skip1475
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ca9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1caa : 18                   >        db      test_num
 
                            >
 
1cab :                      >skip1475
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
190b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1cab : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
190d : 48               [ 3]>            pha         ;use stack to load status
1cad : 48               [ 3]>            pha         ;use stack to load status
190e : 28               [ 4]>            plp
1cae : 28               [ 4]>            plp
 
 
190f : ad0b02           [ 4]         lda abs1+3
1caf : ad0b02           [ 4]         lda abs1+3
1912 : 08               [ 3]         php         ;test stores do not alter flags
1cb2 : 08               [ 3]         php         ;test stores do not alter flags
1913 : 49c3             [ 2]         eor #$c3
1cb3 : 49c3             [ 2]         eor #$c3
1915 : 28               [ 4]         plp
1cb5 : 28               [ 4]         plp
1916 : 850f             [ 3]         sta zpt+3
1cb6 : 85b5             [ 3]         sta zpt+3
1918 : 08               [ 3]         php         ;flags after load/store sequence
1cb8 : 08               [ 3]         php         ;flags after load/store sequence
1919 : 49c3             [ 2]         eor #$c3
1cb9 : 49c3             [ 2]         eor #$c3
191b : c516             [ 3]         cmp zp1+3   ;test result
1cbb : c5bc             [ 3]         cmp zp1+3   ;test result
                                     trap_ne
                                     trap_ne
191d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1cbd : f002             [ 3]>        beq skip1479
 
                            >        trap           ;failed equal (zero)
191f : 68               [ 4]         pla         ;load status
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                                     eor_flag lo~fnz ;mask bits not altered
1cbf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  121
1cc0 : 18                   >        db      test_num
 
                            >
 
1cc1 :                      >skip1479
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  195
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1920 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
 
1922 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1cc1 : 68               [ 4]         pla         ;load status
 
                                     eor_flag lo~fnz ;mask bits not altered
 
1cc2 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
 
1cc4 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1925 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1cc7 : f002             [ 3]>        beq skip1482
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1cc9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1cca : 18                   >        db      test_num
 
                            >
 
1ccb :                      >skip1482
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1927 : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
1ccb : a900             [ 2]>            lda #0               ;allow test to change I-flag (no mask)
                            >
                            >
1929 : 48               [ 3]>            pha         ;use stack to load status
1ccd : 48               [ 3]>            pha         ;use stack to load status
192a : 28               [ 4]>            plp
1cce : 28               [ 4]>            plp
 
 
192b : a9c3             [ 2]         lda #$c3
1ccf : a9c3             [ 2]         lda #$c3
192d : 08               [ 3]         php
1cd1 : 08               [ 3]         php
192e : cd0802           [ 4]         cmp abs1    ;test result
1cd2 : cd0802           [ 4]         cmp abs1    ;test result
                                     trap_ne
                                     trap_ne
1931 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1cd5 : f002             [ 3]>        beq skip1486
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1cd7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1cd8 : 18                   >        db      test_num
 
                            >
 
1cd9 :                      >skip1486
 
 
1933 : 68               [ 4]         pla         ;load status
1cd9 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1934 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1cda : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1936 : cd0d02           [ 4]         cmp fLDx    ;test flags
1cdc : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
1939 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1cdf : f002             [ 3]>        beq skip1489
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ce1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ce2 : 18                   >        db      test_num
 
                            >
 
1ce3 :                      >skip1489
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
193b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1ce3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
193d : 48               [ 3]>            pha         ;use stack to load status
1ce5 : 48               [ 3]>            pha         ;use stack to load status
193e : 28               [ 4]>            plp
1ce6 : 28               [ 4]>            plp
 
 
193f : a982             [ 2]         lda #$82
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  196
1941 : 08               [ 3]         php
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1942 : cd0902           [ 4]         cmp abs1+1  ;test result
 
                                     trap_ne
1ce7 : a982             [ 2]         lda #$82
1945 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ce9 : 08               [ 3]         php
 
1cea : cd0902           [ 4]         cmp abs1+1  ;test result
 
                                     trap_ne
 
1ced : f002             [ 3]>        beq skip1493
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1cef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1cf0 : 18                   >        db      test_num
 
                            >
 
1cf1 :                      >skip1493
 
 
1947 : 68               [ 4]         pla         ;load status
1cf1 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1948 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1cf2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
194a : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1cf4 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
194d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1cf7 : f002             [ 3]>        beq skip1496
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1cf9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1cfa : 18                   >        db      test_num
 
                            >
 
1cfb :                      >skip1496
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
194f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1cfb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1951 : 48               [ 3]>            pha         ;use stack to load status
1cfd : 48               [ 3]>            pha         ;use stack to load status
1952 : 28               [ 4]>            plp
1cfe : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  122
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1953 : a941             [ 2]         lda #$41
1cff : a941             [ 2]         lda #$41
1955 : 08               [ 3]         php
1d01 : 08               [ 3]         php
1956 : cd0a02           [ 4]         cmp abs1+2  ;test result
1d02 : cd0a02           [ 4]         cmp abs1+2  ;test result
                                     trap_ne
                                     trap_ne
1959 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d05 : f002             [ 3]>        beq skip1500
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d07 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d08 : 18                   >        db      test_num
 
                            >
 
1d09 :                      >skip1500
 
 
195b : 68               [ 4]         pla         ;load status
1d09 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
195c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1d0a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
195e : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1d0c : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
1961 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d0f : f002             [ 3]>        beq skip1503
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d11 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  197
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1d12 : 18                   >        db      test_num
 
                            >
 
1d13 :                      >skip1503
 
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
1963 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1d13 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1965 : 48               [ 3]>            pha         ;use stack to load status
1d15 : 48               [ 3]>            pha         ;use stack to load status
1966 : 28               [ 4]>            plp
1d16 : 28               [ 4]>            plp
 
 
1967 : a900             [ 2]         lda #0
1d17 : a900             [ 2]         lda #0
1969 : 08               [ 3]         php
1d19 : 08               [ 3]         php
196a : cd0b02           [ 4]         cmp abs1+3  ;test result
1d1a : cd0b02           [ 4]         cmp abs1+3  ;test result
                                     trap_ne
                                     trap_ne
196d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d1d : f002             [ 3]>        beq skip1507
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d1f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d20 : 18                   >        db      test_num
 
                            >
 
1d21 :                      >skip1507
 
 
196f : 68               [ 4]         pla         ;load status
1d21 : 68               [ 4]         pla         ;load status
                                     eor_flag 0
                                     eor_flag 0
1970 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
1d22 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
 
1972 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1d24 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
1975 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d27 : f002             [ 3]>        beq skip1510
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d29 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d2a : 18                   >        db      test_num
 
                            >
 
1d2b :                      >skip1510
 
 
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
1977 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1d2b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1979 : 48               [ 3]>            pha         ;use stack to load status
1d2d : 48               [ 3]>            pha         ;use stack to load status
197a : 28               [ 4]>            plp
1d2e : 28               [ 4]>            plp
 
 
197b : a9c3             [ 2]         lda #$c3
1d2f : a9c3             [ 2]         lda #$c3
197d : 08               [ 3]         php
1d31 : 08               [ 3]         php
197e : cd0802           [ 4]         cmp abs1    ;test result
1d32 : cd0802           [ 4]         cmp abs1    ;test result
                                     trap_ne
                                     trap_ne
1981 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d35 : f002             [ 3]>        beq skip1514
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d37 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d38 : 18                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  198
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1d39 :                      >skip1514
 
 
1983 : 68               [ 4]         pla         ;load status
1d39 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1984 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1d3a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
1986 : cd0d02           [ 4]         cmp fLDx    ;test flags
1d3c : cd0d02           [ 4]         cmp fLDx    ;test flags
                                     trap_ne
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  123
1d3f : f002             [ 3]>        beq skip1517
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1989 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d41 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d42 : 18                   >        db      test_num
 
                            >
 
1d43 :                      >skip1517
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
198b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1d43 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
198d : 48               [ 3]>            pha         ;use stack to load status
1d45 : 48               [ 3]>            pha         ;use stack to load status
198e : 28               [ 4]>            plp
1d46 : 28               [ 4]>            plp
 
 
198f : a982             [ 2]         lda #$82
1d47 : a982             [ 2]         lda #$82
1991 : 08               [ 3]         php
1d49 : 08               [ 3]         php
1992 : cd0902           [ 4]         cmp abs1+1  ;test result
1d4a : cd0902           [ 4]         cmp abs1+1  ;test result
                                     trap_ne
                                     trap_ne
1995 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d4d : f002             [ 3]>        beq skip1521
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d4f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d50 : 18                   >        db      test_num
 
                            >
 
1d51 :                      >skip1521
 
 
1997 : 68               [ 4]         pla         ;load status
1d51 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
1998 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1d52 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
199a : cd0e02           [ 4]         cmp fLDx+1  ;test flags
1d54 : cd0e02           [ 4]         cmp fLDx+1  ;test flags
                                     trap_ne
                                     trap_ne
199d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d57 : f002             [ 3]>        beq skip1524
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d59 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d5a : 18                   >        db      test_num
 
                            >
 
1d5b :                      >skip1524
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
199f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1d5b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
19a1 : 48               [ 3]>            pha         ;use stack to load status
1d5d : 48               [ 3]>            pha         ;use stack to load status
19a2 : 28               [ 4]>            plp
1d5e : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  199
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
19a3 : a941             [ 2]         lda #$41
 
19a5 : 08               [ 3]         php
 
19a6 : cd0a02           [ 4]         cmp abs1+2  ;test result
 
                                     trap_ne
 
19a9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
19ab : 68               [ 4]         pla         ;load status
1d5f : a941             [ 2]         lda #$41
 
1d61 : 08               [ 3]         php
 
1d62 : cd0a02           [ 4]         cmp abs1+2  ;test result
 
                                     trap_ne
 
1d65 : f002             [ 3]>        beq skip1528
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d67 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d68 : 18                   >        db      test_num
 
                            >
 
1d69 :                      >skip1528
 
 
 
1d69 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
19ac : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1d6a : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
19ae : cd0f02           [ 4]         cmp fLDx+2  ;test flags
1d6c : cd0f02           [ 4]         cmp fLDx+2  ;test flags
                                     trap_ne
                                     trap_ne
19b1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d6f : f002             [ 3]>        beq skip1531
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1d71 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d72 : 18                   >        db      test_num
 
                            >
 
1d73 :                      >skip1531
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
19b3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1d73 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
19b5 : 48               [ 3]>            pha         ;use stack to load status
1d75 : 48               [ 3]>            pha         ;use stack to load status
19b6 : 28               [ 4]>            plp
1d76 : 28               [ 4]>            plp
 
 
19b7 : a900             [ 2]         lda #0
1d77 : a900             [ 2]         lda #0
19b9 : 08               [ 3]         php
1d79 : 08               [ 3]         php
19ba : cd0b02           [ 4]         cmp abs1+3  ;test result
1d7a : cd0b02           [ 4]         cmp abs1+3  ;test result
                                     trap_ne
                                     trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  124
1d7d : f002             [ 3]>        beq skip1535
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
19bd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d7f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1d80 : 18                   >        db      test_num
 
                            >
 
1d81 :                      >skip1535
 
 
19bf : 68               [ 4]         pla         ;load status
1d81 : 68               [ 4]         pla         ;load status
                                     eor_flag lo~fnz ;mask bits not altered
                                     eor_flag lo~fnz ;mask bits not altered
19c0 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
1d82 : 497d             [ 2]>            eor #lo~fnz |fao         ;invert expected flags + always on bits
 
 
19c2 : cd1002           [ 4]         cmp fLDx+3  ;test flags
1d84 : cd1002           [ 4]         cmp fLDx+3  ;test flags
                                     trap_ne
                                     trap_ne
19c5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d87 : f002             [ 3]>        beq skip1538
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  200
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
19c7 : a200             [ 2]         ldx #0
1d89 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
19c9 : a50c             [ 3]         lda zpt
1d8a : 18                   >        db      test_num
19cb : 49c3             [ 2]         eor #$c3
                            >
19cd : c513             [ 3]         cmp zp1
1d8b :                      >skip1538
                                     trap_ne     ;store to zp data
 
19cf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
19d1 : 860c             [ 3]         stx zpt     ;clear
 
19d3 : ad0302           [ 4]         lda abst
 
19d6 : 49c3             [ 2]         eor #$c3
 
19d8 : cd0802           [ 4]         cmp abs1
 
                                     trap_ne     ;store to abs data
 
19db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
19dd : 8e0302           [ 4]         stx abst    ;clear
1d8b : a200             [ 2]         ldx #0
19e0 : a50d             [ 3]         lda zpt+1
1d8d : a5b2             [ 3]         lda zpt
19e2 : 49c3             [ 2]         eor #$c3
1d8f : 49c3             [ 2]         eor #$c3
19e4 : c514             [ 3]         cmp zp1+1
1d91 : c5b9             [ 3]         cmp zp1
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
19e6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1d93 : f002             [ 3]>        beq skip1540
 
                            >        trap           ;failed equal (zero)
19e8 : 860d             [ 3]         stx zpt+1   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
19ea : ad0402           [ 4]         lda abst+1
1d95 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
19ed : 49c3             [ 2]         eor #$c3
1d96 : 18                   >        db      test_num
19ef : cd0902           [ 4]         cmp abs1+1
                            >
 
1d97 :                      >skip1540
 
 
 
1d97 : 86b2             [ 3]         stx zpt     ;clear
 
1d99 : ad0302           [ 4]         lda abst
 
1d9c : 49c3             [ 2]         eor #$c3
 
1d9e : cd0802           [ 4]         cmp abs1
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
19f2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1da1 : f002             [ 3]>        beq skip1542
 
                            >        trap           ;failed equal (zero)
19f4 : 8e0402           [ 4]         stx abst+1  ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
19f7 : a50e             [ 3]         lda zpt+2
1da3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
19f9 : 49c3             [ 2]         eor #$c3
1da4 : 18                   >        db      test_num
19fb : c515             [ 3]         cmp zp1+2
                            >
 
1da5 :                      >skip1542
 
 
 
1da5 : 8e0302           [ 4]         stx abst    ;clear
 
1da8 : a5b3             [ 3]         lda zpt+1
 
1daa : 49c3             [ 2]         eor #$c3
 
1dac : c5ba             [ 3]         cmp zp1+1
                                     trap_ne     ;store to zp data
                                     trap_ne     ;store to zp data
19fd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1dae : f002             [ 3]>        beq skip1544
 
                            >        trap           ;failed equal (zero)
19ff : 860e             [ 3]         stx zpt+2   ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1a01 : ad0502           [ 4]         lda abst+2
1db0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
1a04 : 49c3             [ 2]         eor #$c3
1db1 : 18                   >        db      test_num
1a06 : cd0a02           [ 4]         cmp abs1+2
                            >
 
1db2 :                      >skip1544
 
 
 
1db2 : 86b3             [ 3]         stx zpt+1   ;clear
 
1db4 : ad0402           [ 4]         lda abst+1
 
1db7 : 49c3             [ 2]         eor #$c3
 
1db9 : cd0902           [ 4]         cmp abs1+1
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
1a09 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1dbc : f002             [ 3]>        beq skip1546
 
                            >        trap           ;failed equal (zero)
1a0b : 8e0502           [ 4]         stx abst+2  ;clear
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1a0e : a50f             [ 3]         lda zpt+3
1dbe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  125
1dbf : 18                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  201
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1a10 : 49c3             [ 2]         eor #$c3
                            >
1a12 : c516             [ 3]         cmp zp1+3
1dc0 :                      >skip1546
                                     trap_ne     ;store to zp data
 
1a14 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
1a16 : 860f             [ 3]         stx zpt+3   ;clear
1dc0 : 8e0402           [ 4]         stx abst+1  ;clear
1a18 : ad0602           [ 4]         lda abst+3
1dc3 : a5b4             [ 3]         lda zpt+2
1a1b : 49c3             [ 2]         eor #$c3
1dc5 : 49c3             [ 2]         eor #$c3
1a1d : cd0b02           [ 4]         cmp abs1+3
1dc7 : c5bb             [ 3]         cmp zp1+2
 
                                     trap_ne     ;store to zp data
 
1dc9 : f002             [ 3]>        beq skip1548
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1dcb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1dcc : 18                   >        db      test_num
 
                            >
 
1dcd :                      >skip1548
 
 
 
1dcd : 86b4             [ 3]         stx zpt+2   ;clear
 
1dcf : ad0502           [ 4]         lda abst+2
 
1dd2 : 49c3             [ 2]         eor #$c3
 
1dd4 : cd0a02           [ 4]         cmp abs1+2
 
                                     trap_ne     ;store to abs data
 
1dd7 : f002             [ 3]>        beq skip1550
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1dd9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1dda : 18                   >        db      test_num
 
                            >
 
1ddb :                      >skip1550
 
 
 
1ddb : 8e0502           [ 4]         stx abst+2  ;clear
 
1dde : a5b5             [ 3]         lda zpt+3
 
1de0 : 49c3             [ 2]         eor #$c3
 
1de2 : c5bc             [ 3]         cmp zp1+3
 
                                     trap_ne     ;store to zp data
 
1de4 : f002             [ 3]>        beq skip1552
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1de6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1de7 : 18                   >        db      test_num
 
                            >
 
1de8 :                      >skip1552
 
 
 
1de8 : 86b5             [ 3]         stx zpt+3   ;clear
 
1dea : ad0602           [ 4]         lda abst+3
 
1ded : 49c3             [ 2]         eor #$c3
 
1def : cd0b02           [ 4]         cmp abs1+3
                                     trap_ne     ;store to abs data
                                     trap_ne     ;store to abs data
1a20 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1df2 : f002             [ 3]>        beq skip1554
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1df4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1df5 : 18                   >        db      test_num
 
                            >
 
1df6 :                      >skip1554
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  202
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1a22 : 8e0602           [ 4]         stx abst+3  ;clear
1df6 : 8e0602           [ 4]         stx abst+3  ;clear
                                     next_test
                                     next_test
1a25 : ad0002           [ 4]>            lda test_case   ;previous test
1df9 : ad0002           [ 4]>            lda test_case   ;previous test
1a28 : c918             [ 2]>            cmp #test_num
1dfc : c918             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
1a2a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1dfe : f002             [ 4]>        beq skip1557
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e00 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e01 : 18                   >        db      test_num
 
                            >
 
1e02 :                      >skip1557
                            >
                            >
0019 =                      >test_num = test_num + 1
0019 =                      >test_num = test_num + 1
1a2c : a919             [ 2]>            lda #test_num   ;*** this tests' number
1e02 : a919             [ 2]>            lda #test_num   ;*** this tests' number
1a2e : 8d0002           [ 4]>            sta test_case
1e04 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing bit test & compares BIT CPX CPY CMP all addressing modes
                             ; testing bit test & compares BIT CPX CPY CMP all addressing modes
                             ; BIT - zp / abs
                             ; BIT - zp / abs
 
 
                                     set_a $ff,0
                                     set_a $ff,0
                            >            load_flag 0
                            >            load_flag 0
1a31 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1e07 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1a33 : 48               [ 3]>            pha         ;use stack to load status
1e09 : 48               [ 3]>            pha         ;use stack to load status
1a34 : a9ff             [ 2]>            lda #$ff     ;precharge accu
1e0a : a9ff             [ 2]>            lda #$ff     ;precharge accu
1a36 : 28               [ 4]>            plp
1e0c : 28               [ 4]>            plp
 
 
1a37 : 2416             [ 3]         bit zp1+3   ;00 - should set Z / clear  NV
1e0d : 24bc             [ 3]         bit zp1+3   ;00 - should set Z / clear  NV
                                     tst_a $ff,fz
                                     tst_a $ff,fz
1a39 : 08               [ 3]>            php         ;save flags
1e0f : 08               [ 3]>            php         ;save flags
1a3a : 08               [ 3]>            php
1e10 : 08               [ 3]>            php
1a3b : c9ff             [ 2]>            cmp #$ff     ;test result
1e11 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
1a3d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e13 : f002             [ 3]>        beq skip1562
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e15 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e16 : 19                   >        db      test_num
 
                            >
 
1e17 :                      >skip1562
                            >
                            >
1a3f : 68               [ 4]>            pla         ;load status
1e17 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fz
                            >            cmp_flag fz
1a40 : c932             [ 2]>            cmp #(fz |fao)&m8    ;expected flags + always on bits
1e18 : c932             [ 2]>            cmp #(fz |fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1a42 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e1a : f002             [ 3]>        beq skip1565
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e1c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e1d : 19                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  203
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1e1e :                      >skip1565
                            >
                            >
1a44 : 28               [ 4]>            plp         ;restore status
1e1e : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1a45 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1e1f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  126
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
1a47 : 48               [ 3]>            pha         ;use stack to load status
1e21 : 48               [ 3]>            pha         ;use stack to load status
1a48 : a901             [ 2]>            lda #1     ;precharge accu
1e22 : a901             [ 2]>            lda #1     ;precharge accu
1a4a : 28               [ 4]>            plp
1e24 : 28               [ 4]>            plp
 
 
1a4b : 2415             [ 3]         bit zp1+2   ;41 - should set V (M6) / clear NZ
1e25 : 24bb             [ 3]         bit zp1+2   ;41 - should set V (M6) / clear NZ
                                     tst_a 1,fv
                                     tst_a 1,fv
1a4d : 08               [ 3]>            php         ;save flags
1e27 : 08               [ 3]>            php         ;save flags
1a4e : 08               [ 3]>            php
1e28 : 08               [ 3]>            php
1a4f : c901             [ 2]>            cmp #1     ;test result
1e29 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1a51 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e2b : f002             [ 3]>        beq skip1570
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e2d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e2e : 19                   >        db      test_num
                            >
                            >
1a53 : 68               [ 4]>            pla         ;load status
1e2f :                      >skip1570
 
                            >
 
1e2f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fv
                            >            cmp_flag fv
1a54 : c970             [ 2]>            cmp #(fv|fao)&m8    ;expected flags + always on bits
1e30 : c970             [ 2]>            cmp #(fv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1a56 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e32 : f002             [ 3]>        beq skip1573
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e34 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e35 : 19                   >        db      test_num
 
                            >
 
1e36 :                      >skip1573
                            >
                            >
1a58 : 28               [ 4]>            plp         ;restore status
1e36 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1a59 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1e37 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1a5b : 48               [ 3]>            pha         ;use stack to load status
1e39 : 48               [ 3]>            pha         ;use stack to load status
1a5c : a901             [ 2]>            lda #1     ;precharge accu
1e3a : a901             [ 2]>            lda #1     ;precharge accu
1a5e : 28               [ 4]>            plp
1e3c : 28               [ 4]>            plp
 
 
1a5f : 2414             [ 3]         bit zp1+1   ;82 - should set N (M7) & Z / clear V
1e3d : 24ba             [ 3]         bit zp1+1   ;82 - should set N (M7) & Z / clear V
                                     tst_a 1,fnz
                                     tst_a 1,fnz
1a61 : 08               [ 3]>            php         ;save flags
1e3f : 08               [ 3]>            php         ;save flags
1a62 : 08               [ 3]>            php
1e40 : 08               [ 3]>            php
1a63 : c901             [ 2]>            cmp #1     ;test result
1e41 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1a65 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  204
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1e43 : f002             [ 3]>        beq skip1578
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e45 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e46 : 19                   >        db      test_num
 
                            >
 
1e47 :                      >skip1578
                            >
                            >
1a67 : 68               [ 4]>            pla         ;load status
1e47 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fnz
                            >            cmp_flag fnz
1a68 : c9b2             [ 2]>            cmp #(fnz|fao)&m8    ;expected flags + always on bits
1e48 : c9b2             [ 2]>            cmp #(fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1a6a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e4a : f002             [ 3]>        beq skip1581
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e4c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e4d : 19                   >        db      test_num
                            >
                            >
1a6c : 28               [ 4]>            plp         ;restore status
1e4e :                      >skip1581
 
                            >
 
1e4e : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1a6d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1e4f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1a6f : 48               [ 3]>            pha         ;use stack to load status
1e51 : 48               [ 3]>            pha         ;use stack to load status
1a70 : a901             [ 2]>            lda #1     ;precharge accu
1e52 : a901             [ 2]>            lda #1     ;precharge accu
1a72 : 28               [ 4]>            plp
1e54 : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  127
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1a73 : 2413             [ 3]         bit zp1     ;c3 - should set N (M7) & V (M6) / clear Z
1e55 : 24b9             [ 3]         bit zp1     ;c3 - should set N (M7) & V (M6) / clear Z
                                     tst_a 1,fnv
                                     tst_a 1,fnv
1a75 : 08               [ 3]>            php         ;save flags
1e57 : 08               [ 3]>            php         ;save flags
1a76 : 08               [ 3]>            php
1e58 : 08               [ 3]>            php
1a77 : c901             [ 2]>            cmp #1     ;test result
1e59 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1a79 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e5b : f002             [ 3]>        beq skip1586
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e5d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e5e : 19                   >        db      test_num
 
                            >
 
1e5f :                      >skip1586
                            >
                            >
1a7b : 68               [ 4]>            pla         ;load status
1e5f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fnv
                            >            cmp_flag fnv
1a7c : c9f0             [ 2]>            cmp #(fnv|fao)&m8    ;expected flags + always on bits
1e60 : c9f0             [ 2]>            cmp #(fnv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1a7e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e62 : f002             [ 3]>        beq skip1589
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e64 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e65 : 19                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  205
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
1e66 :                      >skip1589
                            >
                            >
1a80 : 28               [ 4]>            plp         ;restore status
1e66 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $ff,$ff
                                     set_a $ff,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1a81 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1e67 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1a83 : 48               [ 3]>            pha         ;use stack to load status
1e69 : 48               [ 3]>            pha         ;use stack to load status
1a84 : a9ff             [ 2]>            lda #$ff     ;precharge accu
1e6a : a9ff             [ 2]>            lda #$ff     ;precharge accu
1a86 : 28               [ 4]>            plp
1e6c : 28               [ 4]>            plp
 
 
1a87 : 2416             [ 3]         bit zp1+3   ;00 - should set Z / clear  NV
1e6d : 24bc             [ 3]         bit zp1+3   ;00 - should set Z / clear  NV
                                     tst_a $ff,~fnv
                                     tst_a $ff,~fnv
1a89 : 08               [ 3]>            php         ;save flags
1e6f : 08               [ 3]>            php         ;save flags
1a8a : 08               [ 3]>            php
1e70 : 08               [ 3]>            php
1a8b : c9ff             [ 2]>            cmp #$ff     ;test result
1e71 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
1a8d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e73 : f002             [ 3]>        beq skip1594
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e75 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e76 : 19                   >        db      test_num
 
                            >
 
1e77 :                      >skip1594
                            >
                            >
1a8f : 68               [ 4]>            pla         ;load status
1e77 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnv
                            >            cmp_flag ~fnv
1a90 : c93f             [ 2]>            cmp #(~fnv |fao)&m8    ;expected flags + always on bits
1e78 : c93f             [ 2]>            cmp #(~fnv |fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1a92 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e7a : f002             [ 3]>        beq skip1597
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e7c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e7d : 19                   >        db      test_num
                            >
                            >
1a94 : 28               [ 4]>            plp         ;restore status
1e7e :                      >skip1597
 
                            >
 
1e7e : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1a95 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1e7f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1a97 : 48               [ 3]>            pha         ;use stack to load status
1e81 : 48               [ 3]>            pha         ;use stack to load status
1a98 : a901             [ 2]>            lda #1     ;precharge accu
1e82 : a901             [ 2]>            lda #1     ;precharge accu
1a9a : 28               [ 4]>            plp
1e84 : 28               [ 4]>            plp
 
 
1a9b : 2415             [ 3]         bit zp1+2   ;41 - should set V (M6) / clear NZ
1e85 : 24bb             [ 3]         bit zp1+2   ;41 - should set V (M6) / clear NZ
                                     tst_a 1,~fnz
                                     tst_a 1,~fnz
1a9d : 08               [ 3]>            php         ;save flags
1e87 : 08               [ 3]>            php         ;save flags
1a9e : 08               [ 3]>            php
1e88 : 08               [ 3]>            php
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  128
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  206
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1a9f : c901             [ 2]>            cmp #1     ;test result
1e89 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1aa1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e8b : f002             [ 3]>        beq skip1602
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e8d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e8e : 19                   >        db      test_num
 
                            >
 
1e8f :                      >skip1602
                            >
                            >
1aa3 : 68               [ 4]>            pla         ;load status
1e8f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1aa4 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
1e90 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1aa6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1e92 : f002             [ 3]>        beq skip1605
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1e94 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1e95 : 19                   >        db      test_num
                            >
                            >
1aa8 : 28               [ 4]>            plp         ;restore status
1e96 :                      >skip1605
 
                            >
 
1e96 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1aa9 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1e97 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1aab : 48               [ 3]>            pha         ;use stack to load status
1e99 : 48               [ 3]>            pha         ;use stack to load status
1aac : a901             [ 2]>            lda #1     ;precharge accu
1e9a : a901             [ 2]>            lda #1     ;precharge accu
1aae : 28               [ 4]>            plp
1e9c : 28               [ 4]>            plp
 
 
1aaf : 2414             [ 3]         bit zp1+1   ;82 - should set N (M7) & Z / clear V
1e9d : 24ba             [ 3]         bit zp1+1   ;82 - should set N (M7) & Z / clear V
                                     tst_a 1,~fv
                                     tst_a 1,~fv
1ab1 : 08               [ 3]>            php         ;save flags
1e9f : 08               [ 3]>            php         ;save flags
1ab2 : 08               [ 3]>            php
1ea0 : 08               [ 3]>            php
1ab3 : c901             [ 2]>            cmp #1     ;test result
1ea1 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1ab5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ea3 : f002             [ 3]>        beq skip1610
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ea5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ea6 : 19                   >        db      test_num
                            >
                            >
1ab7 : 68               [ 4]>            pla         ;load status
1ea7 :                      >skip1610
 
                            >
 
1ea7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fv
                            >            cmp_flag ~fv
1ab8 : c9bf             [ 2]>            cmp #(~fv|fao)&m8    ;expected flags + always on bits
1ea8 : c9bf             [ 2]>            cmp #(~fv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1aba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1eaa : f002             [ 3]>        beq skip1613
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  207
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1eac : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ead : 19                   >        db      test_num
                            >
                            >
1abc : 28               [ 4]>            plp         ;restore status
1eae :                      >skip1613
 
                            >
 
1eae : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1abd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1eaf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1abf : 48               [ 3]>            pha         ;use stack to load status
1eb1 : 48               [ 3]>            pha         ;use stack to load status
1ac0 : a901             [ 2]>            lda #1     ;precharge accu
1eb2 : a901             [ 2]>            lda #1     ;precharge accu
1ac2 : 28               [ 4]>            plp
1eb4 : 28               [ 4]>            plp
 
 
1ac3 : 2413             [ 3]         bit zp1     ;c3 - should set N (M7) & V (M6) / clear Z
1eb5 : 24b9             [ 3]         bit zp1     ;c3 - should set N (M7) & V (M6) / clear Z
                                     tst_a 1,~fz
                                     tst_a 1,~fz
1ac5 : 08               [ 3]>            php         ;save flags
1eb7 : 08               [ 3]>            php         ;save flags
1ac6 : 08               [ 3]>            php
1eb8 : 08               [ 3]>            php
1ac7 : c901             [ 2]>            cmp #1     ;test result
1eb9 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1ac9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ebb : f002             [ 3]>        beq skip1618
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ebd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ebe : 19                   >        db      test_num
                            >
                            >
1acb : 68               [ 4]>            pla         ;load status
1ebf :                      >skip1618
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  129
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1ebf : 68               [ 4]>            pla         ;load status
 
 
                            >            cmp_flag ~fz
                            >            cmp_flag ~fz
1acc : c9fd             [ 2]>            cmp #(~fz|fao)&m8    ;expected flags + always on bits
1ec0 : c9fd             [ 2]>            cmp #(~fz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ace : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ec2 : f002             [ 3]>        beq skip1621
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ec4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ec5 : 19                   >        db      test_num
                            >
                            >
1ad0 : 28               [ 4]>            plp         ;restore status
1ec6 :                      >skip1621
 
                            >
 
1ec6 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $ff,0
                                     set_a $ff,0
                            >            load_flag 0
                            >            load_flag 0
1ad1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1ec7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1ad3 : 48               [ 3]>            pha         ;use stack to load status
1ec9 : 48               [ 3]>            pha         ;use stack to load status
1ad4 : a9ff             [ 2]>            lda #$ff     ;precharge accu
1eca : a9ff             [ 2]>            lda #$ff     ;precharge accu
1ad6 : 28               [ 4]>            plp
1ecc : 28               [ 4]>            plp
 
 
1ad7 : 2c0b02           [ 4]         bit abs1+3  ;00 - should set Z / clear  NV
1ecd : 2c0b02           [ 4]         bit abs1+3  ;00 - should set Z / clear  NV
                                     tst_a $ff,fz
                                     tst_a $ff,fz
1ada : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  208
1adb : 08               [ 3]>            php
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1adc : c9ff             [ 2]>            cmp #$ff     ;test result
 
                            >            trap_ne
1ed0 : 08               [ 3]>            php         ;save flags
1ade : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ed1 : 08               [ 3]>            php
 
1ed2 : c9ff             [ 2]>            cmp #$ff     ;test result
 
                            >            trap_ne
 
1ed4 : f002             [ 3]>        beq skip1626
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ed6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ed7 : 19                   >        db      test_num
 
                            >
 
1ed8 :                      >skip1626
                            >
                            >
1ae0 : 68               [ 4]>            pla         ;load status
1ed8 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fz
                            >            cmp_flag fz
1ae1 : c932             [ 2]>            cmp #(fz |fao)&m8    ;expected flags + always on bits
1ed9 : c932             [ 2]>            cmp #(fz |fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ae3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1edb : f002             [ 3]>        beq skip1629
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1edd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ede : 19                   >        db      test_num
                            >
                            >
1ae5 : 28               [ 4]>            plp         ;restore status
1edf :                      >skip1629
 
                            >
 
1edf : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1ae6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1ee0 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1ae8 : 48               [ 3]>            pha         ;use stack to load status
1ee2 : 48               [ 3]>            pha         ;use stack to load status
1ae9 : a901             [ 2]>            lda #1     ;precharge accu
1ee3 : a901             [ 2]>            lda #1     ;precharge accu
1aeb : 28               [ 4]>            plp
1ee5 : 28               [ 4]>            plp
 
 
1aec : 2c0a02           [ 4]         bit abs1+2  ;41 - should set V (M6) / clear NZ
1ee6 : 2c0a02           [ 4]         bit abs1+2  ;41 - should set V (M6) / clear NZ
                                     tst_a 1,fv
                                     tst_a 1,fv
1aef : 08               [ 3]>            php         ;save flags
1ee9 : 08               [ 3]>            php         ;save flags
1af0 : 08               [ 3]>            php
1eea : 08               [ 3]>            php
1af1 : c901             [ 2]>            cmp #1     ;test result
1eeb : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1af3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1eed : f002             [ 3]>        beq skip1634
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1eef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ef0 : 19                   >        db      test_num
                            >
                            >
1af5 : 68               [ 4]>            pla         ;load status
1ef1 :                      >skip1634
 
                            >
 
1ef1 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fv
                            >            cmp_flag fv
1af6 : c970             [ 2]>            cmp #(fv|fao)&m8    ;expected flags + always on bits
1ef2 : c970             [ 2]>            cmp #(fv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  130
1ef4 : f002             [ 3]>        beq skip1637
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  209
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1af8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ef6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ef7 : 19                   >        db      test_num
 
                            >
 
1ef8 :                      >skip1637
                            >
                            >
1afa : 28               [ 4]>            plp         ;restore status
1ef8 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1afb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1ef9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1afd : 48               [ 3]>            pha         ;use stack to load status
1efb : 48               [ 3]>            pha         ;use stack to load status
1afe : a901             [ 2]>            lda #1     ;precharge accu
1efc : a901             [ 2]>            lda #1     ;precharge accu
1b00 : 28               [ 4]>            plp
1efe : 28               [ 4]>            plp
 
 
1b01 : 2c0902           [ 4]         bit abs1+1  ;82 - should set N (M7) & Z / clear V
1eff : 2c0902           [ 4]         bit abs1+1  ;82 - should set N (M7) & Z / clear V
                                     tst_a 1,fnz
                                     tst_a 1,fnz
1b04 : 08               [ 3]>            php         ;save flags
1f02 : 08               [ 3]>            php         ;save flags
1b05 : 08               [ 3]>            php
1f03 : 08               [ 3]>            php
1b06 : c901             [ 2]>            cmp #1     ;test result
1f04 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1b08 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f06 : f002             [ 3]>        beq skip1642
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f08 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f09 : 19                   >        db      test_num
 
                            >
 
1f0a :                      >skip1642
                            >
                            >
1b0a : 68               [ 4]>            pla         ;load status
1f0a : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fnz
                            >            cmp_flag fnz
1b0b : c9b2             [ 2]>            cmp #(fnz|fao)&m8    ;expected flags + always on bits
1f0b : c9b2             [ 2]>            cmp #(fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b0d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f0d : f002             [ 3]>        beq skip1645
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f0f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f10 : 19                   >        db      test_num
                            >
                            >
1b0f : 28               [ 4]>            plp         ;restore status
1f11 :                      >skip1645
 
                            >
 
1f11 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,0
                                     set_a 1,0
                            >            load_flag 0
                            >            load_flag 0
1b10 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1f12 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1b12 : 48               [ 3]>            pha         ;use stack to load status
1f14 : 48               [ 3]>            pha         ;use stack to load status
1b13 : a901             [ 2]>            lda #1     ;precharge accu
1f15 : a901             [ 2]>            lda #1     ;precharge accu
1b15 : 28               [ 4]>            plp
1f17 : 28               [ 4]>            plp
 
 
 
1f18 : 2c0802           [ 4]         bit abs1    ;c3 - should set N (M7) & V (M6) / clear Z
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  210
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1b16 : 2c0802           [ 4]         bit abs1    ;c3 - should set N (M7) & V (M6) / clear Z
 
                                     tst_a 1,fnv
                                     tst_a 1,fnv
1b19 : 08               [ 3]>            php         ;save flags
1f1b : 08               [ 3]>            php         ;save flags
1b1a : 08               [ 3]>            php
1f1c : 08               [ 3]>            php
1b1b : c901             [ 2]>            cmp #1     ;test result
1f1d : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1b1d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f1f : f002             [ 3]>        beq skip1650
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f21 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f22 : 19                   >        db      test_num
 
                            >
 
1f23 :                      >skip1650
                            >
                            >
1b1f : 68               [ 4]>            pla         ;load status
1f23 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fnv
                            >            cmp_flag fnv
1b20 : c9f0             [ 2]>            cmp #(fnv|fao)&m8    ;expected flags + always on bits
1f24 : c9f0             [ 2]>            cmp #(fnv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b22 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f26 : f002             [ 3]>        beq skip1653
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f28 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f29 : 19                   >        db      test_num
                            >
                            >
1b24 : 28               [ 4]>            plp         ;restore status
1f2a :                      >skip1653
 
                            >
 
1f2a : 28               [ 4]>            plp         ;restore status
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  131
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     set_a $ff,$ff
                                     set_a $ff,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1b25 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1f2b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1b27 : 48               [ 3]>            pha         ;use stack to load status
1f2d : 48               [ 3]>            pha         ;use stack to load status
1b28 : a9ff             [ 2]>            lda #$ff     ;precharge accu
1f2e : a9ff             [ 2]>            lda #$ff     ;precharge accu
1b2a : 28               [ 4]>            plp
1f30 : 28               [ 4]>            plp
 
 
1b2b : 2c0b02           [ 4]         bit abs1+3  ;00 - should set Z / clear  NV
1f31 : 2c0b02           [ 4]         bit abs1+3  ;00 - should set Z / clear  NV
                                     tst_a $ff,~fnv
                                     tst_a $ff,~fnv
1b2e : 08               [ 3]>            php         ;save flags
1f34 : 08               [ 3]>            php         ;save flags
1b2f : 08               [ 3]>            php
1f35 : 08               [ 3]>            php
1b30 : c9ff             [ 2]>            cmp #$ff     ;test result
1f36 : c9ff             [ 2]>            cmp #$ff     ;test result
                            >            trap_ne
                            >            trap_ne
1b32 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f38 : f002             [ 3]>        beq skip1658
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f3a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f3b : 19                   >        db      test_num
 
                            >
 
1f3c :                      >skip1658
                            >
                            >
1b34 : 68               [ 4]>            pla         ;load status
1f3c : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnv
                            >            cmp_flag ~fnv
1b35 : c93f             [ 2]>            cmp #(~fnv |fao)&m8    ;expected flags + always on bits
1f3d : c93f             [ 2]>            cmp #(~fnv |fao)&m8    ;expected flags + always on bits
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  211
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
1b37 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f3f : f002             [ 3]>        beq skip1661
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f41 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f42 : 19                   >        db      test_num
 
                            >
 
1f43 :                      >skip1661
                            >
                            >
1b39 : 28               [ 4]>            plp         ;restore status
1f43 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1b3a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1f44 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1b3c : 48               [ 3]>            pha         ;use stack to load status
1f46 : 48               [ 3]>            pha         ;use stack to load status
1b3d : a901             [ 2]>            lda #1     ;precharge accu
1f47 : a901             [ 2]>            lda #1     ;precharge accu
1b3f : 28               [ 4]>            plp
1f49 : 28               [ 4]>            plp
 
 
1b40 : 2c0a02           [ 4]         bit abs1+2  ;41 - should set V (M6) / clear NZ
1f4a : 2c0a02           [ 4]         bit abs1+2  ;41 - should set V (M6) / clear NZ
                                     tst_a 1,~fnz
                                     tst_a 1,~fnz
1b43 : 08               [ 3]>            php         ;save flags
1f4d : 08               [ 3]>            php         ;save flags
1b44 : 08               [ 3]>            php
1f4e : 08               [ 3]>            php
1b45 : c901             [ 2]>            cmp #1     ;test result
1f4f : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1b47 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f51 : f002             [ 3]>        beq skip1666
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f53 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f54 : 19                   >        db      test_num
 
                            >
 
1f55 :                      >skip1666
                            >
                            >
1b49 : 68               [ 4]>            pla         ;load status
1f55 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1b4a : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
1f56 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b4c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f58 : f002             [ 3]>        beq skip1669
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f5a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f5b : 19                   >        db      test_num
                            >
                            >
1b4e : 28               [ 4]>            plp         ;restore status
1f5c :                      >skip1669
 
                            >
 
1f5c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1b4f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1f5d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1b51 : 48               [ 3]>            pha         ;use stack to load status
1f5f : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  132
1f60 : a901             [ 2]>            lda #1     ;precharge accu
 
1f62 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  212
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1b52 : a901             [ 2]>            lda #1     ;precharge accu
 
1b54 : 28               [ 4]>            plp
 
 
 
1b55 : 2c0902           [ 4]         bit abs1+1  ;82 - should set N (M7) & Z / clear V
1f63 : 2c0902           [ 4]         bit abs1+1  ;82 - should set N (M7) & Z / clear V
                                     tst_a 1,~fv
                                     tst_a 1,~fv
1b58 : 08               [ 3]>            php         ;save flags
1f66 : 08               [ 3]>            php         ;save flags
1b59 : 08               [ 3]>            php
1f67 : 08               [ 3]>            php
1b5a : c901             [ 2]>            cmp #1     ;test result
1f68 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1b5c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f6a : f002             [ 3]>        beq skip1674
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f6c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f6d : 19                   >        db      test_num
                            >
                            >
1b5e : 68               [ 4]>            pla         ;load status
1f6e :                      >skip1674
 
                            >
 
1f6e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fv
                            >            cmp_flag ~fv
1b5f : c9bf             [ 2]>            cmp #(~fv|fao)&m8    ;expected flags + always on bits
1f6f : c9bf             [ 2]>            cmp #(~fv|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b61 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f71 : f002             [ 3]>        beq skip1677
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f73 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f74 : 19                   >        db      test_num
 
                            >
 
1f75 :                      >skip1677
                            >
                            >
1b63 : 28               [ 4]>            plp         ;restore status
1f75 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a 1,$ff
                                     set_a 1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1b64 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1f76 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1b66 : 48               [ 3]>            pha         ;use stack to load status
1f78 : 48               [ 3]>            pha         ;use stack to load status
1b67 : a901             [ 2]>            lda #1     ;precharge accu
1f79 : a901             [ 2]>            lda #1     ;precharge accu
1b69 : 28               [ 4]>            plp
1f7b : 28               [ 4]>            plp
 
 
1b6a : 2c0802           [ 4]         bit abs1    ;c3 - should set N (M7) & V (M6) / clear Z
1f7c : 2c0802           [ 4]         bit abs1    ;c3 - should set N (M7) & V (M6) / clear Z
                                     tst_a 1,~fz
                                     tst_a 1,~fz
1b6d : 08               [ 3]>            php         ;save flags
1f7f : 08               [ 3]>            php         ;save flags
1b6e : 08               [ 3]>            php
1f80 : 08               [ 3]>            php
1b6f : c901             [ 2]>            cmp #1     ;test result
1f81 : c901             [ 2]>            cmp #1     ;test result
                            >            trap_ne
                            >            trap_ne
1b71 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f83 : f002             [ 3]>        beq skip1682
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f85 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f86 : 19                   >        db      test_num
 
                            >
 
1f87 :                      >skip1682
                            >
                            >
1b73 : 68               [ 4]>            pla         ;load status
1f87 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fz
                            >            cmp_flag ~fz
1b74 : c9fd             [ 2]>            cmp #(~fz|fao)&m8    ;expected flags + always on bits
1f88 : c9fd             [ 2]>            cmp #(~fz|fao)&m8    ;expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  213
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b76 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f8a : f002             [ 3]>        beq skip1685
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f8c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f8d : 19                   >        db      test_num
 
                            >
 
1f8e :                      >skip1685
                            >
                            >
1b78 : 28               [ 4]>            plp         ;restore status
1f8e : 28               [ 4]>            plp         ;restore status
 
 
                                     next_test
                                     next_test
1b79 : ad0002           [ 4]>            lda test_case   ;previous test
1f8f : ad0002           [ 4]>            lda test_case   ;previous test
1b7c : c919             [ 2]>            cmp #test_num
1f92 : c919             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
1b7e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1f94 : f002             [ 3]>        beq skip1688
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1f96 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1f97 : 19                   >        db      test_num
 
                            >
 
1f98 :                      >skip1688
                            >
                            >
001a =                      >test_num = test_num + 1
001a =                      >test_num = test_num + 1
1b80 : a91a             [ 2]>            lda #test_num   ;*** this tests' number
1f98 : a91a             [ 2]>            lda #test_num   ;*** this tests' number
1b82 : 8d0002           [ 4]>            sta test_case
1f9a : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  133
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
 
 
                             ; CPX - zp / abs / #
                             ; CPX - zp / abs / #
 
 
                                     set_x $80,0
                                     set_x $80,0
                            >            load_flag 0
                            >            load_flag 0
1b85 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
1f9d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1b87 : 48               [ 3]>            pha         ;use stack to load status
1f9f : 48               [ 3]>            pha         ;use stack to load status
1b88 : a280             [ 2]>            ldx #$80     ;precharge index x
1fa0 : a280             [ 2]>            ldx #$80     ;precharge index x
1b8a : 28               [ 4]>            plp
1fa2 : 28               [ 4]>            plp
 
 
1b8b : e417             [ 3]         cpx zp7f
1fa3 : e4bd             [ 3]         cpx zp7f
                                     tst_stat fc
                                     tst_stat fc
1b8d : 08               [ 3]>            php         ;save status
1fa5 : 08               [ 3]>            php         ;save status
1b8e : 08               [ 3]>            php         ;use stack to retrieve status
1fa6 : 08               [ 3]>            php         ;use stack to retrieve status
1b8f : 68               [ 4]>            pla
1fa7 : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1b90 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
1fa8 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b92 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1faa : f002             [ 3]>        beq skip1694
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1fac : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fad : 1a                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  214
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1fae :                      >skip1694
                            >
                            >
1b94 : 28               [ 4]>            plp         ;restore status
1fae : 28               [ 4]>            plp         ;restore status
 
 
1b95 : ca               [ 2]         dex
1faf : ca               [ 2]         dex
1b96 : e417             [ 3]         cpx zp7f
1fb0 : e4bd             [ 3]         cpx zp7f
                                     tst_stat fzc
                                     tst_stat fzc
1b98 : 08               [ 3]>            php         ;save status
1fb2 : 08               [ 3]>            php         ;save status
1b99 : 08               [ 3]>            php         ;use stack to retrieve status
1fb3 : 08               [ 3]>            php         ;use stack to retrieve status
1b9a : 68               [ 4]>            pla
1fb4 : 68               [ 4]>            pla
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1b9b : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
1fb5 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1b9d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1fb7 : f002             [ 3]>        beq skip1698
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1fb9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fba : 1a                   >        db      test_num
 
                            >
 
1fbb :                      >skip1698
                            >
                            >
1b9f : 28               [ 4]>            plp         ;restore status
1fbb : 28               [ 4]>            plp         ;restore status
 
 
1ba0 : ca               [ 2]         dex
1fbc : ca               [ 2]         dex
1ba1 : e417             [ 3]         cpx zp7f
1fbd : e4bd             [ 3]         cpx zp7f
                                     tst_x $7e,fn
                                     tst_x $7e,fn
1ba3 : 08               [ 3]>            php         ;save flags
1fbf : 08               [ 3]>            php         ;save flags
1ba4 : 08               [ 3]>            php
1fc0 : 08               [ 3]>            php
1ba5 : e07e             [ 2]>            cpx #$7e     ;test result
1fc1 : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1ba7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1fc3 : f002             [ 3]>        beq skip1701
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1fc5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fc6 : 1a                   >        db      test_num
 
                            >
 
1fc7 :                      >skip1701
                            >
                            >
1ba9 : 68               [ 4]>            pla         ;load status
1fc7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1baa : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
1fc8 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1bac : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1fca : f002             [ 3]>        beq skip1704
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1fcc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fcd : 1a                   >        db      test_num
                            >
                            >
1bae : 28               [ 4]>            plp         ;restore status
1fce :                      >skip1704
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  134
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
1fce : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_x $80,$ff
                                     set_x $80,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  215
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
1baf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
1fcf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1bb1 : 48               [ 3]>            pha         ;use stack to load status
1fd1 : 48               [ 3]>            pha         ;use stack to load status
1bb2 : a280             [ 2]>            ldx #$80     ;precharge index x
1fd2 : a280             [ 2]>            ldx #$80     ;precharge index x
1bb4 : 28               [ 4]>            plp
1fd4 : 28               [ 4]>            plp
 
 
1bb5 : e417             [ 3]         cpx zp7f
1fd5 : e4bd             [ 3]         cpx zp7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1bb7 : 08               [ 3]>            php         ;save status
1fd7 : 08               [ 3]>            php         ;save status
1bb8 : 08               [ 3]>            php         ;use stack to retrieve status
1fd8 : 08               [ 3]>            php         ;use stack to retrieve status
1bb9 : 68               [ 4]>            pla
1fd9 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1bba : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
1fda : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1bbc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1fdc : f002             [ 3]>        beq skip1710
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1fde : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fdf : 1a                   >        db      test_num
 
                            >
 
1fe0 :                      >skip1710
                            >
                            >
1bbe : 28               [ 4]>            plp         ;restore status
1fe0 : 28               [ 4]>            plp         ;restore status
 
 
1bbf : ca               [ 2]         dex
1fe1 : ca               [ 2]         dex
1bc0 : e417             [ 3]         cpx zp7f
1fe2 : e4bd             [ 3]         cpx zp7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1bc2 : 08               [ 3]>            php         ;save status
1fe4 : 08               [ 3]>            php         ;save status
1bc3 : 08               [ 3]>            php         ;use stack to retrieve status
1fe5 : 08               [ 3]>            php         ;use stack to retrieve status
1bc4 : 68               [ 4]>            pla
1fe6 : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1bc5 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
1fe7 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1bc7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1fe9 : f002             [ 3]>        beq skip1714
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1feb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fec : 1a                   >        db      test_num
                            >
                            >
1bc9 : 28               [ 4]>            plp         ;restore status
1fed :                      >skip1714
 
                            >
 
1fed : 28               [ 4]>            plp         ;restore status
 
 
1bca : ca               [ 2]         dex
1fee : ca               [ 2]         dex
1bcb : e417             [ 3]         cpx zp7f
1fef : e4bd             [ 3]         cpx zp7f
                                     tst_x $7e,~fzc
                                     tst_x $7e,~fzc
1bcd : 08               [ 3]>            php         ;save flags
1ff1 : 08               [ 3]>            php         ;save flags
1bce : 08               [ 3]>            php
1ff2 : 08               [ 3]>            php
1bcf : e07e             [ 2]>            cpx #$7e     ;test result
1ff3 : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1bd1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ff5 : f002             [ 3]>        beq skip1717
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  216
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ff7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1ff8 : 1a                   >        db      test_num
                            >
                            >
1bd3 : 68               [ 4]>            pla         ;load status
1ff9 :                      >skip1717
 
                            >
 
1ff9 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1bd4 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
1ffa : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1bd6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
1ffc : f002             [ 4]>        beq skip1720
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
1ffe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
1fff : 1a                   >        db      test_num
                            >
                            >
1bd8 : 28               [ 4]>            plp         ;restore status
2000 :                      >skip1720
 
                            >
 
2000 : 28               [ 4]>            plp         ;restore status
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  135
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     set_x $80,0
                                     set_x $80,0
                            >            load_flag 0
                            >            load_flag 0
1bd9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2001 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1bdb : 48               [ 3]>            pha         ;use stack to load status
2003 : 48               [ 3]>            pha         ;use stack to load status
1bdc : a280             [ 2]>            ldx #$80     ;precharge index x
2004 : a280             [ 2]>            ldx #$80     ;precharge index x
1bde : 28               [ 4]>            plp
2006 : 28               [ 4]>            plp
 
 
1bdf : ec0c02           [ 4]         cpx abs7f
2007 : ec0c02           [ 4]         cpx abs7f
                                     tst_stat fc
                                     tst_stat fc
1be2 : 08               [ 3]>            php         ;save status
200a : 08               [ 3]>            php         ;save status
1be3 : 08               [ 3]>            php         ;use stack to retrieve status
200b : 08               [ 3]>            php         ;use stack to retrieve status
1be4 : 68               [ 4]>            pla
200c : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1be5 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
200d : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1be7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
200f : f002             [ 3]>        beq skip1726
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2011 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2012 : 1a                   >        db      test_num
 
                            >
 
2013 :                      >skip1726
                            >
                            >
1be9 : 28               [ 4]>            plp         ;restore status
2013 : 28               [ 4]>            plp         ;restore status
 
 
1bea : ca               [ 2]         dex
2014 : ca               [ 2]         dex
1beb : ec0c02           [ 4]         cpx abs7f
2015 : ec0c02           [ 4]         cpx abs7f
                                     tst_stat fzc
                                     tst_stat fzc
1bee : 08               [ 3]>            php         ;save status
2018 : 08               [ 3]>            php         ;save status
1bef : 08               [ 3]>            php         ;use stack to retrieve status
2019 : 08               [ 3]>            php         ;use stack to retrieve status
1bf0 : 68               [ 4]>            pla
201a : 68               [ 4]>            pla
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  217
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1bf1 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
201b : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1bf3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
201d : f002             [ 3]>        beq skip1730
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
201f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2020 : 1a                   >        db      test_num
 
                            >
 
2021 :                      >skip1730
                            >
                            >
1bf5 : 28               [ 4]>            plp         ;restore status
2021 : 28               [ 4]>            plp         ;restore status
 
 
1bf6 : ca               [ 2]         dex
2022 : ca               [ 2]         dex
1bf7 : ec0c02           [ 4]         cpx abs7f
2023 : ec0c02           [ 4]         cpx abs7f
                                     tst_x $7e,fn
                                     tst_x $7e,fn
1bfa : 08               [ 3]>            php         ;save flags
2026 : 08               [ 3]>            php         ;save flags
1bfb : 08               [ 3]>            php
2027 : 08               [ 3]>            php
1bfc : e07e             [ 2]>            cpx #$7e     ;test result
2028 : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1bfe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
202a : f002             [ 3]>        beq skip1733
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
202c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
202d : 1a                   >        db      test_num
 
                            >
 
202e :                      >skip1733
                            >
                            >
1c00 : 68               [ 4]>            pla         ;load status
202e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1c01 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
202f : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c03 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2031 : f002             [ 3]>        beq skip1736
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2033 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2034 : 1a                   >        db      test_num
                            >
                            >
1c05 : 28               [ 4]>            plp         ;restore status
2035 :                      >skip1736
 
                            >
 
2035 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_x $80,$ff
                                     set_x $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  136
2036 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1c06 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
                            >
1c08 : 48               [ 3]>            pha         ;use stack to load status
2038 : 48               [ 3]>            pha         ;use stack to load status
1c09 : a280             [ 2]>            ldx #$80     ;precharge index x
2039 : a280             [ 2]>            ldx #$80     ;precharge index x
1c0b : 28               [ 4]>            plp
203b : 28               [ 4]>            plp
 
 
1c0c : ec0c02           [ 4]         cpx abs7f
203c : ec0c02           [ 4]         cpx abs7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1c0f : 08               [ 3]>            php         ;save status
203f : 08               [ 3]>            php         ;save status
1c10 : 08               [ 3]>            php         ;use stack to retrieve status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  218
1c11 : 68               [ 4]>            pla
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2040 : 08               [ 3]>            php         ;use stack to retrieve status
 
2041 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1c12 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
2042 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c14 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2044 : f002             [ 3]>        beq skip1742
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2046 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2047 : 1a                   >        db      test_num
 
                            >
 
2048 :                      >skip1742
                            >
                            >
1c16 : 28               [ 4]>            plp         ;restore status
2048 : 28               [ 4]>            plp         ;restore status
 
 
1c17 : ca               [ 2]         dex
2049 : ca               [ 2]         dex
1c18 : ec0c02           [ 4]         cpx abs7f
204a : ec0c02           [ 4]         cpx abs7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1c1b : 08               [ 3]>            php         ;save status
204d : 08               [ 3]>            php         ;save status
1c1c : 08               [ 3]>            php         ;use stack to retrieve status
204e : 08               [ 3]>            php         ;use stack to retrieve status
1c1d : 68               [ 4]>            pla
204f : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1c1e : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2050 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c20 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2052 : f002             [ 3]>        beq skip1746
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2054 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2055 : 1a                   >        db      test_num
                            >
                            >
1c22 : 28               [ 4]>            plp         ;restore status
2056 :                      >skip1746
 
                            >
 
2056 : 28               [ 4]>            plp         ;restore status
 
 
1c23 : ca               [ 2]         dex
2057 : ca               [ 2]         dex
1c24 : ec0c02           [ 4]         cpx abs7f
2058 : ec0c02           [ 4]         cpx abs7f
                                     tst_x $7e,~fzc
                                     tst_x $7e,~fzc
1c27 : 08               [ 3]>            php         ;save flags
205b : 08               [ 3]>            php         ;save flags
1c28 : 08               [ 3]>            php
205c : 08               [ 3]>            php
1c29 : e07e             [ 2]>            cpx #$7e     ;test result
205d : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1c2b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
205f : f002             [ 3]>        beq skip1749
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2061 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2062 : 1a                   >        db      test_num
                            >
                            >
1c2d : 68               [ 4]>            pla         ;load status
2063 :                      >skip1749
 
                            >
 
2063 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1c2e : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
2064 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  219
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
1c30 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2066 : f002             [ 3]>        beq skip1752
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2068 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2069 : 1a                   >        db      test_num
                            >
                            >
1c32 : 28               [ 4]>            plp         ;restore status
206a :                      >skip1752
 
                            >
 
206a : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_x $80,0
                                     set_x $80,0
                            >            load_flag 0
                            >            load_flag 0
1c33 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
206b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  137
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
1c35 : 48               [ 3]>            pha         ;use stack to load status
206d : 48               [ 3]>            pha         ;use stack to load status
1c36 : a280             [ 2]>            ldx #$80     ;precharge index x
206e : a280             [ 2]>            ldx #$80     ;precharge index x
1c38 : 28               [ 4]>            plp
2070 : 28               [ 4]>            plp
 
 
1c39 : e07f             [ 2]         cpx #$7f
2071 : e07f             [ 2]         cpx #$7f
                                     tst_stat fc
                                     tst_stat fc
1c3b : 08               [ 3]>            php         ;save status
2073 : 08               [ 3]>            php         ;save status
1c3c : 08               [ 3]>            php         ;use stack to retrieve status
2074 : 08               [ 3]>            php         ;use stack to retrieve status
1c3d : 68               [ 4]>            pla
2075 : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1c3e : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2076 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c40 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2078 : f002             [ 3]>        beq skip1758
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
207a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
207b : 1a                   >        db      test_num
                            >
                            >
1c42 : 28               [ 4]>            plp         ;restore status
207c :                      >skip1758
 
                            >
 
207c : 28               [ 4]>            plp         ;restore status
 
 
1c43 : ca               [ 2]         dex
207d : ca               [ 2]         dex
1c44 : e07f             [ 2]         cpx #$7f
207e : e07f             [ 2]         cpx #$7f
                                     tst_stat fzc
                                     tst_stat fzc
1c46 : 08               [ 3]>            php         ;save status
2080 : 08               [ 3]>            php         ;save status
1c47 : 08               [ 3]>            php         ;use stack to retrieve status
2081 : 08               [ 3]>            php         ;use stack to retrieve status
1c48 : 68               [ 4]>            pla
2082 : 68               [ 4]>            pla
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1c49 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
2083 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c4b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2085 : f002             [ 3]>        beq skip1762
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2087 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2088 : 1a                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  220
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2089 :                      >skip1762
                            >
                            >
1c4d : 28               [ 4]>            plp         ;restore status
2089 : 28               [ 4]>            plp         ;restore status
 
 
1c4e : ca               [ 2]         dex
208a : ca               [ 2]         dex
1c4f : e07f             [ 2]         cpx #$7f
208b : e07f             [ 2]         cpx #$7f
                                     tst_x $7e,fn
                                     tst_x $7e,fn
1c51 : 08               [ 3]>            php         ;save flags
208d : 08               [ 3]>            php         ;save flags
1c52 : 08               [ 3]>            php
208e : 08               [ 3]>            php
1c53 : e07e             [ 2]>            cpx #$7e     ;test result
208f : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1c55 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2091 : f002             [ 3]>        beq skip1765
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2093 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2094 : 1a                   >        db      test_num
                            >
                            >
1c57 : 68               [ 4]>            pla         ;load status
2095 :                      >skip1765
 
                            >
 
2095 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1c58 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2096 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c5a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2098 : f002             [ 3]>        beq skip1768
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
209a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
209b : 1a                   >        db      test_num
 
                            >
 
209c :                      >skip1768
                            >
                            >
1c5c : 28               [ 4]>            plp         ;restore status
209c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_x $80,$ff
                                     set_x $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1c5d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
209d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1c5f : 48               [ 3]>            pha         ;use stack to load status
209f : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  138
20a0 : a280             [ 2]>            ldx #$80     ;precharge index x
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
20a2 : 28               [ 4]>            plp
 
 
1c60 : a280             [ 2]>            ldx #$80     ;precharge index x
 
1c62 : 28               [ 4]>            plp
 
 
 
1c63 : e07f             [ 2]         cpx #$7f
20a3 : e07f             [ 2]         cpx #$7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1c65 : 08               [ 3]>            php         ;save status
20a5 : 08               [ 3]>            php         ;save status
1c66 : 08               [ 3]>            php         ;use stack to retrieve status
20a6 : 08               [ 3]>            php         ;use stack to retrieve status
1c67 : 68               [ 4]>            pla
20a7 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1c68 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
20a8 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c6a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20aa : f002             [ 3]>        beq skip1774
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20ac : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  221
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
20ad : 1a                   >        db      test_num
 
                            >
 
20ae :                      >skip1774
                            >
                            >
1c6c : 28               [ 4]>            plp         ;restore status
20ae : 28               [ 4]>            plp         ;restore status
 
 
1c6d : ca               [ 2]         dex
20af : ca               [ 2]         dex
1c6e : e07f             [ 2]         cpx #$7f
20b0 : e07f             [ 2]         cpx #$7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1c70 : 08               [ 3]>            php         ;save status
20b2 : 08               [ 3]>            php         ;save status
1c71 : 08               [ 3]>            php         ;use stack to retrieve status
20b3 : 08               [ 3]>            php         ;use stack to retrieve status
1c72 : 68               [ 4]>            pla
20b4 : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1c73 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
20b5 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c75 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20b7 : f002             [ 3]>        beq skip1778
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20b9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20ba : 1a                   >        db      test_num
                            >
                            >
1c77 : 28               [ 4]>            plp         ;restore status
20bb :                      >skip1778
 
                            >
 
20bb : 28               [ 4]>            plp         ;restore status
 
 
1c78 : ca               [ 2]         dex
20bc : ca               [ 2]         dex
1c79 : e07f             [ 2]         cpx #$7f
20bd : e07f             [ 2]         cpx #$7f
                                     tst_x $7e,~fzc
                                     tst_x $7e,~fzc
1c7b : 08               [ 3]>            php         ;save flags
20bf : 08               [ 3]>            php         ;save flags
1c7c : 08               [ 3]>            php
20c0 : 08               [ 3]>            php
1c7d : e07e             [ 2]>            cpx #$7e     ;test result
20c1 : e07e             [ 2]>            cpx #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1c7f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20c3 : f002             [ 3]>        beq skip1781
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20c5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20c6 : 1a                   >        db      test_num
                            >
                            >
1c81 : 68               [ 4]>            pla         ;load status
20c7 :                      >skip1781
 
                            >
 
20c7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1c82 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
20c8 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1c84 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20ca : f002             [ 3]>        beq skip1784
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20cc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20cd : 1a                   >        db      test_num
 
                            >
 
20ce :                      >skip1784
                            >
                            >
1c86 : 28               [ 4]>            plp         ;restore status
20ce : 28               [ 4]>            plp         ;restore status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  222
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     next_test
                                     next_test
1c87 : ad0002           [ 4]>            lda test_case   ;previous test
20cf : ad0002           [ 4]>            lda test_case   ;previous test
1c8a : c91a             [ 2]>            cmp #test_num
20d2 : c91a             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
1c8c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20d4 : f002             [ 3]>        beq skip1787
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20d6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20d7 : 1a                   >        db      test_num
 
                            >
 
20d8 :                      >skip1787
                            >
                            >
001b =                      >test_num = test_num + 1
001b =                      >test_num = test_num + 1
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  139
20d8 : a91b             [ 2]>            lda #test_num   ;*** this tests' number
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
20da : 8d0002           [ 4]>            sta test_case
 
 
1c8e : a91b             [ 2]>            lda #test_num   ;*** this tests' number
 
1c90 : 8d0002           [ 4]>            sta test_case
 
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; CPY - zp / abs / #
                             ; CPY - zp / abs / #
 
 
                                     set_y $80,0
                                     set_y $80,0
                            >            load_flag 0
                            >            load_flag 0
1c93 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
20dd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1c95 : 48               [ 3]>            pha         ;use stack to load status
20df : 48               [ 3]>            pha         ;use stack to load status
1c96 : a080             [ 2]>            ldy #$80     ;precharge index y
20e0 : a080             [ 2]>            ldy #$80     ;precharge index y
1c98 : 28               [ 4]>            plp
20e2 : 28               [ 4]>            plp
 
 
1c99 : c417             [ 3]         cpy zp7f
20e3 : c4bd             [ 3]         cpy zp7f
                                     tst_stat fc
                                     tst_stat fc
1c9b : 08               [ 3]>            php         ;save status
20e5 : 08               [ 3]>            php         ;save status
1c9c : 08               [ 3]>            php         ;use stack to retrieve status
20e6 : 08               [ 3]>            php         ;use stack to retrieve status
1c9d : 68               [ 4]>            pla
20e7 : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1c9e : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
20e8 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ca0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20ea : f002             [ 3]>        beq skip1793
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20ec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20ed : 1b                   >        db      test_num
                            >
                            >
1ca2 : 28               [ 4]>            plp         ;restore status
20ee :                      >skip1793
 
                            >
 
20ee : 28               [ 4]>            plp         ;restore status
 
 
1ca3 : 88               [ 2]         dey
20ef : 88               [ 2]         dey
1ca4 : c417             [ 3]         cpy zp7f
20f0 : c4bd             [ 3]         cpy zp7f
                                     tst_stat fzc
                                     tst_stat fzc
1ca6 : 08               [ 3]>            php         ;save status
20f2 : 08               [ 3]>            php         ;save status
1ca7 : 08               [ 3]>            php         ;use stack to retrieve status
20f3 : 08               [ 3]>            php         ;use stack to retrieve status
1ca8 : 68               [ 4]>            pla
20f4 : 68               [ 4]>            pla
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1ca9 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  223
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
20f5 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1cab : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
20f7 : f002             [ 3]>        beq skip1797
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
20f9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
20fa : 1b                   >        db      test_num
                            >
                            >
1cad : 28               [ 4]>            plp         ;restore status
20fb :                      >skip1797
 
                            >
 
20fb : 28               [ 4]>            plp         ;restore status
 
 
1cae : 88               [ 2]         dey
20fc : 88               [ 2]         dey
1caf : c417             [ 3]         cpy zp7f
20fd : c4bd             [ 3]         cpy zp7f
                                     tst_y $7e,fn
                                     tst_y $7e,fn
1cb1 : 08               [ 3]>            php         ;save flags
20ff : 08               [ 3]>            php         ;save flags
1cb2 : 08               [ 3]>            php
2100 : 08               [ 3]>            php
1cb3 : c07e             [ 2]>            cpy #$7e     ;test result
2101 : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1cb5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2103 : f002             [ 3]>        beq skip1800
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2105 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2106 : 1b                   >        db      test_num
                            >
                            >
1cb7 : 68               [ 4]>            pla         ;load status
2107 :                      >skip1800
 
                            >
 
2107 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1cb8 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2108 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  140
210a : f002             [ 3]>        beq skip1803
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1cba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
210c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
210d : 1b                   >        db      test_num
                            >
                            >
1cbc : 28               [ 4]>            plp         ;restore status
210e :                      >skip1803
 
                            >
 
210e : 28               [ 4]>            plp         ;restore status
 
 
                                     set_y $80,$ff
                                     set_y $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1cbd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
210f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1cbf : 48               [ 3]>            pha         ;use stack to load status
2111 : 48               [ 3]>            pha         ;use stack to load status
1cc0 : a080             [ 2]>            ldy #$80     ;precharge index y
2112 : a080             [ 2]>            ldy #$80     ;precharge index y
1cc2 : 28               [ 4]>            plp
2114 : 28               [ 4]>            plp
 
 
1cc3 : c417             [ 3]         cpy zp7f
2115 : c4bd             [ 3]         cpy zp7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1cc5 : 08               [ 3]>            php         ;save status
2117 : 08               [ 3]>            php         ;save status
1cc6 : 08               [ 3]>            php         ;use stack to retrieve status
2118 : 08               [ 3]>            php         ;use stack to retrieve status
1cc7 : 68               [ 4]>            pla
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  224
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2119 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1cc8 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
211a : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1cca : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
211c : f002             [ 3]>        beq skip1809
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
211e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
211f : 1b                   >        db      test_num
                            >
                            >
1ccc : 28               [ 4]>            plp         ;restore status
2120 :                      >skip1809
 
                            >
 
2120 : 28               [ 4]>            plp         ;restore status
 
 
1ccd : 88               [ 2]         dey
2121 : 88               [ 2]         dey
1cce : c417             [ 3]         cpy zp7f
2122 : c4bd             [ 3]         cpy zp7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1cd0 : 08               [ 3]>            php         ;save status
2124 : 08               [ 3]>            php         ;save status
1cd1 : 08               [ 3]>            php         ;use stack to retrieve status
2125 : 08               [ 3]>            php         ;use stack to retrieve status
1cd2 : 68               [ 4]>            pla
2126 : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1cd3 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2127 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1cd5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2129 : f002             [ 3]>        beq skip1813
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
212b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
212c : 1b                   >        db      test_num
 
                            >
 
212d :                      >skip1813
                            >
                            >
1cd7 : 28               [ 4]>            plp         ;restore status
212d : 28               [ 4]>            plp         ;restore status
 
 
1cd8 : 88               [ 2]         dey
212e : 88               [ 2]         dey
1cd9 : c417             [ 3]         cpy zp7f
212f : c4bd             [ 3]         cpy zp7f
                                     tst_y $7e,~fzc
                                     tst_y $7e,~fzc
1cdb : 08               [ 3]>            php         ;save flags
2131 : 08               [ 3]>            php         ;save flags
1cdc : 08               [ 3]>            php
2132 : 08               [ 3]>            php
1cdd : c07e             [ 2]>            cpy #$7e     ;test result
2133 : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1cdf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2135 : f002             [ 3]>        beq skip1816
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2137 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2138 : 1b                   >        db      test_num
                            >
                            >
1ce1 : 68               [ 4]>            pla         ;load status
2139 :                      >skip1816
 
                            >
 
2139 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1ce2 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
213a : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ce4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  225
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  141
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1ce6 : 28               [ 4]>            plp         ;restore status
213c : f002             [ 3]>        beq skip1819
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
213e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
213f : 1b                   >        db      test_num
 
                            >
 
2140 :                      >skip1819
 
                            >
 
2140 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_y $80,0
                                     set_y $80,0
                            >            load_flag 0
                            >            load_flag 0
1ce7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2141 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1ce9 : 48               [ 3]>            pha         ;use stack to load status
2143 : 48               [ 3]>            pha         ;use stack to load status
1cea : a080             [ 2]>            ldy #$80     ;precharge index y
2144 : a080             [ 2]>            ldy #$80     ;precharge index y
1cec : 28               [ 4]>            plp
2146 : 28               [ 4]>            plp
 
 
1ced : cc0c02           [ 4]         cpy abs7f
2147 : cc0c02           [ 4]         cpy abs7f
                                     tst_stat fc
                                     tst_stat fc
1cf0 : 08               [ 3]>            php         ;save status
214a : 08               [ 3]>            php         ;save status
1cf1 : 08               [ 3]>            php         ;use stack to retrieve status
214b : 08               [ 3]>            php         ;use stack to retrieve status
1cf2 : 68               [ 4]>            pla
214c : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1cf3 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
214d : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1cf5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
214f : f002             [ 3]>        beq skip1825
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2151 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2152 : 1b                   >        db      test_num
                            >
                            >
1cf7 : 28               [ 4]>            plp         ;restore status
2153 :                      >skip1825
 
                            >
 
2153 : 28               [ 4]>            plp         ;restore status
 
 
1cf8 : 88               [ 2]         dey
2154 : 88               [ 2]         dey
1cf9 : cc0c02           [ 4]         cpy abs7f
2155 : cc0c02           [ 4]         cpy abs7f
                                     tst_stat fzc
                                     tst_stat fzc
1cfc : 08               [ 3]>            php         ;save status
2158 : 08               [ 3]>            php         ;save status
1cfd : 08               [ 3]>            php         ;use stack to retrieve status
2159 : 08               [ 3]>            php         ;use stack to retrieve status
1cfe : 68               [ 4]>            pla
215a : 68               [ 4]>            pla
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1cff : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
215b : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d01 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
215d : f002             [ 3]>        beq skip1829
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
215f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2160 : 1b                   >        db      test_num
 
                            >
 
2161 :                      >skip1829
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  226
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
1d03 : 28               [ 4]>            plp         ;restore status
2161 : 28               [ 4]>            plp         ;restore status
 
 
1d04 : 88               [ 2]         dey
2162 : 88               [ 2]         dey
1d05 : cc0c02           [ 4]         cpy abs7f
2163 : cc0c02           [ 4]         cpy abs7f
                                     tst_y $7e,fn
                                     tst_y $7e,fn
1d08 : 08               [ 3]>            php         ;save flags
2166 : 08               [ 3]>            php         ;save flags
1d09 : 08               [ 3]>            php
2167 : 08               [ 3]>            php
1d0a : c07e             [ 2]>            cpy #$7e     ;test result
2168 : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1d0c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
216a : f002             [ 3]>        beq skip1832
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
216c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
216d : 1b                   >        db      test_num
                            >
                            >
1d0e : 68               [ 4]>            pla         ;load status
216e :                      >skip1832
 
                            >
 
216e : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1d0f : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
216f : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d11 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2171 : f002             [ 3]>        beq skip1835
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2173 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2174 : 1b                   >        db      test_num
                            >
                            >
1d13 : 28               [ 4]>            plp         ;restore status
2175 :                      >skip1835
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  142
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2175 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_y $80,$ff
                                     set_y $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1d14 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2176 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1d16 : 48               [ 3]>            pha         ;use stack to load status
2178 : 48               [ 3]>            pha         ;use stack to load status
1d17 : a080             [ 2]>            ldy #$80     ;precharge index y
2179 : a080             [ 2]>            ldy #$80     ;precharge index y
1d19 : 28               [ 4]>            plp
217b : 28               [ 4]>            plp
 
 
1d1a : cc0c02           [ 4]         cpy abs7f
217c : cc0c02           [ 4]         cpy abs7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1d1d : 08               [ 3]>            php         ;save status
217f : 08               [ 3]>            php         ;save status
1d1e : 08               [ 3]>            php         ;use stack to retrieve status
2180 : 08               [ 3]>            php         ;use stack to retrieve status
1d1f : 68               [ 4]>            pla
2181 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1d20 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
2182 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d22 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2184 : f002             [ 3]>        beq skip1841
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2186 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2187 : 1b                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  227
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
1d24 : 28               [ 4]>            plp         ;restore status
2188 :                      >skip1841
 
                            >
 
2188 : 28               [ 4]>            plp         ;restore status
 
 
1d25 : 88               [ 2]         dey
2189 : 88               [ 2]         dey
1d26 : cc0c02           [ 4]         cpy abs7f
218a : cc0c02           [ 4]         cpy abs7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1d29 : 08               [ 3]>            php         ;save status
218d : 08               [ 3]>            php         ;save status
1d2a : 08               [ 3]>            php         ;use stack to retrieve status
218e : 08               [ 3]>            php         ;use stack to retrieve status
1d2b : 68               [ 4]>            pla
218f : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1d2c : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2190 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d2e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2192 : f002             [ 3]>        beq skip1845
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2194 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2195 : 1b                   >        db      test_num
 
                            >
 
2196 :                      >skip1845
                            >
                            >
1d30 : 28               [ 4]>            plp         ;restore status
2196 : 28               [ 4]>            plp         ;restore status
 
 
1d31 : 88               [ 2]         dey
2197 : 88               [ 2]         dey
1d32 : cc0c02           [ 4]         cpy abs7f
2198 : cc0c02           [ 4]         cpy abs7f
                                     tst_y $7e,~fzc
                                     tst_y $7e,~fzc
1d35 : 08               [ 3]>            php         ;save flags
219b : 08               [ 3]>            php         ;save flags
1d36 : 08               [ 3]>            php
219c : 08               [ 3]>            php
1d37 : c07e             [ 2]>            cpy #$7e     ;test result
219d : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1d39 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
219f : f002             [ 3]>        beq skip1848
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21a1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21a2 : 1b                   >        db      test_num
 
                            >
 
21a3 :                      >skip1848
                            >
                            >
1d3b : 68               [ 4]>            pla         ;load status
21a3 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1d3c : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
21a4 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d3e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21a6 : f002             [ 3]>        beq skip1851
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21a8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21a9 : 1b                   >        db      test_num
                            >
                            >
1d40 : 28               [ 4]>            plp         ;restore status
21aa :                      >skip1851
 
                            >
 
21aa : 28               [ 4]>            plp         ;restore status
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  143
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  228
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     set_y $80,0
                                     set_y $80,0
                            >            load_flag 0
                            >            load_flag 0
1d41 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
21ab : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1d43 : 48               [ 3]>            pha         ;use stack to load status
21ad : 48               [ 3]>            pha         ;use stack to load status
1d44 : a080             [ 2]>            ldy #$80     ;precharge index y
21ae : a080             [ 2]>            ldy #$80     ;precharge index y
1d46 : 28               [ 4]>            plp
21b0 : 28               [ 4]>            plp
 
 
1d47 : c07f             [ 2]         cpy #$7f
21b1 : c07f             [ 2]         cpy #$7f
                                     tst_stat fc
                                     tst_stat fc
1d49 : 08               [ 3]>            php         ;save status
21b3 : 08               [ 3]>            php         ;save status
1d4a : 08               [ 3]>            php         ;use stack to retrieve status
21b4 : 08               [ 3]>            php         ;use stack to retrieve status
1d4b : 68               [ 4]>            pla
21b5 : 68               [ 4]>            pla
                            >            cmp_flag fc
                            >            cmp_flag fc
1d4c : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
21b6 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d4e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21b8 : f002             [ 3]>        beq skip1857
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21ba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21bb : 1b                   >        db      test_num
                            >
                            >
1d50 : 28               [ 4]>            plp         ;restore status
21bc :                      >skip1857
 
                            >
 
21bc : 28               [ 4]>            plp         ;restore status
 
 
1d51 : 88               [ 2]         dey
21bd : 88               [ 2]         dey
1d52 : c07f             [ 2]         cpy #$7f
21be : c07f             [ 2]         cpy #$7f
                                     tst_stat fzc
                                     tst_stat fzc
1d54 : 08               [ 3]>            php         ;save status
21c0 : 08               [ 3]>            php         ;save status
1d55 : 08               [ 3]>            php         ;use stack to retrieve status
21c1 : 08               [ 3]>            php         ;use stack to retrieve status
1d56 : 68               [ 4]>            pla
21c2 : 68               [ 4]>            pla
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1d57 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
21c3 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d59 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21c5 : f002             [ 3]>        beq skip1861
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21c7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21c8 : 1b                   >        db      test_num
 
                            >
 
21c9 :                      >skip1861
                            >
                            >
1d5b : 28               [ 4]>            plp         ;restore status
21c9 : 28               [ 4]>            plp         ;restore status
 
 
1d5c : 88               [ 2]         dey
21ca : 88               [ 2]         dey
1d5d : c07f             [ 2]         cpy #$7f
21cb : c07f             [ 2]         cpy #$7f
                                     tst_y $7e,fn
                                     tst_y $7e,fn
1d5f : 08               [ 3]>            php         ;save flags
21cd : 08               [ 3]>            php         ;save flags
1d60 : 08               [ 3]>            php
21ce : 08               [ 3]>            php
1d61 : c07e             [ 2]>            cpy #$7e     ;test result
21cf : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1d63 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  229
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
21d1 : f002             [ 3]>        beq skip1864
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21d3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21d4 : 1b                   >        db      test_num
 
                            >
 
21d5 :                      >skip1864
                            >
                            >
1d65 : 68               [ 4]>            pla         ;load status
21d5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1d66 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
21d6 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d68 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21d8 : f002             [ 3]>        beq skip1867
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21da : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21db : 1b                   >        db      test_num
                            >
                            >
1d6a : 28               [ 4]>            plp         ;restore status
21dc :                      >skip1867
 
                            >
 
21dc : 28               [ 4]>            plp         ;restore status
 
 
                                     set_y $80,$ff
                                     set_y $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  144
21dd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
1d6b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
                            >
1d6d : 48               [ 3]>            pha         ;use stack to load status
21df : 48               [ 3]>            pha         ;use stack to load status
1d6e : a080             [ 2]>            ldy #$80     ;precharge index y
21e0 : a080             [ 2]>            ldy #$80     ;precharge index y
1d70 : 28               [ 4]>            plp
21e2 : 28               [ 4]>            plp
 
 
1d71 : c07f             [ 2]         cpy #$7f
21e3 : c07f             [ 2]         cpy #$7f
                                     tst_stat ~fnz
                                     tst_stat ~fnz
1d73 : 08               [ 3]>            php         ;save status
21e5 : 08               [ 3]>            php         ;save status
1d74 : 08               [ 3]>            php         ;use stack to retrieve status
21e6 : 08               [ 3]>            php         ;use stack to retrieve status
1d75 : 68               [ 4]>            pla
21e7 : 68               [ 4]>            pla
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1d76 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
21e8 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d78 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21ea : f002             [ 3]>        beq skip1873
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21ec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21ed : 1b                   >        db      test_num
                            >
                            >
1d7a : 28               [ 4]>            plp         ;restore status
21ee :                      >skip1873
 
                            >
 
21ee : 28               [ 4]>            plp         ;restore status
 
 
1d7b : 88               [ 2]         dey
21ef : 88               [ 2]         dey
1d7c : c07f             [ 2]         cpy #$7f
21f0 : c07f             [ 2]         cpy #$7f
                                     tst_stat ~fn
                                     tst_stat ~fn
1d7e : 08               [ 3]>            php         ;save status
21f2 : 08               [ 3]>            php         ;save status
1d7f : 08               [ 3]>            php         ;use stack to retrieve status
21f3 : 08               [ 3]>            php         ;use stack to retrieve status
1d80 : 68               [ 4]>            pla
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  230
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
21f4 : 68               [ 4]>            pla
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1d81 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
21f5 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d83 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
21f7 : f002             [ 3]>        beq skip1877
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
21f9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
21fa : 1b                   >        db      test_num
                            >
                            >
1d85 : 28               [ 4]>            plp         ;restore status
21fb :                      >skip1877
 
                            >
 
21fb : 28               [ 4]>            plp         ;restore status
 
 
1d86 : 88               [ 2]         dey
21fc : 88               [ 2]         dey
1d87 : c07f             [ 2]         cpy #$7f
21fd : c07f             [ 2]         cpy #$7f
                                     tst_y $7e,~fzc
                                     tst_y $7e,~fzc
1d89 : 08               [ 3]>            php         ;save flags
21ff : 08               [ 3]>            php         ;save flags
1d8a : 08               [ 3]>            php
2200 : 08               [ 3]>            php
1d8b : c07e             [ 2]>            cpy #$7e     ;test result
2201 : c07e             [ 2]>            cpy #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1d8d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2203 : f002             [ 3]>        beq skip1880
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2205 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2206 : 1b                   >        db      test_num
                            >
                            >
1d8f : 68               [ 4]>            pla         ;load status
2207 :                      >skip1880
 
                            >
 
2207 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1d90 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
2208 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1d92 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
220a : f002             [ 3]>        beq skip1883
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
220c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
220d : 1b                   >        db      test_num
 
                            >
 
220e :                      >skip1883
                            >
                            >
1d94 : 28               [ 4]>            plp         ;restore status
220e : 28               [ 4]>            plp         ;restore status
 
 
                                     next_test
                                     next_test
1d95 : ad0002           [ 4]>            lda test_case   ;previous test
220f : ad0002           [ 4]>            lda test_case   ;previous test
1d98 : c91b             [ 2]>            cmp #test_num
2212 : c91b             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  145
2214 : f002             [ 3]>        beq skip1886
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2216 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2217 : 1b                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  231
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1d9a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2218 :                      >skip1886
                            >
                            >
001c =                      >test_num = test_num + 1
001c =                      >test_num = test_num + 1
1d9c : a91c             [ 2]>            lda #test_num   ;*** this tests' number
2218 : a91c             [ 2]>            lda #test_num   ;*** this tests' number
1d9e : 8d0002           [ 4]>            sta test_case
221a : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; CMP - zp / abs / #
                             ; CMP - zp / abs / #
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
1da1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
221d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1da3 : 48               [ 3]>            pha         ;use stack to load status
221f : 48               [ 3]>            pha         ;use stack to load status
1da4 : a980             [ 2]>            lda #$80     ;precharge accu
2220 : a980             [ 2]>            lda #$80     ;precharge accu
1da6 : 28               [ 4]>            plp
2222 : 28               [ 4]>            plp
 
 
1da7 : c517             [ 3]         cmp zp7f
2223 : c5bd             [ 3]         cmp zp7f
                                     tst_a $80,fc
                                     tst_a $80,fc
1da9 : 08               [ 3]>            php         ;save flags
2225 : 08               [ 3]>            php         ;save flags
1daa : 08               [ 3]>            php
2226 : 08               [ 3]>            php
1dab : c980             [ 2]>            cmp #$80     ;test result
2227 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1dad : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2229 : f002             [ 3]>        beq skip1891
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
222b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
222c : 1c                   >        db      test_num
 
                            >
 
222d :                      >skip1891
                            >
                            >
1daf : 68               [ 4]>            pla         ;load status
222d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
1db0 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
222e : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1db2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2230 : f002             [ 3]>        beq skip1894
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2232 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2233 : 1c                   >        db      test_num
                            >
                            >
1db4 : 28               [ 4]>            plp         ;restore status
2234 :                      >skip1894
 
                            >
 
2234 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
1db5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2235 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1db7 : 48               [ 3]>            pha         ;use stack to load status
2237 : 48               [ 3]>            pha         ;use stack to load status
1db8 : a97f             [ 2]>            lda #$7f     ;precharge accu
2238 : a97f             [ 2]>            lda #$7f     ;precharge accu
1dba : 28               [ 4]>            plp
223a : 28               [ 4]>            plp
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  232
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1dbb : c517             [ 3]         cmp zp7f
223b : c5bd             [ 3]         cmp zp7f
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
1dbd : 08               [ 3]>            php         ;save flags
223d : 08               [ 3]>            php         ;save flags
1dbe : 08               [ 3]>            php
223e : 08               [ 3]>            php
1dbf : c97f             [ 2]>            cmp #$7f     ;test result
223f : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1dc1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2241 : f002             [ 3]>        beq skip1899
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2243 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2244 : 1c                   >        db      test_num
 
                            >
 
2245 :                      >skip1899
                            >
                            >
1dc3 : 68               [ 4]>            pla         ;load status
2245 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1dc4 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
2246 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  146
2248 : f002             [ 3]>        beq skip1902
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1dc6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
224a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
224b : 1c                   >        db      test_num
 
                            >
 
224c :                      >skip1902
                            >
                            >
1dc8 : 28               [ 4]>            plp         ;restore status
224c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
1dc9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
224d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1dcb : 48               [ 3]>            pha         ;use stack to load status
224f : 48               [ 3]>            pha         ;use stack to load status
1dcc : a97e             [ 2]>            lda #$7e     ;precharge accu
2250 : a97e             [ 2]>            lda #$7e     ;precharge accu
1dce : 28               [ 4]>            plp
2252 : 28               [ 4]>            plp
 
 
1dcf : c517             [ 3]         cmp zp7f
2253 : c5bd             [ 3]         cmp zp7f
                                     tst_a $7e,fn
                                     tst_a $7e,fn
1dd1 : 08               [ 3]>            php         ;save flags
2255 : 08               [ 3]>            php         ;save flags
1dd2 : 08               [ 3]>            php
2256 : 08               [ 3]>            php
1dd3 : c97e             [ 2]>            cmp #$7e     ;test result
2257 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1dd5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2259 : f002             [ 3]>        beq skip1907
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
225b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
225c : 1c                   >        db      test_num
 
                            >
 
225d :                      >skip1907
                            >
                            >
1dd7 : 68               [ 4]>            pla         ;load status
225d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1dd8 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
225e : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  233
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
1dda : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2260 : f002             [ 3]>        beq skip1910
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2262 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2263 : 1c                   >        db      test_num
 
                            >
 
2264 :                      >skip1910
                            >
                            >
1ddc : 28               [ 4]>            plp         ;restore status
2264 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1ddd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2265 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1ddf : 48               [ 3]>            pha         ;use stack to load status
2267 : 48               [ 3]>            pha         ;use stack to load status
1de0 : a980             [ 2]>            lda #$80     ;precharge accu
2268 : a980             [ 2]>            lda #$80     ;precharge accu
1de2 : 28               [ 4]>            plp
226a : 28               [ 4]>            plp
 
 
1de3 : c517             [ 3]         cmp zp7f
226b : c5bd             [ 3]         cmp zp7f
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
1de5 : 08               [ 3]>            php         ;save flags
226d : 08               [ 3]>            php         ;save flags
1de6 : 08               [ 3]>            php
226e : 08               [ 3]>            php
1de7 : c980             [ 2]>            cmp #$80     ;test result
226f : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1de9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2271 : f002             [ 3]>        beq skip1915
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2273 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2274 : 1c                   >        db      test_num
 
                            >
 
2275 :                      >skip1915
                            >
                            >
1deb : 68               [ 4]>            pla         ;load status
2275 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1dec : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
2276 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1dee : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2278 : f002             [ 3]>        beq skip1918
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
227a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
227b : 1c                   >        db      test_num
                            >
                            >
1df0 : 28               [ 4]>            plp         ;restore status
227c :                      >skip1918
 
                            >
 
227c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  147
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag $ff
                            >            load_flag $ff
1df1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
227d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1df3 : 48               [ 3]>            pha         ;use stack to load status
227f : 48               [ 3]>            pha         ;use stack to load status
1df4 : a97f             [ 2]>            lda #$7f     ;precharge accu
2280 : a97f             [ 2]>            lda #$7f     ;precharge accu
1df6 : 28               [ 4]>            plp
2282 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  234
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1df7 : c517             [ 3]         cmp zp7f
 
 
2283 : c5bd             [ 3]         cmp zp7f
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
1df9 : 08               [ 3]>            php         ;save flags
2285 : 08               [ 3]>            php         ;save flags
1dfa : 08               [ 3]>            php
2286 : 08               [ 3]>            php
1dfb : c97f             [ 2]>            cmp #$7f     ;test result
2287 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1dfd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2289 : f002             [ 3]>        beq skip1923
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
228b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
228c : 1c                   >        db      test_num
                            >
                            >
1dff : 68               [ 4]>            pla         ;load status
228d :                      >skip1923
 
                            >
 
228d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1e00 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
228e : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e02 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2290 : f002             [ 3]>        beq skip1926
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2292 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2293 : 1c                   >        db      test_num
 
                            >
 
2294 :                      >skip1926
                            >
                            >
1e04 : 28               [ 4]>            plp         ;restore status
2294 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1e05 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2295 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1e07 : 48               [ 3]>            pha         ;use stack to load status
2297 : 48               [ 3]>            pha         ;use stack to load status
1e08 : a97e             [ 2]>            lda #$7e     ;precharge accu
2298 : a97e             [ 2]>            lda #$7e     ;precharge accu
1e0a : 28               [ 4]>            plp
229a : 28               [ 4]>            plp
 
 
1e0b : c517             [ 3]         cmp zp7f
229b : c5bd             [ 3]         cmp zp7f
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
1e0d : 08               [ 3]>            php         ;save flags
229d : 08               [ 3]>            php         ;save flags
1e0e : 08               [ 3]>            php
229e : 08               [ 3]>            php
1e0f : c97e             [ 2]>            cmp #$7e     ;test result
229f : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1e11 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22a1 : f002             [ 3]>        beq skip1931
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22a3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22a4 : 1c                   >        db      test_num
 
                            >
 
22a5 :                      >skip1931
                            >
                            >
1e13 : 68               [ 4]>            pla         ;load status
22a5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1e14 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
22a6 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  235
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e16 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22a8 : f002             [ 3]>        beq skip1934
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22aa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22ab : 1c                   >        db      test_num
 
                            >
 
22ac :                      >skip1934
                            >
                            >
1e18 : 28               [ 4]>            plp         ;restore status
22ac : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
1e19 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
22ad : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1e1b : 48               [ 3]>            pha         ;use stack to load status
22af : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  148
22b0 : a980             [ 2]>            lda #$80     ;precharge accu
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
22b2 : 28               [ 4]>            plp
 
 
1e1c : a980             [ 2]>            lda #$80     ;precharge accu
22b3 : cd0c02           [ 4]         cmp abs7f
1e1e : 28               [ 4]>            plp
 
 
 
1e1f : cd0c02           [ 4]         cmp abs7f
 
                                     tst_a $80,fc
                                     tst_a $80,fc
1e22 : 08               [ 3]>            php         ;save flags
22b6 : 08               [ 3]>            php         ;save flags
1e23 : 08               [ 3]>            php
22b7 : 08               [ 3]>            php
1e24 : c980             [ 2]>            cmp #$80     ;test result
22b8 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1e26 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22ba : f002             [ 3]>        beq skip1939
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22bc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22bd : 1c                   >        db      test_num
                            >
                            >
1e28 : 68               [ 4]>            pla         ;load status
22be :                      >skip1939
 
                            >
 
22be : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
1e29 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
22bf : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e2b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22c1 : f002             [ 3]>        beq skip1942
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22c3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22c4 : 1c                   >        db      test_num
 
                            >
 
22c5 :                      >skip1942
                            >
                            >
1e2d : 28               [ 4]>            plp         ;restore status
22c5 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
1e2e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
22c6 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1e30 : 48               [ 3]>            pha         ;use stack to load status
22c8 : 48               [ 3]>            pha         ;use stack to load status
1e31 : a97f             [ 2]>            lda #$7f     ;precharge accu
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  236
1e33 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1e34 : cd0c02           [ 4]         cmp abs7f
22c9 : a97f             [ 2]>            lda #$7f     ;precharge accu
 
22cb : 28               [ 4]>            plp
 
 
 
22cc : cd0c02           [ 4]         cmp abs7f
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
1e37 : 08               [ 3]>            php         ;save flags
22cf : 08               [ 3]>            php         ;save flags
1e38 : 08               [ 3]>            php
22d0 : 08               [ 3]>            php
1e39 : c97f             [ 2]>            cmp #$7f     ;test result
22d1 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1e3b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22d3 : f002             [ 3]>        beq skip1947
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22d5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22d6 : 1c                   >        db      test_num
                            >
                            >
1e3d : 68               [ 4]>            pla         ;load status
22d7 :                      >skip1947
 
                            >
 
22d7 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1e3e : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
22d8 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e40 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22da : f002             [ 3]>        beq skip1950
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22dc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22dd : 1c                   >        db      test_num
 
                            >
 
22de :                      >skip1950
                            >
                            >
1e42 : 28               [ 4]>            plp         ;restore status
22de : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
1e43 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
22df : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1e45 : 48               [ 3]>            pha         ;use stack to load status
22e1 : 48               [ 3]>            pha         ;use stack to load status
1e46 : a97e             [ 2]>            lda #$7e     ;precharge accu
22e2 : a97e             [ 2]>            lda #$7e     ;precharge accu
1e48 : 28               [ 4]>            plp
22e4 : 28               [ 4]>            plp
 
 
1e49 : cd0c02           [ 4]         cmp abs7f
22e5 : cd0c02           [ 4]         cmp abs7f
                                     tst_a $7e,fn
                                     tst_a $7e,fn
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  149
22e8 : 08               [ 3]>            php         ;save flags
 
22e9 : 08               [ 3]>            php
 
22ea : c97e             [ 2]>            cmp #$7e     ;test result
 
                            >            trap_ne
 
22ec : f002             [ 3]>        beq skip1955
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22ee : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22ef : 1c                   >        db      test_num
 
                            >
 
22f0 :                      >skip1955
 
                            >
 
22f0 : 68               [ 4]>            pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  237
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
1e4c : 08               [ 3]>            php         ;save flags
 
1e4d : 08               [ 3]>            php
 
1e4e : c97e             [ 2]>            cmp #$7e     ;test result
 
                            >            trap_ne
 
1e50 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
                            >
 
1e52 : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag fn
                            >            cmp_flag fn
1e53 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
22f1 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e55 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
22f3 : f002             [ 3]>        beq skip1958
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
22f5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
22f6 : 1c                   >        db      test_num
                            >
                            >
1e57 : 28               [ 4]>            plp         ;restore status
22f7 :                      >skip1958
 
                            >
 
22f7 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1e58 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
22f8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1e5a : 48               [ 3]>            pha         ;use stack to load status
22fa : 48               [ 3]>            pha         ;use stack to load status
1e5b : a980             [ 2]>            lda #$80     ;precharge accu
22fb : a980             [ 2]>            lda #$80     ;precharge accu
1e5d : 28               [ 4]>            plp
22fd : 28               [ 4]>            plp
 
 
1e5e : cd0c02           [ 4]         cmp abs7f
22fe : cd0c02           [ 4]         cmp abs7f
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
1e61 : 08               [ 3]>            php         ;save flags
2301 : 08               [ 3]>            php         ;save flags
1e62 : 08               [ 3]>            php
2302 : 08               [ 3]>            php
1e63 : c980             [ 2]>            cmp #$80     ;test result
2303 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1e65 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2305 : f002             [ 3]>        beq skip1963
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2307 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2308 : 1c                   >        db      test_num
                            >
                            >
1e67 : 68               [ 4]>            pla         ;load status
2309 :                      >skip1963
 
                            >
 
2309 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1e68 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
230a : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e6a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
230c : f002             [ 3]>        beq skip1966
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
230e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
230f : 1c                   >        db      test_num
 
                            >
 
2310 :                      >skip1966
                            >
                            >
1e6c : 28               [ 4]>            plp         ;restore status
2310 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1e6d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2311 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1e6f : 48               [ 3]>            pha         ;use stack to load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  238
1e70 : a97f             [ 2]>            lda #$7f     ;precharge accu
 
1e72 : 28               [ 4]>            plp
 
 
 
1e73 : cd0c02           [ 4]         cmp abs7f
 
                                     tst_a $7f,~fn
 
1e76 : 08               [ 3]>            php         ;save flags
 
1e77 : 08               [ 3]>            php
 
1e78 : c97f             [ 2]>            cmp #$7f     ;test result
 
                            >            trap_ne
 
1e7a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  150
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2313 : 48               [ 3]>            pha         ;use stack to load status
 
2314 : a97f             [ 2]>            lda #$7f     ;precharge accu
 
2316 : 28               [ 4]>            plp
 
 
 
2317 : cd0c02           [ 4]         cmp abs7f
 
                                     tst_a $7f,~fn
 
231a : 08               [ 3]>            php         ;save flags
 
231b : 08               [ 3]>            php
 
231c : c97f             [ 2]>            cmp #$7f     ;test result
 
                            >            trap_ne
 
231e : f002             [ 3]>        beq skip1971
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2320 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2321 : 1c                   >        db      test_num
 
                            >
 
2322 :                      >skip1971
                            >
                            >
1e7c : 68               [ 4]>            pla         ;load status
2322 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1e7d : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2323 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e7f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2325 : f002             [ 3]>        beq skip1974
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2327 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2328 : 1c                   >        db      test_num
                            >
                            >
1e81 : 28               [ 4]>            plp         ;restore status
2329 :                      >skip1974
 
                            >
 
2329 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1e82 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
232a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1e84 : 48               [ 3]>            pha         ;use stack to load status
232c : 48               [ 3]>            pha         ;use stack to load status
1e85 : a97e             [ 2]>            lda #$7e     ;precharge accu
232d : a97e             [ 2]>            lda #$7e     ;precharge accu
1e87 : 28               [ 4]>            plp
232f : 28               [ 4]>            plp
 
 
1e88 : cd0c02           [ 4]         cmp abs7f
2330 : cd0c02           [ 4]         cmp abs7f
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
1e8b : 08               [ 3]>            php         ;save flags
2333 : 08               [ 3]>            php         ;save flags
1e8c : 08               [ 3]>            php
2334 : 08               [ 3]>            php
1e8d : c97e             [ 2]>            cmp #$7e     ;test result
2335 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1e8f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2337 : f002             [ 3]>        beq skip1979
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2339 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
233a : 1c                   >        db      test_num
 
                            >
 
233b :                      >skip1979
                            >
                            >
1e91 : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  239
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
233b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1e92 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
233c : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1e94 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
233e : f002             [ 3]>        beq skip1982
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2340 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2341 : 1c                   >        db      test_num
                            >
                            >
1e96 : 28               [ 4]>            plp         ;restore status
2342 :                      >skip1982
 
                            >
 
2342 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
1e97 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2343 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1e99 : 48               [ 3]>            pha         ;use stack to load status
2345 : 48               [ 3]>            pha         ;use stack to load status
1e9a : a980             [ 2]>            lda #$80     ;precharge accu
2346 : a980             [ 2]>            lda #$80     ;precharge accu
1e9c : 28               [ 4]>            plp
2348 : 28               [ 4]>            plp
 
 
1e9d : c97f             [ 2]         cmp #$7f
2349 : c97f             [ 2]         cmp #$7f
                                     tst_a $80,fc
                                     tst_a $80,fc
1e9f : 08               [ 3]>            php         ;save flags
234b : 08               [ 3]>            php         ;save flags
1ea0 : 08               [ 3]>            php
234c : 08               [ 3]>            php
1ea1 : c980             [ 2]>            cmp #$80     ;test result
234d : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1ea3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
234f : f002             [ 3]>        beq skip1987
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2351 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2352 : 1c                   >        db      test_num
                            >
                            >
1ea5 : 68               [ 4]>            pla         ;load status
2353 :                      >skip1987
 
                            >
 
2353 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
1ea6 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2354 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  151
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ea8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2356 : f002             [ 3]>        beq skip1990
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2358 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2359 : 1c                   >        db      test_num
                            >
                            >
1eaa : 28               [ 4]>            plp         ;restore status
235a :                      >skip1990
 
                            >
 
235a : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
1eab : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  240
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
235b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1ead : 48               [ 3]>            pha         ;use stack to load status
235d : 48               [ 3]>            pha         ;use stack to load status
1eae : a97f             [ 2]>            lda #$7f     ;precharge accu
235e : a97f             [ 2]>            lda #$7f     ;precharge accu
1eb0 : 28               [ 4]>            plp
2360 : 28               [ 4]>            plp
 
 
1eb1 : c97f             [ 2]         cmp #$7f
2361 : c97f             [ 2]         cmp #$7f
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
1eb3 : 08               [ 3]>            php         ;save flags
2363 : 08               [ 3]>            php         ;save flags
1eb4 : 08               [ 3]>            php
2364 : 08               [ 3]>            php
1eb5 : c97f             [ 2]>            cmp #$7f     ;test result
2365 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1eb7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2367 : f002             [ 3]>        beq skip1995
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2369 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
236a : 1c                   >        db      test_num
 
                            >
 
236b :                      >skip1995
                            >
                            >
1eb9 : 68               [ 4]>            pla         ;load status
236b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1eba : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
236c : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ebc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
236e : f002             [ 3]>        beq skip1998
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2370 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2371 : 1c                   >        db      test_num
                            >
                            >
1ebe : 28               [ 4]>            plp         ;restore status
2372 :                      >skip1998
 
                            >
 
2372 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
1ebf : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2373 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1ec1 : 48               [ 3]>            pha         ;use stack to load status
2375 : 48               [ 3]>            pha         ;use stack to load status
1ec2 : a97e             [ 2]>            lda #$7e     ;precharge accu
2376 : a97e             [ 2]>            lda #$7e     ;precharge accu
1ec4 : 28               [ 4]>            plp
2378 : 28               [ 4]>            plp
 
 
1ec5 : c97f             [ 2]         cmp #$7f
2379 : c97f             [ 2]         cmp #$7f
                                     tst_a $7e,fn
                                     tst_a $7e,fn
1ec7 : 08               [ 3]>            php         ;save flags
237b : 08               [ 3]>            php         ;save flags
1ec8 : 08               [ 3]>            php
237c : 08               [ 3]>            php
1ec9 : c97e             [ 2]>            cmp #$7e     ;test result
237d : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1ecb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
237f : f002             [ 3]>        beq skip2003
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2381 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2382 : 1c                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  241
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2383 :                      >skip2003
                            >
                            >
1ecd : 68               [ 4]>            pla         ;load status
2383 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1ece : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2384 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ed0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2386 : f002             [ 3]>        beq skip2006
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2388 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2389 : 1c                   >        db      test_num
                            >
                            >
1ed2 : 28               [ 4]>            plp         ;restore status
238a :                      >skip2006
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  152
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
238a : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1ed3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
238b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1ed5 : 48               [ 3]>            pha         ;use stack to load status
238d : 48               [ 3]>            pha         ;use stack to load status
1ed6 : a980             [ 2]>            lda #$80     ;precharge accu
238e : a980             [ 2]>            lda #$80     ;precharge accu
1ed8 : 28               [ 4]>            plp
2390 : 28               [ 4]>            plp
 
 
1ed9 : c97f             [ 2]         cmp #$7f
2391 : c97f             [ 2]         cmp #$7f
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
1edb : 08               [ 3]>            php         ;save flags
2393 : 08               [ 3]>            php         ;save flags
1edc : 08               [ 3]>            php
2394 : 08               [ 3]>            php
1edd : c980             [ 2]>            cmp #$80     ;test result
2395 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1edf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2397 : f002             [ 3]>        beq skip2011
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2399 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
239a : 1c                   >        db      test_num
 
                            >
 
239b :                      >skip2011
                            >
                            >
1ee1 : 68               [ 4]>            pla         ;load status
239b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1ee2 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
239c : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ee4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
239e : f002             [ 3]>        beq skip2014
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23a0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23a1 : 1c                   >        db      test_num
                            >
                            >
1ee6 : 28               [ 4]>            plp         ;restore status
23a2 :                      >skip2014
 
                            >
 
23a2 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  242
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
1ee7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
23a3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1ee9 : 48               [ 3]>            pha         ;use stack to load status
23a5 : 48               [ 3]>            pha         ;use stack to load status
1eea : a97f             [ 2]>            lda #$7f     ;precharge accu
23a6 : a97f             [ 2]>            lda #$7f     ;precharge accu
1eec : 28               [ 4]>            plp
23a8 : 28               [ 4]>            plp
 
 
1eed : c97f             [ 2]         cmp #$7f
23a9 : c97f             [ 2]         cmp #$7f
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
1eef : 08               [ 3]>            php         ;save flags
23ab : 08               [ 3]>            php         ;save flags
1ef0 : 08               [ 3]>            php
23ac : 08               [ 3]>            php
1ef1 : c97f             [ 2]>            cmp #$7f     ;test result
23ad : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1ef3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23af : f002             [ 3]>        beq skip2019
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23b1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23b2 : 1c                   >        db      test_num
 
                            >
 
23b3 :                      >skip2019
                            >
                            >
1ef5 : 68               [ 4]>            pla         ;load status
23b3 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1ef6 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
23b4 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1ef8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23b6 : f002             [ 3]>        beq skip2022
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23b8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23b9 : 1c                   >        db      test_num
                            >
                            >
1efa : 28               [ 4]>            plp         ;restore status
23ba :                      >skip2022
 
                            >
 
23ba : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1efb : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
23bb : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  153
23bd : 48               [ 3]>            pha         ;use stack to load status
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
23be : a97e             [ 2]>            lda #$7e     ;precharge accu
 
23c0 : 28               [ 4]>            plp
1efd : 48               [ 3]>            pha         ;use stack to load status
 
1efe : a97e             [ 2]>            lda #$7e     ;precharge accu
 
1f00 : 28               [ 4]>            plp
 
 
 
1f01 : c97f             [ 2]         cmp #$7f
23c1 : c97f             [ 2]         cmp #$7f
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
1f03 : 08               [ 3]>            php         ;save flags
23c3 : 08               [ 3]>            php         ;save flags
1f04 : 08               [ 3]>            php
23c4 : 08               [ 3]>            php
1f05 : c97e             [ 2]>            cmp #$7e     ;test result
23c5 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1f07 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23c7 : f002             [ 3]>        beq skip2027
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23c9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23ca : 1c                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  243
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
1f09 : 68               [ 4]>            pla         ;load status
23cb :                      >skip2027
 
                            >
 
23cb : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1f0a : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
23cc : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f0c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23ce : f002             [ 3]>        beq skip2030
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23d0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23d1 : 1c                   >        db      test_num
 
                            >
 
23d2 :                      >skip2030
                            >
                            >
1f0e : 28               [ 4]>            plp         ;restore status
23d2 : 28               [ 4]>            plp         ;restore status
 
 
 
 
1f0f : a204             [ 2]         ldx #4          ;with indexing by X
23d3 : a204             [ 2]         ldx #4          ;with indexing by X
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
1f11 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
23d5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1f13 : 48               [ 3]>            pha         ;use stack to load status
23d7 : 48               [ 3]>            pha         ;use stack to load status
1f14 : a980             [ 2]>            lda #$80     ;precharge accu
23d8 : a980             [ 2]>            lda #$80     ;precharge accu
1f16 : 28               [ 4]>            plp
23da : 28               [ 4]>            plp
 
 
1f17 : d513             [ 4]         cmp zp1,x
23db : d5b9             [ 4]         cmp zp1,x
                                     tst_a $80,fc
                                     tst_a $80,fc
1f19 : 08               [ 3]>            php         ;save flags
23dd : 08               [ 3]>            php         ;save flags
1f1a : 08               [ 3]>            php
23de : 08               [ 3]>            php
1f1b : c980             [ 2]>            cmp #$80     ;test result
23df : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1f1d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23e1 : f002             [ 3]>        beq skip2035
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23e3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23e4 : 1c                   >        db      test_num
 
                            >
 
23e5 :                      >skip2035
                            >
                            >
1f1f : 68               [ 4]>            pla         ;load status
23e5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
1f20 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
23e6 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f22 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23e8 : f002             [ 3]>        beq skip2038
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23ea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23eb : 1c                   >        db      test_num
                            >
                            >
1f24 : 28               [ 4]>            plp         ;restore status
23ec :                      >skip2038
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  244
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
23ec : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
1f25 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
23ed : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1f27 : 48               [ 3]>            pha         ;use stack to load status
23ef : 48               [ 3]>            pha         ;use stack to load status
1f28 : a97f             [ 2]>            lda #$7f     ;precharge accu
23f0 : a97f             [ 2]>            lda #$7f     ;precharge accu
1f2a : 28               [ 4]>            plp
23f2 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  154
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
23f3 : d5b9             [ 4]         cmp zp1,x
1f2b : d513             [ 4]         cmp zp1,x
 
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
1f2d : 08               [ 3]>            php         ;save flags
23f5 : 08               [ 3]>            php         ;save flags
1f2e : 08               [ 3]>            php
23f6 : 08               [ 3]>            php
1f2f : c97f             [ 2]>            cmp #$7f     ;test result
23f7 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1f31 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
23f9 : f002             [ 3]>        beq skip2043
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
23fb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
23fc : 1c                   >        db      test_num
                            >
                            >
1f33 : 68               [ 4]>            pla         ;load status
23fd :                      >skip2043
 
                            >
 
23fd : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1f34 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
23fe : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f36 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2400 : f002             [ 3]>        beq skip2046
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2402 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2403 : 1c                   >        db      test_num
 
                            >
 
2404 :                      >skip2046
                            >
                            >
1f38 : 28               [ 4]>            plp         ;restore status
2404 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
1f39 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2405 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1f3b : 48               [ 3]>            pha         ;use stack to load status
2407 : 48               [ 3]>            pha         ;use stack to load status
1f3c : a97e             [ 2]>            lda #$7e     ;precharge accu
2408 : a97e             [ 2]>            lda #$7e     ;precharge accu
1f3e : 28               [ 4]>            plp
240a : 28               [ 4]>            plp
 
 
1f3f : d513             [ 4]         cmp zp1,x
240b : d5b9             [ 4]         cmp zp1,x
                                     tst_a $7e,fn
                                     tst_a $7e,fn
1f41 : 08               [ 3]>            php         ;save flags
240d : 08               [ 3]>            php         ;save flags
1f42 : 08               [ 3]>            php
240e : 08               [ 3]>            php
1f43 : c97e             [ 2]>            cmp #$7e     ;test result
240f : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1f45 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2411 : f002             [ 3]>        beq skip2051
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  245
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2413 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2414 : 1c                   >        db      test_num
 
                            >
 
2415 :                      >skip2051
                            >
                            >
1f47 : 68               [ 4]>            pla         ;load status
2415 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1f48 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2416 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f4a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2418 : f002             [ 3]>        beq skip2054
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
241a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
241b : 1c                   >        db      test_num
                            >
                            >
1f4c : 28               [ 4]>            plp         ;restore status
241c :                      >skip2054
 
                            >
 
241c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1f4d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
241d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1f4f : 48               [ 3]>            pha         ;use stack to load status
241f : 48               [ 3]>            pha         ;use stack to load status
1f50 : a980             [ 2]>            lda #$80     ;precharge accu
2420 : a980             [ 2]>            lda #$80     ;precharge accu
1f52 : 28               [ 4]>            plp
2422 : 28               [ 4]>            plp
 
 
1f53 : d513             [ 4]         cmp zp1,x
2423 : d5b9             [ 4]         cmp zp1,x
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
1f55 : 08               [ 3]>            php         ;save flags
2425 : 08               [ 3]>            php         ;save flags
1f56 : 08               [ 3]>            php
2426 : 08               [ 3]>            php
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  155
2427 : c980             [ 2]>            cmp #$80     ;test result
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >            trap_ne
 
2429 : f002             [ 3]>        beq skip2059
1f57 : c980             [ 2]>            cmp #$80     ;test result
                            >        trap           ;failed equal (zero)
                            >            trap_ne
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1f59 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
242b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
242c : 1c                   >        db      test_num
 
                            >
 
242d :                      >skip2059
                            >
                            >
1f5b : 68               [ 4]>            pla         ;load status
242d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1f5c : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
242e : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f5e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2430 : f002             [ 3]>        beq skip2062
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2432 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2433 : 1c                   >        db      test_num
 
                            >
 
2434 :                      >skip2062
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  246
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
1f60 : 28               [ 4]>            plp         ;restore status
2434 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1f61 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2435 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1f63 : 48               [ 3]>            pha         ;use stack to load status
2437 : 48               [ 3]>            pha         ;use stack to load status
1f64 : a97f             [ 2]>            lda #$7f     ;precharge accu
2438 : a97f             [ 2]>            lda #$7f     ;precharge accu
1f66 : 28               [ 4]>            plp
243a : 28               [ 4]>            plp
 
 
1f67 : d513             [ 4]         cmp zp1,x
243b : d5b9             [ 4]         cmp zp1,x
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
1f69 : 08               [ 3]>            php         ;save flags
243d : 08               [ 3]>            php         ;save flags
1f6a : 08               [ 3]>            php
243e : 08               [ 3]>            php
1f6b : c97f             [ 2]>            cmp #$7f     ;test result
243f : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1f6d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2441 : f002             [ 3]>        beq skip2067
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2443 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2444 : 1c                   >        db      test_num
 
                            >
 
2445 :                      >skip2067
                            >
                            >
1f6f : 68               [ 4]>            pla         ;load status
2445 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1f70 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2446 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f72 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2448 : f002             [ 3]>        beq skip2070
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
244a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
244b : 1c                   >        db      test_num
                            >
                            >
1f74 : 28               [ 4]>            plp         ;restore status
244c :                      >skip2070
 
                            >
 
244c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1f75 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
244d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1f77 : 48               [ 3]>            pha         ;use stack to load status
244f : 48               [ 3]>            pha         ;use stack to load status
1f78 : a97e             [ 2]>            lda #$7e     ;precharge accu
2450 : a97e             [ 2]>            lda #$7e     ;precharge accu
1f7a : 28               [ 4]>            plp
2452 : 28               [ 4]>            plp
 
 
1f7b : d513             [ 4]         cmp zp1,x
2453 : d5b9             [ 4]         cmp zp1,x
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
1f7d : 08               [ 3]>            php         ;save flags
2455 : 08               [ 3]>            php         ;save flags
1f7e : 08               [ 3]>            php
2456 : 08               [ 3]>            php
1f7f : c97e             [ 2]>            cmp #$7e     ;test result
2457 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1f81 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2459 : f002             [ 3]>        beq skip2075
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  247
1f83 : 68               [ 4]>            pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  156
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
245b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
245c : 1c                   >        db      test_num
 
                            >
 
245d :                      >skip2075
 
                            >
 
245d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
1f84 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
245e : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f86 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2460 : f002             [ 3]>        beq skip2078
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2462 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2463 : 1c                   >        db      test_num
                            >
                            >
1f88 : 28               [ 4]>            plp         ;restore status
2464 :                      >skip2078
 
                            >
 
2464 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
1f89 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2465 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1f8b : 48               [ 3]>            pha         ;use stack to load status
2467 : 48               [ 3]>            pha         ;use stack to load status
1f8c : a980             [ 2]>            lda #$80     ;precharge accu
2468 : a980             [ 2]>            lda #$80     ;precharge accu
1f8e : 28               [ 4]>            plp
246a : 28               [ 4]>            plp
 
 
1f8f : dd0802           [ 4]         cmp abs1,x
246b : dd0802           [ 4]         cmp abs1,x
                                     tst_a $80,fc
                                     tst_a $80,fc
1f92 : 08               [ 3]>            php         ;save flags
246e : 08               [ 3]>            php         ;save flags
1f93 : 08               [ 3]>            php
246f : 08               [ 3]>            php
1f94 : c980             [ 2]>            cmp #$80     ;test result
2470 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1f96 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2472 : f002             [ 3]>        beq skip2083
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2474 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2475 : 1c                   >        db      test_num
                            >
                            >
1f98 : 68               [ 4]>            pla         ;load status
2476 :                      >skip2083
 
                            >
 
2476 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
1f99 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2477 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1f9b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2479 : f002             [ 3]>        beq skip2086
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
247b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
247c : 1c                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  248
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
1f9d : 28               [ 4]>            plp         ;restore status
247d :                      >skip2086
 
                            >
 
247d : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
1f9e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
247e : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1fa0 : 48               [ 3]>            pha         ;use stack to load status
2480 : 48               [ 3]>            pha         ;use stack to load status
1fa1 : a97f             [ 2]>            lda #$7f     ;precharge accu
2481 : a97f             [ 2]>            lda #$7f     ;precharge accu
1fa3 : 28               [ 4]>            plp
2483 : 28               [ 4]>            plp
 
 
1fa4 : dd0802           [ 4]         cmp abs1,x
2484 : dd0802           [ 4]         cmp abs1,x
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
1fa7 : 08               [ 3]>            php         ;save flags
2487 : 08               [ 3]>            php         ;save flags
1fa8 : 08               [ 3]>            php
2488 : 08               [ 3]>            php
1fa9 : c97f             [ 2]>            cmp #$7f     ;test result
2489 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1fab : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
248b : f002             [ 3]>        beq skip2091
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
248d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
248e : 1c                   >        db      test_num
                            >
                            >
1fad : 68               [ 4]>            pla         ;load status
248f :                      >skip2091
 
                            >
 
248f : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
1fae : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
2490 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  157
2492 : f002             [ 3]>        beq skip2094
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
1fb0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2494 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2495 : 1c                   >        db      test_num
                            >
                            >
1fb2 : 28               [ 4]>            plp         ;restore status
2496 :                      >skip2094
 
                            >
 
2496 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
1fb3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2497 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
1fb5 : 48               [ 3]>            pha         ;use stack to load status
2499 : 48               [ 3]>            pha         ;use stack to load status
1fb6 : a97e             [ 2]>            lda #$7e     ;precharge accu
249a : a97e             [ 2]>            lda #$7e     ;precharge accu
1fb8 : 28               [ 4]>            plp
249c : 28               [ 4]>            plp
 
 
1fb9 : dd0802           [ 4]         cmp abs1,x
249d : dd0802           [ 4]         cmp abs1,x
                                     tst_a $7e,fn
                                     tst_a $7e,fn
1fbc : 08               [ 3]>            php         ;save flags
24a0 : 08               [ 3]>            php         ;save flags
1fbd : 08               [ 3]>            php
24a1 : 08               [ 3]>            php
1fbe : c97e             [ 2]>            cmp #$7e     ;test result
24a2 : c97e             [ 2]>            cmp #$7e     ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  249
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
1fc0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24a4 : f002             [ 3]>        beq skip2099
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24a6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24a7 : 1c                   >        db      test_num
                            >
                            >
1fc2 : 68               [ 4]>            pla         ;load status
24a8 :                      >skip2099
 
                            >
 
24a8 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
1fc3 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
24a9 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1fc5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24ab : f002             [ 3]>        beq skip2102
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24ad : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24ae : 1c                   >        db      test_num
 
                            >
 
24af :                      >skip2102
                            >
                            >
1fc7 : 28               [ 4]>            plp         ;restore status
24af : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1fc8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
24b0 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1fca : 48               [ 3]>            pha         ;use stack to load status
24b2 : 48               [ 3]>            pha         ;use stack to load status
1fcb : a980             [ 2]>            lda #$80     ;precharge accu
24b3 : a980             [ 2]>            lda #$80     ;precharge accu
1fcd : 28               [ 4]>            plp
24b5 : 28               [ 4]>            plp
 
 
1fce : dd0802           [ 4]         cmp abs1,x
24b6 : dd0802           [ 4]         cmp abs1,x
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
1fd1 : 08               [ 3]>            php         ;save flags
24b9 : 08               [ 3]>            php         ;save flags
1fd2 : 08               [ 3]>            php
24ba : 08               [ 3]>            php
1fd3 : c980             [ 2]>            cmp #$80     ;test result
24bb : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
1fd5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24bd : f002             [ 3]>        beq skip2107
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24bf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24c0 : 1c                   >        db      test_num
 
                            >
 
24c1 :                      >skip2107
                            >
                            >
1fd7 : 68               [ 4]>            pla         ;load status
24c1 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
1fd8 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
24c2 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1fda : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24c4 : f002             [ 3]>        beq skip2110
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24c6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  250
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
24c7 : 1c                   >        db      test_num
 
                            >
 
24c8 :                      >skip2110
                            >
                            >
1fdc : 28               [ 4]>            plp         ;restore status
24c8 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  158
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag $ff
                            >            load_flag $ff
1fdd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
24c9 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1fdf : 48               [ 3]>            pha         ;use stack to load status
24cb : 48               [ 3]>            pha         ;use stack to load status
1fe0 : a97f             [ 2]>            lda #$7f     ;precharge accu
24cc : a97f             [ 2]>            lda #$7f     ;precharge accu
1fe2 : 28               [ 4]>            plp
24ce : 28               [ 4]>            plp
 
 
1fe3 : dd0802           [ 4]         cmp abs1,x
24cf : dd0802           [ 4]         cmp abs1,x
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
1fe6 : 08               [ 3]>            php         ;save flags
24d2 : 08               [ 3]>            php         ;save flags
1fe7 : 08               [ 3]>            php
24d3 : 08               [ 3]>            php
1fe8 : c97f             [ 2]>            cmp #$7f     ;test result
24d4 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
1fea : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24d6 : f002             [ 3]>        beq skip2115
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24d8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24d9 : 1c                   >        db      test_num
                            >
                            >
1fec : 68               [ 4]>            pla         ;load status
24da :                      >skip2115
 
                            >
 
24da : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
1fed : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
24db : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
1fef : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24dd : f002             [ 3]>        beq skip2118
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24df : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24e0 : 1c                   >        db      test_num
 
                            >
 
24e1 :                      >skip2118
                            >
                            >
1ff1 : 28               [ 4]>            plp         ;restore status
24e1 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
1ff2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
24e2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
1ff4 : 48               [ 3]>            pha         ;use stack to load status
24e4 : 48               [ 3]>            pha         ;use stack to load status
1ff5 : a97e             [ 2]>            lda #$7e     ;precharge accu
24e5 : a97e             [ 2]>            lda #$7e     ;precharge accu
1ff7 : 28               [ 4]>            plp
24e7 : 28               [ 4]>            plp
 
 
1ff8 : dd0802           [ 4]         cmp abs1,x
24e8 : dd0802           [ 4]         cmp abs1,x
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
1ffb : 08               [ 3]>            php         ;save flags
24eb : 08               [ 3]>            php         ;save flags
1ffc : 08               [ 3]>            php
24ec : 08               [ 3]>            php
1ffd : c97e             [ 2]>            cmp #$7e     ;test result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  251
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
24ed : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
1fff : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24ef : f002             [ 3]>        beq skip2123
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24f1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24f2 : 1c                   >        db      test_num
 
                            >
 
24f3 :                      >skip2123
                            >
                            >
2001 : 68               [ 4]>            pla         ;load status
24f3 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
2002 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
24f4 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2004 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
24f6 : f002             [ 3]>        beq skip2126
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
24f8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
24f9 : 1c                   >        db      test_num
                            >
                            >
2006 : 28               [ 4]>            plp         ;restore status
24fa :                      >skip2126
 
                            >
 
24fa : 28               [ 4]>            plp         ;restore status
 
 
 
 
2007 : a004             [ 2]         ldy #4          ;with indexing by Y
24fb : a004             [ 2]         ldy #4          ;with indexing by Y
2009 : a208             [ 2]         ldx #8          ;with indexed indirect
24fd : a208             [ 2]         ldx #8          ;with indexed indirect
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
200b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
24ff : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  159
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
200d : 48               [ 3]>            pha         ;use stack to load status
2501 : 48               [ 3]>            pha         ;use stack to load status
200e : a980             [ 2]>            lda #$80     ;precharge accu
2502 : a980             [ 2]>            lda #$80     ;precharge accu
2010 : 28               [ 4]>            plp
2504 : 28               [ 4]>            plp
 
 
2011 : d90802           [ 4]         cmp abs1,y
2505 : d90802           [ 4]         cmp abs1,y
                                     tst_a $80,fc
                                     tst_a $80,fc
2014 : 08               [ 3]>            php         ;save flags
2508 : 08               [ 3]>            php         ;save flags
2015 : 08               [ 3]>            php
2509 : 08               [ 3]>            php
2016 : c980             [ 2]>            cmp #$80     ;test result
250a : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
2018 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
250c : f002             [ 3]>        beq skip2131
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
250e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
250f : 1c                   >        db      test_num
 
                            >
 
2510 :                      >skip2131
                            >
                            >
201a : 68               [ 4]>            pla         ;load status
2510 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
201b : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2511 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
201d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  252
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2513 : f002             [ 3]>        beq skip2134
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2515 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2516 : 1c                   >        db      test_num
 
                            >
 
2517 :                      >skip2134
                            >
                            >
201f : 28               [ 4]>            plp         ;restore status
2517 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
2020 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2518 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2022 : 48               [ 3]>            pha         ;use stack to load status
251a : 48               [ 3]>            pha         ;use stack to load status
2023 : a97f             [ 2]>            lda #$7f     ;precharge accu
251b : a97f             [ 2]>            lda #$7f     ;precharge accu
2025 : 28               [ 4]>            plp
251d : 28               [ 4]>            plp
 
 
2026 : d90802           [ 4]         cmp abs1,y
251e : d90802           [ 4]         cmp abs1,y
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
2029 : 08               [ 3]>            php         ;save flags
2521 : 08               [ 3]>            php         ;save flags
202a : 08               [ 3]>            php
2522 : 08               [ 3]>            php
202b : c97f             [ 2]>            cmp #$7f     ;test result
2523 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
202d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2525 : f002             [ 3]>        beq skip2139
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2527 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2528 : 1c                   >        db      test_num
 
                            >
 
2529 :                      >skip2139
                            >
                            >
202f : 68               [ 4]>            pla         ;load status
2529 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
2030 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
252a : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2032 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
252c : f002             [ 3]>        beq skip2142
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
252e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
252f : 1c                   >        db      test_num
                            >
                            >
2034 : 28               [ 4]>            plp         ;restore status
2530 :                      >skip2142
 
                            >
 
2530 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
2035 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2531 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2037 : 48               [ 3]>            pha         ;use stack to load status
2533 : 48               [ 3]>            pha         ;use stack to load status
2038 : a97e             [ 2]>            lda #$7e     ;precharge accu
2534 : a97e             [ 2]>            lda #$7e     ;precharge accu
203a : 28               [ 4]>            plp
2536 : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  160
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  253
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
203b : d90802           [ 4]         cmp abs1,y
2537 : d90802           [ 4]         cmp abs1,y
                                     tst_a $7e,fn
                                     tst_a $7e,fn
203e : 08               [ 3]>            php         ;save flags
253a : 08               [ 3]>            php         ;save flags
203f : 08               [ 3]>            php
253b : 08               [ 3]>            php
2040 : c97e             [ 2]>            cmp #$7e     ;test result
253c : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
2042 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
253e : f002             [ 3]>        beq skip2147
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2540 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2541 : 1c                   >        db      test_num
                            >
                            >
2044 : 68               [ 4]>            pla         ;load status
2542 :                      >skip2147
 
                            >
 
2542 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
2045 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2543 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2047 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2545 : f002             [ 3]>        beq skip2150
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2547 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2548 : 1c                   >        db      test_num
 
                            >
 
2549 :                      >skip2150
                            >
                            >
2049 : 28               [ 4]>            plp         ;restore status
2549 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
204a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
254a : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
204c : 48               [ 3]>            pha         ;use stack to load status
254c : 48               [ 3]>            pha         ;use stack to load status
204d : a980             [ 2]>            lda #$80     ;precharge accu
254d : a980             [ 2]>            lda #$80     ;precharge accu
204f : 28               [ 4]>            plp
254f : 28               [ 4]>            plp
 
 
2050 : d90802           [ 4]         cmp abs1,y
2550 : d90802           [ 4]         cmp abs1,y
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
2053 : 08               [ 3]>            php         ;save flags
2553 : 08               [ 3]>            php         ;save flags
2054 : 08               [ 3]>            php
2554 : 08               [ 3]>            php
2055 : c980             [ 2]>            cmp #$80     ;test result
2555 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
2057 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2557 : f002             [ 3]>        beq skip2155
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2559 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
255a : 1c                   >        db      test_num
 
                            >
 
255b :                      >skip2155
                            >
                            >
2059 : 68               [ 4]>            pla         ;load status
255b : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
205a : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
255c : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  254
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
205c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
255e : f002             [ 3]>        beq skip2158
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2560 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2561 : 1c                   >        db      test_num
 
                            >
 
2562 :                      >skip2158
                            >
                            >
205e : 28               [ 4]>            plp         ;restore status
2562 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
                            >            load_flag $ff
                            >            load_flag $ff
205f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2563 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2061 : 48               [ 3]>            pha         ;use stack to load status
2565 : 48               [ 3]>            pha         ;use stack to load status
2062 : a97f             [ 2]>            lda #$7f     ;precharge accu
2566 : a97f             [ 2]>            lda #$7f     ;precharge accu
2064 : 28               [ 4]>            plp
2568 : 28               [ 4]>            plp
 
 
2065 : d90802           [ 4]         cmp abs1,y
2569 : d90802           [ 4]         cmp abs1,y
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
2068 : 08               [ 3]>            php         ;save flags
256c : 08               [ 3]>            php         ;save flags
2069 : 08               [ 3]>            php
256d : 08               [ 3]>            php
206a : c97f             [ 2]>            cmp #$7f     ;test result
256e : c97f             [ 2]>            cmp #$7f     ;test result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  161
                            >            trap_ne
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2570 : f002             [ 3]>        beq skip2163
 
                            >        trap           ;failed equal (zero)
                            >            trap_ne
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
206c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2572 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2573 : 1c                   >        db      test_num
                            >
                            >
206e : 68               [ 4]>            pla         ;load status
2574 :                      >skip2163
 
                            >
 
2574 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
206f : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2575 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2071 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2577 : f002             [ 3]>        beq skip2166
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2579 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
257a : 1c                   >        db      test_num
 
                            >
 
257b :                      >skip2166
                            >
                            >
2073 : 28               [ 4]>            plp         ;restore status
257b : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2074 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
257c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2076 : 48               [ 3]>            pha         ;use stack to load status
257e : 48               [ 3]>            pha         ;use stack to load status
2077 : a97e             [ 2]>            lda #$7e     ;precharge accu
257f : a97e             [ 2]>            lda #$7e     ;precharge accu
2079 : 28               [ 4]>            plp
2581 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  255
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
207a : d90802           [ 4]         cmp abs1,y
 
 
2582 : d90802           [ 4]         cmp abs1,y
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
207d : 08               [ 3]>            php         ;save flags
2585 : 08               [ 3]>            php         ;save flags
207e : 08               [ 3]>            php
2586 : 08               [ 3]>            php
207f : c97e             [ 2]>            cmp #$7e     ;test result
2587 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
2081 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2589 : f002             [ 3]>        beq skip2171
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
258b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
258c : 1c                   >        db      test_num
                            >
                            >
2083 : 68               [ 4]>            pla         ;load status
258d :                      >skip2171
 
                            >
 
258d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
2084 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
258e : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2086 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2590 : f002             [ 3]>        beq skip2174
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2592 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2593 : 1c                   >        db      test_num
 
                            >
 
2594 :                      >skip2174
                            >
                            >
2088 : 28               [ 4]>            plp         ;restore status
2594 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
2089 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2595 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
208b : 48               [ 3]>            pha         ;use stack to load status
2597 : 48               [ 3]>            pha         ;use stack to load status
208c : a980             [ 2]>            lda #$80     ;precharge accu
2598 : a980             [ 2]>            lda #$80     ;precharge accu
208e : 28               [ 4]>            plp
259a : 28               [ 4]>            plp
 
 
208f : c124             [ 6]         cmp (ind1,x)
259b : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $80,fc
                                     tst_a $80,fc
2091 : 08               [ 3]>            php         ;save flags
259d : 08               [ 3]>            php         ;save flags
2092 : 08               [ 3]>            php
259e : 08               [ 3]>            php
2093 : c980             [ 2]>            cmp #$80     ;test result
259f : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
2095 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25a1 : f002             [ 3]>        beq skip2179
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25a3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25a4 : 1c                   >        db      test_num
                            >
                            >
2097 : 68               [ 4]>            pla         ;load status
25a5 :                      >skip2179
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  162
                            >
 
25a5 : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag fc
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  256
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            cmp_flag fc
25a6 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2098 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
 
                            >
                            >
                            >            trap_ne
                            >            trap_ne
209a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25a8 : f002             [ 3]>        beq skip2182
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25aa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25ab : 1c                   >        db      test_num
                            >
                            >
209c : 28               [ 4]>            plp         ;restore status
25ac :                      >skip2182
 
                            >
 
25ac : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
209d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
25ad : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
209f : 48               [ 3]>            pha         ;use stack to load status
25af : 48               [ 3]>            pha         ;use stack to load status
20a0 : a97f             [ 2]>            lda #$7f     ;precharge accu
25b0 : a97f             [ 2]>            lda #$7f     ;precharge accu
20a2 : 28               [ 4]>            plp
25b2 : 28               [ 4]>            plp
 
 
20a3 : c124             [ 6]         cmp (ind1,x)
25b3 : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
20a5 : 08               [ 3]>            php         ;save flags
25b5 : 08               [ 3]>            php         ;save flags
20a6 : 08               [ 3]>            php
25b6 : 08               [ 3]>            php
20a7 : c97f             [ 2]>            cmp #$7f     ;test result
25b7 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
20a9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25b9 : f002             [ 3]>        beq skip2187
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25bb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25bc : 1c                   >        db      test_num
 
                            >
 
25bd :                      >skip2187
                            >
                            >
20ab : 68               [ 4]>            pla         ;load status
25bd : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
20ac : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
25be : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
20ae : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25c0 : f002             [ 3]>        beq skip2190
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25c2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25c3 : 1c                   >        db      test_num
                            >
                            >
20b0 : 28               [ 4]>            plp         ;restore status
25c4 :                      >skip2190
 
                            >
 
25c4 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
20b1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
25c5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
20b3 : 48               [ 3]>            pha         ;use stack to load status
25c7 : 48               [ 3]>            pha         ;use stack to load status
20b4 : a97e             [ 2]>            lda #$7e     ;precharge accu
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  257
20b6 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
25c8 : a97e             [ 2]>            lda #$7e     ;precharge accu
 
25ca : 28               [ 4]>            plp
 
 
20b7 : c124             [ 6]         cmp (ind1,x)
25cb : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $7e,fn
                                     tst_a $7e,fn
20b9 : 08               [ 3]>            php         ;save flags
25cd : 08               [ 3]>            php         ;save flags
20ba : 08               [ 3]>            php
25ce : 08               [ 3]>            php
20bb : c97e             [ 2]>            cmp #$7e     ;test result
25cf : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
20bd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25d1 : f002             [ 3]>        beq skip2195
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25d3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25d4 : 1c                   >        db      test_num
 
                            >
 
25d5 :                      >skip2195
                            >
                            >
20bf : 68               [ 4]>            pla         ;load status
25d5 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
20c0 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
25d6 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
20c2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25d8 : f002             [ 3]>        beq skip2198
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  163
                            >        trap           ;failed equal (zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25da : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25db : 1c                   >        db      test_num
 
                            >
 
25dc :                      >skip2198
                            >
                            >
20c4 : 28               [ 4]>            plp         ;restore status
25dc : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
20c5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
25dd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
20c7 : 48               [ 3]>            pha         ;use stack to load status
25df : 48               [ 3]>            pha         ;use stack to load status
20c8 : a980             [ 2]>            lda #$80     ;precharge accu
25e0 : a980             [ 2]>            lda #$80     ;precharge accu
20ca : 28               [ 4]>            plp
25e2 : 28               [ 4]>            plp
 
 
20cb : c124             [ 6]         cmp (ind1,x)
25e3 : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
20cd : 08               [ 3]>            php         ;save flags
25e5 : 08               [ 3]>            php         ;save flags
20ce : 08               [ 3]>            php
25e6 : 08               [ 3]>            php
20cf : c980             [ 2]>            cmp #$80     ;test result
25e7 : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
20d1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25e9 : f002             [ 3]>        beq skip2203
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25eb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25ec : 1c                   >        db      test_num
 
                            >
 
25ed :                      >skip2203
                            >
                            >
20d3 : 68               [ 4]>            pla         ;load status
25ed : 68               [ 4]>            pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  258
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
20d4 : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
25ee : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
20d6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
25f0 : f002             [ 3]>        beq skip2206
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
25f2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
25f3 : 1c                   >        db      test_num
 
                            >
 
25f4 :                      >skip2206
                            >
                            >
20d8 : 28               [ 4]>            plp         ;restore status
25f4 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
                            >            load_flag $ff
                            >            load_flag $ff
20d9 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
25f5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
20db : 48               [ 3]>            pha         ;use stack to load status
25f7 : 48               [ 3]>            pha         ;use stack to load status
20dc : a97f             [ 2]>            lda #$7f     ;precharge accu
25f8 : a97f             [ 2]>            lda #$7f     ;precharge accu
20de : 28               [ 4]>            plp
25fa : 28               [ 4]>            plp
 
 
20df : c124             [ 6]         cmp (ind1,x)
25fb : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
20e1 : 08               [ 3]>            php         ;save flags
25fd : 08               [ 3]>            php         ;save flags
20e2 : 08               [ 3]>            php
25fe : 08               [ 3]>            php
20e3 : c97f             [ 2]>            cmp #$7f     ;test result
25ff : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
20e5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2601 : f002             [ 3]>        beq skip2211
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2603 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2604 : 1c                   >        db      test_num
 
                            >
 
2605 :                      >skip2211
                            >
                            >
20e7 : 68               [ 4]>            pla         ;load status
2605 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
20e8 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2606 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
20ea : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2608 : f002             [ 3]>        beq skip2214
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
260a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
260b : 1c                   >        db      test_num
                            >
                            >
20ec : 28               [ 4]>            plp         ;restore status
260c :                      >skip2214
 
                            >
 
260c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  164
260d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  259
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
20ed : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
260f : 48               [ 3]>            pha         ;use stack to load status
                            >
2610 : a97e             [ 2]>            lda #$7e     ;precharge accu
20ef : 48               [ 3]>            pha         ;use stack to load status
2612 : 28               [ 4]>            plp
20f0 : a97e             [ 2]>            lda #$7e     ;precharge accu
 
20f2 : 28               [ 4]>            plp
 
 
 
20f3 : c124             [ 6]         cmp (ind1,x)
2613 : c1ca             [ 6]         cmp (ind1,x)
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
20f5 : 08               [ 3]>            php         ;save flags
2615 : 08               [ 3]>            php         ;save flags
20f6 : 08               [ 3]>            php
2616 : 08               [ 3]>            php
20f7 : c97e             [ 2]>            cmp #$7e     ;test result
2617 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
20f9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2619 : f002             [ 3]>        beq skip2219
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
261b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
261c : 1c                   >        db      test_num
 
                            >
 
261d :                      >skip2219
                            >
                            >
20fb : 68               [ 4]>            pla         ;load status
261d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
20fc : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
261e : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
20fe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2620 : f002             [ 3]>        beq skip2222
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2622 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2623 : 1c                   >        db      test_num
                            >
                            >
2100 : 28               [ 4]>            plp         ;restore status
2624 :                      >skip2222
 
                            >
 
2624 : 28               [ 4]>            plp         ;restore status
 
 
 
 
                                     set_a $80,0
                                     set_a $80,0
                            >            load_flag 0
                            >            load_flag 0
2101 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2625 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2103 : 48               [ 3]>            pha         ;use stack to load status
2627 : 48               [ 3]>            pha         ;use stack to load status
2104 : a980             [ 2]>            lda #$80     ;precharge accu
2628 : a980             [ 2]>            lda #$80     ;precharge accu
2106 : 28               [ 4]>            plp
262a : 28               [ 4]>            plp
 
 
2107 : d124             [ 5]         cmp (ind1),y
262b : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $80,fc
                                     tst_a $80,fc
2109 : 08               [ 3]>            php         ;save flags
262d : 08               [ 3]>            php         ;save flags
210a : 08               [ 3]>            php
262e : 08               [ 3]>            php
210b : c980             [ 2]>            cmp #$80     ;test result
262f : c980             [ 2]>            cmp #$80     ;test result
                            >            trap_ne
                            >            trap_ne
210d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2631 : f002             [ 3]>        beq skip2227
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2633 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2634 : 1c                   >        db      test_num
 
                            >
 
2635 :                      >skip2227
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  260
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
210f : 68               [ 4]>            pla         ;load status
2635 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fc
                            >            cmp_flag fc
2110 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
2636 : c931             [ 2]>            cmp #(fc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2112 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2638 : f002             [ 3]>        beq skip2230
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
263a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
263b : 1c                   >        db      test_num
                            >
                            >
2114 : 28               [ 4]>            plp         ;restore status
263c :                      >skip2230
 
                            >
 
263c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,0
                                     set_a $7f,0
                            >            load_flag 0
                            >            load_flag 0
2115 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
263d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2117 : 48               [ 3]>            pha         ;use stack to load status
263f : 48               [ 3]>            pha         ;use stack to load status
2118 : a97f             [ 2]>            lda #$7f     ;precharge accu
2640 : a97f             [ 2]>            lda #$7f     ;precharge accu
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  165
2642 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
211a : 28               [ 4]>            plp
 
 
 
211b : d124             [ 5]         cmp (ind1),y
2643 : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $7f,fzc
                                     tst_a $7f,fzc
211d : 08               [ 3]>            php         ;save flags
2645 : 08               [ 3]>            php         ;save flags
211e : 08               [ 3]>            php
2646 : 08               [ 3]>            php
211f : c97f             [ 2]>            cmp #$7f     ;test result
2647 : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
2121 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2649 : f002             [ 3]>        beq skip2235
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
264b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
264c : 1c                   >        db      test_num
 
                            >
 
264d :                      >skip2235
                            >
                            >
2123 : 68               [ 4]>            pla         ;load status
264d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fzc
                            >            cmp_flag fzc
2124 : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
264e : c933             [ 2]>            cmp #(fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2126 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2650 : f002             [ 3]>        beq skip2238
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2652 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2653 : 1c                   >        db      test_num
                            >
                            >
2128 : 28               [ 4]>            plp         ;restore status
2654 :                      >skip2238
 
                            >
 
2654 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,0
                                     set_a $7e,0
                            >            load_flag 0
                            >            load_flag 0
2129 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  261
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2655 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
212b : 48               [ 3]>            pha         ;use stack to load status
2657 : 48               [ 3]>            pha         ;use stack to load status
212c : a97e             [ 2]>            lda #$7e     ;precharge accu
2658 : a97e             [ 2]>            lda #$7e     ;precharge accu
212e : 28               [ 4]>            plp
265a : 28               [ 4]>            plp
 
 
212f : d124             [ 5]         cmp (ind1),y
265b : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $7e,fn
                                     tst_a $7e,fn
2131 : 08               [ 3]>            php         ;save flags
265d : 08               [ 3]>            php         ;save flags
2132 : 08               [ 3]>            php
265e : 08               [ 3]>            php
2133 : c97e             [ 2]>            cmp #$7e     ;test result
265f : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
2135 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2661 : f002             [ 3]>        beq skip2243
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2663 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2664 : 1c                   >        db      test_num
                            >
                            >
2137 : 68               [ 4]>            pla         ;load status
2665 :                      >skip2243
 
                            >
 
2665 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag fn
                            >            cmp_flag fn
2138 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
2666 : c9b0             [ 2]>            cmp #(fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
213a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2668 : f002             [ 3]>        beq skip2246
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
266a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
266b : 1c                   >        db      test_num
 
                            >
 
266c :                      >skip2246
                            >
                            >
213c : 28               [ 4]>            plp         ;restore status
266c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $80,$ff
                                     set_a $80,$ff
                            >            load_flag $ff
                            >            load_flag $ff
213d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
266d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
213f : 48               [ 3]>            pha         ;use stack to load status
266f : 48               [ 3]>            pha         ;use stack to load status
2140 : a980             [ 2]>            lda #$80     ;precharge accu
2670 : a980             [ 2]>            lda #$80     ;precharge accu
2142 : 28               [ 4]>            plp
2672 : 28               [ 4]>            plp
 
 
2143 : d124             [ 5]         cmp (ind1),y
2673 : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $80,~fnz
                                     tst_a $80,~fnz
2145 : 08               [ 3]>            php         ;save flags
2675 : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  166
2676 : 08               [ 3]>            php
 
2677 : c980             [ 2]>            cmp #$80     ;test result
 
                            >            trap_ne
 
2679 : f002             [ 3]>        beq skip2251
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
267b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
267c : 1c                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  262
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2146 : 08               [ 3]>            php
267d :                      >skip2251
2147 : c980             [ 2]>            cmp #$80     ;test result
 
                            >            trap_ne
 
2149 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
                            >
                            >
214b : 68               [ 4]>            pla         ;load status
267d : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fnz
                            >            cmp_flag ~fnz
214c : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
267e : c97d             [ 2]>            cmp #(~fnz|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
214e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2680 : f002             [ 3]>        beq skip2254
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2682 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2683 : 1c                   >        db      test_num
 
                            >
 
2684 :                      >skip2254
                            >
                            >
2150 : 28               [ 4]>            plp         ;restore status
2684 : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7f,$ff
                                     set_a $7f,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2151 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2685 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2153 : 48               [ 3]>            pha         ;use stack to load status
2687 : 48               [ 3]>            pha         ;use stack to load status
2154 : a97f             [ 2]>            lda #$7f     ;precharge accu
2688 : a97f             [ 2]>            lda #$7f     ;precharge accu
2156 : 28               [ 4]>            plp
268a : 28               [ 4]>            plp
 
 
2157 : d124             [ 5]         cmp (ind1),y
268b : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $7f,~fn
                                     tst_a $7f,~fn
2159 : 08               [ 3]>            php         ;save flags
268d : 08               [ 3]>            php         ;save flags
215a : 08               [ 3]>            php
268e : 08               [ 3]>            php
215b : c97f             [ 2]>            cmp #$7f     ;test result
268f : c97f             [ 2]>            cmp #$7f     ;test result
                            >            trap_ne
                            >            trap_ne
215d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2691 : f002             [ 3]>        beq skip2259
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2693 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2694 : 1c                   >        db      test_num
 
                            >
 
2695 :                      >skip2259
                            >
                            >
215f : 68               [ 4]>            pla         ;load status
2695 : 68               [ 4]>            pla         ;load status
                            >            cmp_flag ~fn
                            >            cmp_flag ~fn
2160 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
2696 : c97f             [ 2]>            cmp #(~fn|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2162 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2698 : f002             [ 3]>        beq skip2262
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
269a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
269b : 1c                   >        db      test_num
                            >
                            >
2164 : 28               [ 4]>            plp         ;restore status
269c :                      >skip2262
 
                            >
 
269c : 28               [ 4]>            plp         ;restore status
 
 
                                     set_a $7e,$ff
                                     set_a $7e,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  263
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
2165 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
269d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2167 : 48               [ 3]>            pha         ;use stack to load status
269f : 48               [ 3]>            pha         ;use stack to load status
2168 : a97e             [ 2]>            lda #$7e     ;precharge accu
26a0 : a97e             [ 2]>            lda #$7e     ;precharge accu
216a : 28               [ 4]>            plp
26a2 : 28               [ 4]>            plp
 
 
216b : d124             [ 5]         cmp (ind1),y
26a3 : d1ca             [ 5]         cmp (ind1),y
                                     tst_a $7e,~fzc
                                     tst_a $7e,~fzc
216d : 08               [ 3]>            php         ;save flags
26a5 : 08               [ 3]>            php         ;save flags
216e : 08               [ 3]>            php
26a6 : 08               [ 3]>            php
216f : c97e             [ 2]>            cmp #$7e     ;test result
26a7 : c97e             [ 2]>            cmp #$7e     ;test result
                            >            trap_ne
                            >            trap_ne
2171 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26a9 : f002             [ 3]>        beq skip2267
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26ab : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26ac : 1c                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  167
26ad :                      >skip2267
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >
 
26ad : 68               [ 4]>            pla         ;load status
2173 : 68               [ 4]>            pla         ;load status
 
                            >            cmp_flag ~fzc
                            >            cmp_flag ~fzc
2174 : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
26ae : c9fc             [ 2]>            cmp #(~fzc|fao)&m8    ;expected flags + always on bits
                            >
                            >
                            >            trap_ne
                            >            trap_ne
2176 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26b0 : f002             [ 3]>        beq skip2270
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26b2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26b3 : 1c                   >        db      test_num
                            >
                            >
2178 : 28               [ 4]>            plp         ;restore status
26b4 :                      >skip2270
 
                            >
 
26b4 : 28               [ 4]>            plp         ;restore status
 
 
                                     next_test
                                     next_test
2179 : ad0002           [ 4]>            lda test_case   ;previous test
26b5 : ad0002           [ 4]>            lda test_case   ;previous test
217c : c91c             [ 2]>            cmp #test_num
26b8 : c91c             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
217e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26ba : f002             [ 3]>        beq skip2273
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26bc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26bd : 1c                   >        db      test_num
 
                            >
 
26be :                      >skip2273
                            >
                            >
001d =                      >test_num = test_num + 1
001d =                      >test_num = test_num + 1
2180 : a91d             [ 2]>            lda #test_num   ;*** this tests' number
26be : a91d             [ 2]>            lda #test_num   ;*** this tests' number
2182 : 8d0002           [ 4]>            sta test_case
26c0 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing shifts - ASL LSR ROL ROR all addressing modes
                             ; testing shifts - ASL LSR ROL ROR all addressing modes
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  264
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ; shifts - accumulator
                             ; shifts - accumulator
2185 : a203             [ 2]         ldx #3
 
2187 :                       tasl
26c3 : a203             [ 2]         ldx #3
 
26c5 :                       tasl
                                     set_ax zp1,0
                                     set_ax zp1,0
                            >            load_flag 0
                            >            load_flag 0
2187 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
26c5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2189 : 48               [ 3]>            pha         ;use stack to load status
26c7 : 48               [ 3]>            pha         ;use stack to load status
218a : b513             [ 4]>            lda zp1,x    ;precharge accu
26c8 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
218c : 28               [ 4]>            plp
26ca : 28               [ 4]>            plp
 
 
218d : 0a               [ 2]         asl a
26cb : 0a               [ 2]         asl a
                                     tst_ax rASL,fASL,0
                                     tst_ax rASL,fASL,0
218e : 08               [ 3]>            php         ;save flags
26cc : 08               [ 3]>            php         ;save flags
218f : dd1102           [ 4]>            cmp rASL,x    ;test result
26cd : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2192 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26d0 : f002             [ 3]>        beq skip2278
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26d2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26d3 : 1d                   >        db      test_num
 
                            >
 
26d4 :                      >skip2278
                            >
                            >
2194 : 68               [ 4]>            pla         ;load status
26d4 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2195 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
26d5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2197 : dd2102           [ 4]>            cmp fASL,x    ;test flags
26d7 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
219a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26da : f002             [ 3]>        beq skip2281
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26dc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26dd : 1d                   >        db      test_num
 
                            >
 
26de :                      >skip2281
                            >
                            >
 
 
219c : ca               [ 2]         dex
26de : ca               [ 2]         dex
219d : 10e8             [ 3]         bpl tasl
26df : 10e4             [ 3]         bpl tasl
219f : a203             [ 2]         ldx #3
26e1 : a203             [ 2]         ldx #3
21a1 :                       tasl1
26e3 :                       tasl1
                                     set_ax zp1,$ff
                                     set_ax zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  168
26e3 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
21a1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
 
                            >
                            >
21a3 : 48               [ 3]>            pha         ;use stack to load status
26e5 : 48               [ 3]>            pha         ;use stack to load status
21a4 : b513             [ 4]>            lda zp1,x    ;precharge accu
26e6 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
21a6 : 28               [ 4]>            plp
26e8 : 28               [ 4]>            plp
 
 
21a7 : 0a               [ 2]         asl a
26e9 : 0a               [ 2]         asl a
                                     tst_ax rASL,fASL,$ff-fnzc
                                     tst_ax rASL,fASL,$ff-fnzc
21a8 : 08               [ 3]>            php         ;save flags
26ea : 08               [ 3]>            php         ;save flags
21a9 : dd1102           [ 4]>            cmp rASL,x    ;test result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  265
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
26eb : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
21ac : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26ee : f002             [ 3]>        beq skip2286
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26f0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26f1 : 1d                   >        db      test_num
 
                            >
 
26f2 :                      >skip2286
                            >
                            >
21ae : 68               [ 4]>            pla         ;load status
26f2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
21af : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
26f3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
21b1 : dd2102           [ 4]>            cmp fASL,x    ;test flags
26f5 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
21b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
26f8 : f002             [ 3]>        beq skip2289
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
26fa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
26fb : 1d                   >        db      test_num
 
                            >
 
26fc :                      >skip2289
                            >
                            >
 
 
21b6 : ca               [ 2]         dex
26fc : ca               [ 2]         dex
21b7 : 10e8             [ 3]         bpl tasl1
26fd : 10e4             [ 3]         bpl tasl1
 
 
21b9 : a203             [ 2]         ldx #3
26ff : a203             [ 2]         ldx #3
21bb :                       tlsr
2701 :                       tlsr
                                     set_ax zp1,0
                                     set_ax zp1,0
                            >            load_flag 0
                            >            load_flag 0
21bb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2701 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
21bd : 48               [ 3]>            pha         ;use stack to load status
2703 : 48               [ 3]>            pha         ;use stack to load status
21be : b513             [ 4]>            lda zp1,x    ;precharge accu
2704 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
21c0 : 28               [ 4]>            plp
2706 : 28               [ 4]>            plp
 
 
21c1 : 4a               [ 2]         lsr a
2707 : 4a               [ 2]         lsr a
                                     tst_ax rLSR,fLSR,0
                                     tst_ax rLSR,fLSR,0
21c2 : 08               [ 3]>            php         ;save flags
2708 : 08               [ 3]>            php         ;save flags
21c3 : dd1902           [ 4]>            cmp rLSR,x    ;test result
2709 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
21c6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
270c : f002             [ 3]>        beq skip2294
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
270e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
270f : 1d                   >        db      test_num
 
                            >
 
2710 :                      >skip2294
                            >
                            >
21c8 : 68               [ 4]>            pla         ;load status
2710 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
21c9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2711 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
21cb : dd2902           [ 4]>            cmp fLSR,x    ;test flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  266
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2713 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
21ce : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2716 : f002             [ 3]>        beq skip2297
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2718 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2719 : 1d                   >        db      test_num
 
                            >
 
271a :                      >skip2297
                            >
                            >
 
 
21d0 : ca               [ 2]         dex
271a : ca               [ 2]         dex
21d1 : 10e8             [ 3]         bpl tlsr
271b : 10e4             [ 3]         bpl tlsr
21d3 : a203             [ 2]         ldx #3
271d : a203             [ 2]         ldx #3
21d5 :                       tlsr1
271f :                       tlsr1
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  169
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     set_ax zp1,$ff
                                     set_ax zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
21d5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
271f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
21d7 : 48               [ 3]>            pha         ;use stack to load status
2721 : 48               [ 3]>            pha         ;use stack to load status
21d8 : b513             [ 4]>            lda zp1,x    ;precharge accu
2722 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
21da : 28               [ 4]>            plp
2724 : 28               [ 4]>            plp
 
 
21db : 4a               [ 2]         lsr a
2725 : 4a               [ 2]         lsr a
                                     tst_ax rLSR,fLSR,$ff-fnzc
                                     tst_ax rLSR,fLSR,$ff-fnzc
21dc : 08               [ 3]>            php         ;save flags
2726 : 08               [ 3]>            php         ;save flags
21dd : dd1902           [ 4]>            cmp rLSR,x    ;test result
2727 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
21e0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
272a : f002             [ 3]>        beq skip2302
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
272c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
272d : 1d                   >        db      test_num
 
                            >
 
272e :                      >skip2302
                            >
                            >
21e2 : 68               [ 4]>            pla         ;load status
272e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
21e3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
272f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
21e5 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2731 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
21e8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2734 : f002             [ 3]>        beq skip2305
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2736 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2737 : 1d                   >        db      test_num
                            >
                            >
 
2738 :                      >skip2305
 
                            >
 
 
 
2738 : ca               [ 2]         dex
 
2739 : 10e4             [ 3]         bpl tlsr1
 
 
21ea : ca               [ 2]         dex
273b : a203             [ 2]         ldx #3
21eb : 10e8             [ 3]         bpl tlsr1
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  267
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
21ed : a203             [ 2]         ldx #3
273d :                       trol
21ef :                       trol
 
                                     set_ax zp1,0
                                     set_ax zp1,0
                            >            load_flag 0
                            >            load_flag 0
21ef : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
273d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
21f1 : 48               [ 3]>            pha         ;use stack to load status
273f : 48               [ 3]>            pha         ;use stack to load status
21f2 : b513             [ 4]>            lda zp1,x    ;precharge accu
2740 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
21f4 : 28               [ 4]>            plp
2742 : 28               [ 4]>            plp
 
 
21f5 : 2a               [ 2]         rol a
2743 : 2a               [ 2]         rol a
                                     tst_ax rROL,fROL,0
                                     tst_ax rROL,fROL,0
21f6 : 08               [ 3]>            php         ;save flags
2744 : 08               [ 3]>            php         ;save flags
21f7 : dd1102           [ 4]>            cmp rROL,x    ;test result
2745 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
21fa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2748 : f002             [ 3]>        beq skip2310
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
274a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
274b : 1d                   >        db      test_num
 
                            >
 
274c :                      >skip2310
                            >
                            >
21fc : 68               [ 4]>            pla         ;load status
274c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
21fd : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
274d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
21ff : dd2102           [ 4]>            cmp fROL,x    ;test flags
274f : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2202 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2752 : f002             [ 3]>        beq skip2313
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2754 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2755 : 1d                   >        db      test_num
 
                            >
 
2756 :                      >skip2313
                            >
                            >
 
 
2204 : ca               [ 2]         dex
2756 : ca               [ 2]         dex
2205 : 10e8             [ 4]         bpl trol
2757 : 10e4             [ 3]         bpl trol
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  170
2759 : a203             [ 2]         ldx #3
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
275b :                       trol1
 
 
2207 : a203             [ 2]         ldx #3
 
2209 :                       trol1
 
                                     set_ax zp1,$ff-fc
                                     set_ax zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
2209 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
275b : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
220b : 48               [ 3]>            pha         ;use stack to load status
275d : 48               [ 3]>            pha         ;use stack to load status
220c : b513             [ 4]>            lda zp1,x    ;precharge accu
275e : b5b9             [ 4]>            lda zp1,x    ;precharge accu
220e : 28               [ 4]>            plp
2760 : 28               [ 4]>            plp
 
 
220f : 2a               [ 2]         rol a
2761 : 2a               [ 2]         rol a
                                     tst_ax rROL,fROL,$ff-fnzc
                                     tst_ax rROL,fROL,$ff-fnzc
2210 : 08               [ 3]>            php         ;save flags
2762 : 08               [ 3]>            php         ;save flags
2211 : dd1102           [ 4]>            cmp rROL,x    ;test result
2763 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2214 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2766 : f002             [ 3]>        beq skip2318
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  268
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2768 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2769 : 1d                   >        db      test_num
 
                            >
 
276a :                      >skip2318
                            >
                            >
2216 : 68               [ 4]>            pla         ;load status
276a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2217 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
276b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2219 : dd2102           [ 4]>            cmp fROL,x    ;test flags
276d : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
221c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2770 : f002             [ 3]>        beq skip2321
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2772 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2773 : 1d                   >        db      test_num
 
                            >
 
2774 :                      >skip2321
                            >
                            >
 
 
221e : ca               [ 2]         dex
2774 : ca               [ 2]         dex
221f : 10e8             [ 3]         bpl trol1
2775 : 10e4             [ 3]         bpl trol1
 
 
2221 : a203             [ 2]         ldx #3
2777 : a203             [ 2]         ldx #3
2223 :                       trolc
2779 :                       trolc
                                     set_ax zp1,fc
                                     set_ax zp1,fc
                            >            load_flag fc
                            >            load_flag fc
2223 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2779 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
2225 : 48               [ 3]>            pha         ;use stack to load status
277b : 48               [ 3]>            pha         ;use stack to load status
2226 : b513             [ 4]>            lda zp1,x    ;precharge accu
277c : b5b9             [ 4]>            lda zp1,x    ;precharge accu
2228 : 28               [ 4]>            plp
277e : 28               [ 4]>            plp
 
 
2229 : 2a               [ 2]         rol a
277f : 2a               [ 2]         rol a
                                     tst_ax rROLc,fROLc,0
                                     tst_ax rROLc,fROLc,0
222a : 08               [ 3]>            php         ;save flags
2780 : 08               [ 3]>            php         ;save flags
222b : dd1502           [ 4]>            cmp rROLc,x    ;test result
2781 : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
222e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2784 : f002             [ 3]>        beq skip2326
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2786 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2787 : 1d                   >        db      test_num
 
                            >
 
2788 :                      >skip2326
                            >
                            >
2230 : 68               [ 4]>            pla         ;load status
2788 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2231 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2789 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2233 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
278b : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2236 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
278e : f002             [ 3]>        beq skip2329
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  269
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  171
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2238 : ca               [ 2]         dex
                            >        trap           ;failed equal (zero)
2239 : 10e8             [ 3]         bpl trolc
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
223b : a203             [ 2]         ldx #3
2790 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
223d :                       trolc1
2791 : 1d                   >        db      test_num
 
                            >
 
2792 :                      >skip2329
 
                            >
 
 
 
2792 : ca               [ 2]         dex
 
2793 : 10e4             [ 3]         bpl trolc
 
2795 : a203             [ 2]         ldx #3
 
2797 :                       trolc1
                                     set_ax zp1,$ff
                                     set_ax zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
223d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2797 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
223f : 48               [ 3]>            pha         ;use stack to load status
2799 : 48               [ 3]>            pha         ;use stack to load status
2240 : b513             [ 4]>            lda zp1,x    ;precharge accu
279a : b5b9             [ 4]>            lda zp1,x    ;precharge accu
2242 : 28               [ 4]>            plp
279c : 28               [ 4]>            plp
 
 
2243 : 2a               [ 2]         rol a
279d : 2a               [ 2]         rol a
                                     tst_ax rROLc,fROLc,$ff-fnzc
                                     tst_ax rROLc,fROLc,$ff-fnzc
2244 : 08               [ 3]>            php         ;save flags
279e : 08               [ 3]>            php         ;save flags
2245 : dd1502           [ 4]>            cmp rROLc,x    ;test result
279f : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2248 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27a2 : f002             [ 3]>        beq skip2334
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27a4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27a5 : 1d                   >        db      test_num
                            >
                            >
224a : 68               [ 4]>            pla         ;load status
27a6 :                      >skip2334
 
                            >
 
27a6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
224b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
27a7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
224d : dd2502           [ 4]>            cmp fROLc,x    ;test flags
27a9 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2250 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27ac : f002             [ 3]>        beq skip2337
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27ae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27af : 1d                   >        db      test_num
 
                            >
 
27b0 :                      >skip2337
                            >
                            >
 
 
2252 : ca               [ 2]         dex
27b0 : ca               [ 2]         dex
2253 : 10e8             [ 3]         bpl trolc1
27b1 : 10e4             [ 3]         bpl trolc1
 
 
2255 : a203             [ 2]         ldx #3
27b3 : a203             [ 2]         ldx #3
2257 :                       tror
27b5 :                       tror
                                     set_ax zp1,0
                                     set_ax zp1,0
                            >            load_flag 0
                            >            load_flag 0
2257 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  270
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
27b5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2259 : 48               [ 3]>            pha         ;use stack to load status
27b7 : 48               [ 3]>            pha         ;use stack to load status
225a : b513             [ 4]>            lda zp1,x    ;precharge accu
27b8 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
225c : 28               [ 4]>            plp
27ba : 28               [ 4]>            plp
 
 
225d : 6a               [ 2]         ror a
27bb : 6a               [ 2]         ror a
                                     tst_ax rROR,fROR,0
                                     tst_ax rROR,fROR,0
225e : 08               [ 3]>            php         ;save flags
27bc : 08               [ 3]>            php         ;save flags
225f : dd1902           [ 4]>            cmp rROR,x    ;test result
27bd : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
2262 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27c0 : f002             [ 3]>        beq skip2342
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27c2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27c3 : 1d                   >        db      test_num
                            >
                            >
2264 : 68               [ 4]>            pla         ;load status
27c4 :                      >skip2342
 
                            >
 
27c4 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2265 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
27c5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2267 : dd2902           [ 4]>            cmp fROR,x    ;test flags
27c7 : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
226a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27ca : f002             [ 3]>        beq skip2345
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  172
                            >        trap           ;failed equal (zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27cc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27cd : 1d                   >        db      test_num
 
                            >
 
27ce :                      >skip2345
                            >
                            >
 
 
226c : ca               [ 2]         dex
27ce : ca               [ 2]         dex
226d : 10e8             [ 3]         bpl tror
27cf : 10e4             [ 3]         bpl tror
226f : a203             [ 2]         ldx #3
27d1 : a203             [ 2]         ldx #3
2271 :                       tror1
27d3 :                       tror1
                                     set_ax zp1,$ff-fc
                                     set_ax zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
2271 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
27d3 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
2273 : 48               [ 3]>            pha         ;use stack to load status
27d5 : 48               [ 3]>            pha         ;use stack to load status
2274 : b513             [ 4]>            lda zp1,x    ;precharge accu
27d6 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
2276 : 28               [ 4]>            plp
27d8 : 28               [ 4]>            plp
 
 
2277 : 6a               [ 2]         ror a
27d9 : 6a               [ 2]         ror a
                                     tst_ax rROR,fROR,$ff-fnzc
                                     tst_ax rROR,fROR,$ff-fnzc
2278 : 08               [ 3]>            php         ;save flags
27da : 08               [ 3]>            php         ;save flags
2279 : dd1902           [ 4]>            cmp rROR,x    ;test result
27db : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
227c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27de : f002             [ 3]>        beq skip2350
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27e0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  271
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
27e1 : 1d                   >        db      test_num
                            >
                            >
227e : 68               [ 4]>            pla         ;load status
27e2 :                      >skip2350
 
                            >
 
27e2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
227f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
27e3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2281 : dd2902           [ 4]>            cmp fROR,x    ;test flags
27e5 : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2284 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27e8 : f002             [ 3]>        beq skip2353
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27ea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27eb : 1d                   >        db      test_num
 
                            >
 
27ec :                      >skip2353
                            >
                            >
 
 
2286 : ca               [ 2]         dex
27ec : ca               [ 2]         dex
2287 : 10e8             [ 3]         bpl tror1
27ed : 10e4             [ 3]         bpl tror1
 
 
2289 : a203             [ 2]         ldx #3
27ef : a203             [ 2]         ldx #3
228b :                       trorc
27f1 :                       trorc
                                     set_ax zp1,fc
                                     set_ax zp1,fc
                            >            load_flag fc
                            >            load_flag fc
228b : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
27f1 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
228d : 48               [ 3]>            pha         ;use stack to load status
27f3 : 48               [ 3]>            pha         ;use stack to load status
228e : b513             [ 4]>            lda zp1,x    ;precharge accu
27f4 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
2290 : 28               [ 4]>            plp
27f6 : 28               [ 4]>            plp
 
 
2291 : 6a               [ 2]         ror a
27f7 : 6a               [ 2]         ror a
                                     tst_ax rRORc,fRORc,0
                                     tst_ax rRORc,fRORc,0
2292 : 08               [ 3]>            php         ;save flags
27f8 : 08               [ 3]>            php         ;save flags
2293 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
27f9 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2296 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
27fc : f002             [ 4]>        beq skip2358
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
27fe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
27ff : 1d                   >        db      test_num
                            >
                            >
2298 : 68               [ 4]>            pla         ;load status
2800 :                      >skip2358
 
                            >
 
2800 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2299 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2801 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
229b : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2803 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  173
                            >            trap_ne     ;
 
2806 : f002             [ 3]>        beq skip2361
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2808 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  272
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne     ;
2809 : 1d                   >        db      test_num
229e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                            >
 
280a :                      >skip2361
                            >
                            >
 
 
22a0 : ca               [ 2]         dex
280a : ca               [ 2]         dex
22a1 : 10e8             [ 3]         bpl trorc
280b : 10e4             [ 4]         bpl trorc
22a3 : a203             [ 2]         ldx #3
280d : a203             [ 2]         ldx #3
22a5 :                       trorc1
280f :                       trorc1
                                     set_ax zp1,$ff
                                     set_ax zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
22a5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
280f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
22a7 : 48               [ 3]>            pha         ;use stack to load status
2811 : 48               [ 3]>            pha         ;use stack to load status
22a8 : b513             [ 4]>            lda zp1,x    ;precharge accu
2812 : b5b9             [ 4]>            lda zp1,x    ;precharge accu
22aa : 28               [ 4]>            plp
2814 : 28               [ 4]>            plp
 
 
22ab : 6a               [ 2]         ror a
2815 : 6a               [ 2]         ror a
                                     tst_ax rRORc,fRORc,$ff-fnzc
                                     tst_ax rRORc,fRORc,$ff-fnzc
22ac : 08               [ 3]>            php         ;save flags
2816 : 08               [ 3]>            php         ;save flags
22ad : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2817 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
22b0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
281a : f002             [ 3]>        beq skip2366
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
281c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
281d : 1d                   >        db      test_num
 
                            >
 
281e :                      >skip2366
                            >
                            >
22b2 : 68               [ 4]>            pla         ;load status
281e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
22b3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
281f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
22b5 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2821 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
22b8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2824 : f002             [ 3]>        beq skip2369
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2826 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2827 : 1d                   >        db      test_num
 
                            >
 
2828 :                      >skip2369
                            >
                            >
 
 
22ba : ca               [ 2]         dex
2828 : ca               [ 2]         dex
22bb : 10e8             [ 3]         bpl trorc1
2829 : 10e4             [ 3]         bpl trorc1
                                     next_test
                                     next_test
22bd : ad0002           [ 4]>            lda test_case   ;previous test
282b : ad0002           [ 4]>            lda test_case   ;previous test
22c0 : c91d             [ 2]>            cmp #test_num
282e : c91d             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
22c2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2830 : f002             [ 3]>        beq skip2372
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2832 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  273
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2833 : 1d                   >        db      test_num
 
                            >
 
2834 :                      >skip2372
                            >
                            >
001e =                      >test_num = test_num + 1
001e =                      >test_num = test_num + 1
22c4 : a91e             [ 2]>            lda #test_num   ;*** this tests' number
2834 : a91e             [ 2]>            lda #test_num   ;*** this tests' number
22c6 : 8d0002           [ 4]>            sta test_case
2836 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; shifts - zeropage
                             ; shifts - zeropage
22c9 : a203             [ 2]         ldx #3
 
22cb :                       tasl2
2839 : a203             [ 2]         ldx #3
 
283b :                       tasl2
                                     set_z zp1,0
                                     set_z zp1,0
                            >            load_flag 0
                            >            load_flag 0
22cb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
283b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
22cd : 48               [ 3]>            pha         ;use stack to load status
283d : 48               [ 3]>            pha         ;use stack to load status
22ce : b513             [ 4]>            lda zp1,x    ;load to zeropage
283e : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  174
2840 : 85b2             [ 3]>            sta zpt
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2842 : 28               [ 4]>            plp
 
 
22d0 : 850c             [ 3]>            sta zpt
 
22d2 : 28               [ 4]>            plp
 
 
 
22d3 : 060c             [ 5]         asl zpt
2843 : 06b2             [ 5]         asl zpt
                                     tst_z rASL,fASL,0
                                     tst_z rASL,fASL,0
22d5 : 08               [ 3]>            php         ;save flags
2845 : 08               [ 3]>            php         ;save flags
22d6 : a50c             [ 3]>            lda zpt
2846 : a5b2             [ 3]>            lda zpt
22d8 : dd1102           [ 4]>            cmp rASL,x    ;test result
2848 : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
22db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
284b : f002             [ 3]>        beq skip2377
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
284d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
284e : 1e                   >        db      test_num
 
                            >
 
284f :                      >skip2377
                            >
                            >
22dd : 68               [ 4]>            pla         ;load status
284f : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
22de : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2850 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
22e0 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2852 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
22e3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2855 : f002             [ 3]>        beq skip2380
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2857 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2858 : 1e                   >        db      test_num
                            >
                            >
 
2859 :                      >skip2380
 
                            >
 
 
 
2859 : ca               [ 2]         dex
 
285a : 10df             [ 3]         bpl tasl2
 
285c : a203             [ 2]         ldx #3
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  274
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
22e5 : ca               [ 2]         dex
285e :                       tasl3
22e6 : 10e3             [ 3]         bpl tasl2
 
22e8 : a203             [ 2]         ldx #3
 
22ea :                       tasl3
 
                                     set_z zp1,$ff
                                     set_z zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
22ea : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
285e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
22ec : 48               [ 3]>            pha         ;use stack to load status
2860 : 48               [ 3]>            pha         ;use stack to load status
22ed : b513             [ 4]>            lda zp1,x    ;load to zeropage
2861 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
22ef : 850c             [ 3]>            sta zpt
2863 : 85b2             [ 3]>            sta zpt
22f1 : 28               [ 4]>            plp
2865 : 28               [ 4]>            plp
 
 
22f2 : 060c             [ 5]         asl zpt
2866 : 06b2             [ 5]         asl zpt
                                     tst_z rASL,fASL,$ff-fnzc
                                     tst_z rASL,fASL,$ff-fnzc
22f4 : 08               [ 3]>            php         ;save flags
2868 : 08               [ 3]>            php         ;save flags
22f5 : a50c             [ 3]>            lda zpt
2869 : a5b2             [ 3]>            lda zpt
22f7 : dd1102           [ 4]>            cmp rASL,x    ;test result
286b : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
22fa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
286e : f002             [ 3]>        beq skip2385
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2870 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2871 : 1e                   >        db      test_num
 
                            >
 
2872 :                      >skip2385
                            >
                            >
22fc : 68               [ 4]>            pla         ;load status
2872 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
22fd : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2873 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
22ff : dd2102           [ 4]>            cmp fASL,x    ;test flags
2875 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2302 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2878 : f002             [ 3]>        beq skip2388
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
287a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
287b : 1e                   >        db      test_num
 
                            >
 
287c :                      >skip2388
                            >
                            >
 
 
2304 : ca               [ 2]         dex
287c : ca               [ 2]         dex
2305 : 10e3             [ 4]         bpl tasl3
287d : 10df             [ 3]         bpl tasl3
 
 
2307 : a203             [ 2]         ldx #3
 
2309 :                       tlsr2
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  175
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
287f : a203             [ 2]         ldx #3
 
2881 :                       tlsr2
                                     set_z zp1,0
                                     set_z zp1,0
                            >            load_flag 0
                            >            load_flag 0
2309 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2881 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
230b : 48               [ 3]>            pha         ;use stack to load status
2883 : 48               [ 3]>            pha         ;use stack to load status
230c : b513             [ 4]>            lda zp1,x    ;load to zeropage
2884 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
230e : 850c             [ 3]>            sta zpt
2886 : 85b2             [ 3]>            sta zpt
2310 : 28               [ 4]>            plp
2888 : 28               [ 4]>            plp
 
 
2311 : 460c             [ 5]         lsr zpt
2889 : 46b2             [ 5]         lsr zpt
                                     tst_z rLSR,fLSR,0
                                     tst_z rLSR,fLSR,0
2313 : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  275
2314 : a50c             [ 3]>            lda zpt
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2316 : dd1902           [ 4]>            cmp rLSR,x    ;test result
 
 
288b : 08               [ 3]>            php         ;save flags
 
288c : a5b2             [ 3]>            lda zpt
 
288e : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
2319 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2891 : f002             [ 3]>        beq skip2393
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2893 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2894 : 1e                   >        db      test_num
 
                            >
 
2895 :                      >skip2393
                            >
                            >
231b : 68               [ 4]>            pla         ;load status
2895 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
231c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2896 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
231e : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2898 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2321 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
289b : f002             [ 3]>        beq skip2396
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
289d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
289e : 1e                   >        db      test_num
 
                            >
 
289f :                      >skip2396
                            >
                            >
 
 
2323 : ca               [ 2]         dex
289f : ca               [ 2]         dex
2324 : 10e3             [ 3]         bpl tlsr2
28a0 : 10df             [ 3]         bpl tlsr2
2326 : a203             [ 2]         ldx #3
28a2 : a203             [ 2]         ldx #3
2328 :                       tlsr3
28a4 :                       tlsr3
                                     set_z zp1,$ff
                                     set_z zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2328 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
28a4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
232a : 48               [ 3]>            pha         ;use stack to load status
28a6 : 48               [ 3]>            pha         ;use stack to load status
232b : b513             [ 4]>            lda zp1,x    ;load to zeropage
28a7 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
232d : 850c             [ 3]>            sta zpt
28a9 : 85b2             [ 3]>            sta zpt
232f : 28               [ 4]>            plp
28ab : 28               [ 4]>            plp
 
 
2330 : 460c             [ 5]         lsr zpt
28ac : 46b2             [ 5]         lsr zpt
                                     tst_z rLSR,fLSR,$ff-fnzc
                                     tst_z rLSR,fLSR,$ff-fnzc
2332 : 08               [ 3]>            php         ;save flags
28ae : 08               [ 3]>            php         ;save flags
2333 : a50c             [ 3]>            lda zpt
28af : a5b2             [ 3]>            lda zpt
2335 : dd1902           [ 4]>            cmp rLSR,x    ;test result
28b1 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
2338 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
28b4 : f002             [ 3]>        beq skip2401
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
28b6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
28b7 : 1e                   >        db      test_num
 
                            >
 
28b8 :                      >skip2401
                            >
                            >
233a : 68               [ 4]>            pla         ;load status
28b8 : 68               [ 4]>            pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  276
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
233b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
28b9 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
233d : dd2902           [ 4]>            cmp fLSR,x    ;test flags
28bb : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2340 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
28be : f002             [ 3]>        beq skip2404
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
28c0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
28c1 : 1e                   >        db      test_num
 
                            >
 
28c2 :                      >skip2404
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  176
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
2342 : ca               [ 2]         dex
28c2 : ca               [ 2]         dex
2343 : 10e3             [ 3]         bpl tlsr3
28c3 : 10df             [ 3]         bpl tlsr3
 
 
2345 : a203             [ 2]         ldx #3
28c5 : a203             [ 2]         ldx #3
2347 :                       trol2
28c7 :                       trol2
                                     set_z zp1,0
                                     set_z zp1,0
                            >            load_flag 0
                            >            load_flag 0
2347 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
28c7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2349 : 48               [ 3]>            pha         ;use stack to load status
28c9 : 48               [ 3]>            pha         ;use stack to load status
234a : b513             [ 4]>            lda zp1,x    ;load to zeropage
28ca : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
234c : 850c             [ 3]>            sta zpt
28cc : 85b2             [ 3]>            sta zpt
234e : 28               [ 4]>            plp
28ce : 28               [ 4]>            plp
 
 
234f : 260c             [ 5]         rol zpt
28cf : 26b2             [ 5]         rol zpt
                                     tst_z rROL,fROL,0
                                     tst_z rROL,fROL,0
2351 : 08               [ 3]>            php         ;save flags
28d1 : 08               [ 3]>            php         ;save flags
2352 : a50c             [ 3]>            lda zpt
28d2 : a5b2             [ 3]>            lda zpt
2354 : dd1102           [ 4]>            cmp rROL,x    ;test result
28d4 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2357 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
28d7 : f002             [ 3]>        beq skip2409
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
28d9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
28da : 1e                   >        db      test_num
 
                            >
 
28db :                      >skip2409
                            >
                            >
2359 : 68               [ 4]>            pla         ;load status
28db : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
235a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
28dc : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
235c : dd2102           [ 4]>            cmp fROL,x    ;test flags
28de : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
235f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
28e1 : f002             [ 3]>        beq skip2412
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
28e3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
28e4 : 1e                   >        db      test_num
 
                            >
 
28e5 :                      >skip2412
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  277
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
 
 
2361 : ca               [ 2]         dex
28e5 : ca               [ 2]         dex
2362 : 10e3             [ 3]         bpl trol2
28e6 : 10df             [ 3]         bpl trol2
2364 : a203             [ 2]         ldx #3
28e8 : a203             [ 2]         ldx #3
2366 :                       trol3
28ea :                       trol3
                                     set_z zp1,$ff-fc
                                     set_z zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
2366 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
28ea : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
2368 : 48               [ 3]>            pha         ;use stack to load status
28ec : 48               [ 3]>            pha         ;use stack to load status
2369 : b513             [ 4]>            lda zp1,x    ;load to zeropage
28ed : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
236b : 850c             [ 3]>            sta zpt
28ef : 85b2             [ 3]>            sta zpt
236d : 28               [ 4]>            plp
28f1 : 28               [ 4]>            plp
 
 
236e : 260c             [ 5]         rol zpt
28f2 : 26b2             [ 5]         rol zpt
                                     tst_z rROL,fROL,$ff-fnzc
                                     tst_z rROL,fROL,$ff-fnzc
2370 : 08               [ 3]>            php         ;save flags
28f4 : 08               [ 3]>            php         ;save flags
2371 : a50c             [ 3]>            lda zpt
28f5 : a5b2             [ 3]>            lda zpt
2373 : dd1102           [ 4]>            cmp rROL,x    ;test result
28f7 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2376 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
28fa : f002             [ 3]>        beq skip2417
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
28fc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
28fd : 1e                   >        db      test_num
                            >
                            >
2378 : 68               [ 4]>            pla         ;load status
28fe :                      >skip2417
 
                            >
 
28fe : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  177
28ff : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2379 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
 
                            >
                            >
237b : dd2102           [ 4]>            cmp fROL,x    ;test flags
2901 : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
237e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2904 : f002             [ 3]>        beq skip2420
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2906 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2907 : 1e                   >        db      test_num
 
                            >
 
2908 :                      >skip2420
                            >
                            >
 
 
2380 : ca               [ 2]         dex
2908 : ca               [ 2]         dex
2381 : 10e3             [ 3]         bpl trol3
2909 : 10df             [ 4]         bpl trol3
 
 
2383 : a203             [ 2]         ldx #3
290b : a203             [ 2]         ldx #3
2385 :                       trolc2
290d :                       trolc2
                                     set_z zp1,fc
                                     set_z zp1,fc
                            >            load_flag fc
                            >            load_flag fc
2385 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
290d : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
2387 : 48               [ 3]>            pha         ;use stack to load status
290f : 48               [ 3]>            pha         ;use stack to load status
2388 : b513             [ 4]>            lda zp1,x    ;load to zeropage
2910 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
238a : 850c             [ 3]>            sta zpt
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  278
238c : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
238d : 260c             [ 5]         rol zpt
2912 : 85b2             [ 3]>            sta zpt
 
2914 : 28               [ 4]>            plp
 
 
 
2915 : 26b2             [ 5]         rol zpt
                                     tst_z rROLc,fROLc,0
                                     tst_z rROLc,fROLc,0
238f : 08               [ 3]>            php         ;save flags
2917 : 08               [ 3]>            php         ;save flags
2390 : a50c             [ 3]>            lda zpt
2918 : a5b2             [ 3]>            lda zpt
2392 : dd1502           [ 4]>            cmp rROLc,x    ;test result
291a : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2395 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
291d : f002             [ 3]>        beq skip2425
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
291f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2920 : 1e                   >        db      test_num
                            >
                            >
2397 : 68               [ 4]>            pla         ;load status
2921 :                      >skip2425
 
                            >
 
2921 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2398 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2922 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
239a : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2924 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
239d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2927 : f002             [ 3]>        beq skip2428
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2929 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
292a : 1e                   >        db      test_num
 
                            >
 
292b :                      >skip2428
                            >
                            >
 
 
239f : ca               [ 2]         dex
292b : ca               [ 2]         dex
23a0 : 10e3             [ 3]         bpl trolc2
292c : 10df             [ 3]         bpl trolc2
23a2 : a203             [ 2]         ldx #3
292e : a203             [ 2]         ldx #3
23a4 :                       trolc3
2930 :                       trolc3
                                     set_z zp1,$ff
                                     set_z zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
23a4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2930 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
23a6 : 48               [ 3]>            pha         ;use stack to load status
2932 : 48               [ 3]>            pha         ;use stack to load status
23a7 : b513             [ 4]>            lda zp1,x    ;load to zeropage
2933 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
23a9 : 850c             [ 3]>            sta zpt
2935 : 85b2             [ 3]>            sta zpt
23ab : 28               [ 4]>            plp
2937 : 28               [ 4]>            plp
 
 
23ac : 260c             [ 5]         rol zpt
2938 : 26b2             [ 5]         rol zpt
                                     tst_z rROLc,fROLc,$ff-fnzc
                                     tst_z rROLc,fROLc,$ff-fnzc
23ae : 08               [ 3]>            php         ;save flags
293a : 08               [ 3]>            php         ;save flags
23af : a50c             [ 3]>            lda zpt
293b : a5b2             [ 3]>            lda zpt
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  178
293d : dd1502           [ 4]>            cmp rROLc,x    ;test result
 
                            >            trap_ne
 
2940 : f002             [ 3]>        beq skip2433
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2942 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  279
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
23b1 : dd1502           [ 4]>            cmp rROLc,x    ;test result
2943 : 1e                   >        db      test_num
                            >            trap_ne
                            >
23b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2944 :                      >skip2433
                            >
                            >
23b6 : 68               [ 4]>            pla         ;load status
2944 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
23b7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2945 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
23b9 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2947 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
23bc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
294a : f002             [ 3]>        beq skip2436
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
294c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
294d : 1e                   >        db      test_num
 
                            >
 
294e :                      >skip2436
                            >
                            >
 
 
23be : ca               [ 2]         dex
294e : ca               [ 2]         dex
23bf : 10e3             [ 3]         bpl trolc3
294f : 10df             [ 3]         bpl trolc3
 
 
23c1 : a203             [ 2]         ldx #3
2951 : a203             [ 2]         ldx #3
23c3 :                       tror2
2953 :                       tror2
                                     set_z zp1,0
                                     set_z zp1,0
                            >            load_flag 0
                            >            load_flag 0
23c3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2953 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
23c5 : 48               [ 3]>            pha         ;use stack to load status
2955 : 48               [ 3]>            pha         ;use stack to load status
23c6 : b513             [ 4]>            lda zp1,x    ;load to zeropage
2956 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
23c8 : 850c             [ 3]>            sta zpt
2958 : 85b2             [ 3]>            sta zpt
23ca : 28               [ 4]>            plp
295a : 28               [ 4]>            plp
 
 
23cb : 660c             [ 5]         ror zpt
295b : 66b2             [ 5]         ror zpt
                                     tst_z rROR,fROR,0
                                     tst_z rROR,fROR,0
23cd : 08               [ 3]>            php         ;save flags
295d : 08               [ 3]>            php         ;save flags
23ce : a50c             [ 3]>            lda zpt
295e : a5b2             [ 3]>            lda zpt
23d0 : dd1902           [ 4]>            cmp rROR,x    ;test result
2960 : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
23d3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2963 : f002             [ 3]>        beq skip2441
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2965 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2966 : 1e                   >        db      test_num
                            >
                            >
23d5 : 68               [ 4]>            pla         ;load status
2967 :                      >skip2441
 
                            >
 
2967 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
23d6 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2968 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
23d8 : dd2902           [ 4]>            cmp fROR,x    ;test flags
296a : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
23db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
296d : f002             [ 3]>        beq skip2444
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  280
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
296f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2970 : 1e                   >        db      test_num
 
                            >
 
2971 :                      >skip2444
                            >
                            >
 
 
23dd : ca               [ 2]         dex
2971 : ca               [ 2]         dex
23de : 10e3             [ 3]         bpl tror2
2972 : 10df             [ 3]         bpl tror2
23e0 : a203             [ 2]         ldx #3
2974 : a203             [ 2]         ldx #3
23e2 :                       tror3
2976 :                       tror3
                                     set_z zp1,$ff-fc
                                     set_z zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
23e2 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2976 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
23e4 : 48               [ 3]>            pha         ;use stack to load status
2978 : 48               [ 3]>            pha         ;use stack to load status
23e5 : b513             [ 4]>            lda zp1,x    ;load to zeropage
2979 : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
23e7 : 850c             [ 3]>            sta zpt
297b : 85b2             [ 3]>            sta zpt
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  179
297d : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
23e9 : 28               [ 4]>            plp
297e : 66b2             [ 5]         ror zpt
 
 
23ea : 660c             [ 5]         ror zpt
 
                                     tst_z rROR,fROR,$ff-fnzc
                                     tst_z rROR,fROR,$ff-fnzc
23ec : 08               [ 3]>            php         ;save flags
2980 : 08               [ 3]>            php         ;save flags
23ed : a50c             [ 3]>            lda zpt
2981 : a5b2             [ 3]>            lda zpt
23ef : dd1902           [ 4]>            cmp rROR,x    ;test result
2983 : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
23f2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2986 : f002             [ 3]>        beq skip2449
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2988 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2989 : 1e                   >        db      test_num
                            >
                            >
23f4 : 68               [ 4]>            pla         ;load status
298a :                      >skip2449
 
                            >
 
298a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
23f5 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
298b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
23f7 : dd2902           [ 4]>            cmp fROR,x    ;test flags
298d : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
23fa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2990 : f002             [ 3]>        beq skip2452
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2992 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2993 : 1e                   >        db      test_num
 
                            >
 
2994 :                      >skip2452
                            >
                            >
 
 
23fc : ca               [ 2]         dex
2994 : ca               [ 2]         dex
23fd : 10e3             [ 3]         bpl tror3
2995 : 10df             [ 3]         bpl tror3
 
 
23ff : a203             [ 2]         ldx #3
2997 : a203             [ 2]         ldx #3
2401 :                       trorc2
2999 :                       trorc2
                                     set_z zp1,fc
                                     set_z zp1,fc
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  281
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag fc
                            >            load_flag fc
2401 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2999 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
2403 : 48               [ 3]>            pha         ;use stack to load status
299b : 48               [ 3]>            pha         ;use stack to load status
2404 : b513             [ 4]>            lda zp1,x    ;load to zeropage
299c : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
2406 : 850c             [ 3]>            sta zpt
299e : 85b2             [ 3]>            sta zpt
2408 : 28               [ 4]>            plp
29a0 : 28               [ 4]>            plp
 
 
2409 : 660c             [ 5]         ror zpt
29a1 : 66b2             [ 5]         ror zpt
                                     tst_z rRORc,fRORc,0
                                     tst_z rRORc,fRORc,0
240b : 08               [ 3]>            php         ;save flags
29a3 : 08               [ 3]>            php         ;save flags
240c : a50c             [ 3]>            lda zpt
29a4 : a5b2             [ 3]>            lda zpt
240e : dd1d02           [ 4]>            cmp rRORc,x    ;test result
29a6 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2411 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29a9 : f002             [ 3]>        beq skip2457
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
29ab : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
29ac : 1e                   >        db      test_num
 
                            >
 
29ad :                      >skip2457
                            >
                            >
2413 : 68               [ 4]>            pla         ;load status
29ad : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2414 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
29ae : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2416 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
29b0 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2419 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29b3 : f002             [ 3]>        beq skip2460
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
29b5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
29b6 : 1e                   >        db      test_num
 
                            >
 
29b7 :                      >skip2460
                            >
                            >
 
 
241b : ca               [ 2]         dex
29b7 : ca               [ 2]         dex
241c : 10e3             [ 3]         bpl trorc2
29b8 : 10df             [ 3]         bpl trorc2
241e : a203             [ 2]         ldx #3
29ba : a203             [ 2]         ldx #3
2420 :                       trorc3
29bc :                       trorc3
                                     set_z zp1,$ff
                                     set_z zp1,$ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  180
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag $ff
                            >            load_flag $ff
2420 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
29bc : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2422 : 48               [ 3]>            pha         ;use stack to load status
29be : 48               [ 3]>            pha         ;use stack to load status
2423 : b513             [ 4]>            lda zp1,x    ;load to zeropage
29bf : b5b9             [ 4]>            lda zp1,x    ;load to zeropage
2425 : 850c             [ 3]>            sta zpt
29c1 : 85b2             [ 3]>            sta zpt
2427 : 28               [ 4]>            plp
29c3 : 28               [ 4]>            plp
 
 
2428 : 660c             [ 5]         ror zpt
29c4 : 66b2             [ 5]         ror zpt
                                     tst_z rRORc,fRORc,$ff-fnzc
                                     tst_z rRORc,fRORc,$ff-fnzc
242a : 08               [ 3]>            php         ;save flags
29c6 : 08               [ 3]>            php         ;save flags
242b : a50c             [ 3]>            lda zpt
29c7 : a5b2             [ 3]>            lda zpt
242d : dd1d02           [ 4]>            cmp rRORc,x    ;test result
29c9 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  282
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
2430 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29cc : f002             [ 3]>        beq skip2465
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
29ce : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
29cf : 1e                   >        db      test_num
                            >
                            >
2432 : 68               [ 4]>            pla         ;load status
29d0 :                      >skip2465
 
                            >
 
29d0 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2433 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
29d1 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2435 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
29d3 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2438 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29d6 : f002             [ 3]>        beq skip2468
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
29d8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
29d9 : 1e                   >        db      test_num
 
                            >
 
29da :                      >skip2468
                            >
                            >
 
 
243a : ca               [ 2]         dex
29da : ca               [ 2]         dex
243b : 10e3             [ 3]         bpl trorc3
29db : 10df             [ 3]         bpl trorc3
                                     next_test
                                     next_test
243d : ad0002           [ 4]>            lda test_case   ;previous test
29dd : ad0002           [ 4]>            lda test_case   ;previous test
2440 : c91e             [ 2]>            cmp #test_num
29e0 : c91e             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2442 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29e2 : f002             [ 3]>        beq skip2471
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
29e4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
29e5 : 1e                   >        db      test_num
 
                            >
 
29e6 :                      >skip2471
                            >
                            >
001f =                      >test_num = test_num + 1
001f =                      >test_num = test_num + 1
2444 : a91f             [ 2]>            lda #test_num   ;*** this tests' number
29e6 : a91f             [ 2]>            lda #test_num   ;*** this tests' number
2446 : 8d0002           [ 4]>            sta test_case
29e8 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; shifts - absolute
                             ; shifts - absolute
2449 : a203             [ 2]         ldx #3
 
244b :                       tasl4
29eb : a203             [ 2]         ldx #3
 
29ed :                       tasl4
                                     set_abs zp1,0
                                     set_abs zp1,0
                            >            load_flag 0
                            >            load_flag 0
244b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
29ed : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
244d : 48               [ 3]>            pha         ;use stack to load status
29ef : 48               [ 3]>            pha         ;use stack to load status
244e : b513             [ 4]>            lda zp1,x    ;load to memory
29f0 : b5b9             [ 4]>            lda zp1,x    ;load to memory
2450 : 8d0302           [ 4]>            sta abst
29f2 : 8d0302           [ 4]>            sta abst
2453 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  283
 
 
2454 : 0e0302           [ 6]         asl abst
 
                                     tst_abs rASL,fASL,0
 
2457 : 08               [ 3]>            php         ;save flags
 
2458 : ad0302           [ 4]>            lda abst
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  181
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
245b : dd1102           [ 4]>            cmp rASL,x    ;test result
29f5 : 28               [ 4]>            plp
                            >            trap_ne
 
245e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
29f6 : 0e0302           [ 6]         asl abst
 
                                     tst_abs rASL,fASL,0
 
29f9 : 08               [ 3]>            php         ;save flags
 
29fa : ad0302           [ 4]>            lda abst
 
29fd : dd1102           [ 4]>            cmp rASL,x    ;test result
 
                            >            trap_ne
 
2a00 : f002             [ 3]>        beq skip2476
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a02 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a03 : 1f                   >        db      test_num
                            >
                            >
2460 : 68               [ 4]>            pla         ;load status
2a04 :                      >skip2476
 
                            >
 
2a04 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2461 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2a05 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2463 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2a07 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2466 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a0a : f002             [ 3]>        beq skip2479
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a0c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a0d : 1f                   >        db      test_num
 
                            >
 
2a0e :                      >skip2479
                            >
                            >
 
 
2468 : ca               [ 2]         dex
2a0e : ca               [ 2]         dex
2469 : 10e0             [ 3]         bpl tasl4
2a0f : 10dc             [ 4]         bpl tasl4
246b : a203             [ 2]         ldx #3
2a11 : a203             [ 2]         ldx #3
246d :                       tasl5
2a13 :                       tasl5
                                     set_abs zp1,$ff
                                     set_abs zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
246d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2a13 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
246f : 48               [ 3]>            pha         ;use stack to load status
2a15 : 48               [ 3]>            pha         ;use stack to load status
2470 : b513             [ 4]>            lda zp1,x    ;load to memory
2a16 : b5b9             [ 4]>            lda zp1,x    ;load to memory
2472 : 8d0302           [ 4]>            sta abst
2a18 : 8d0302           [ 4]>            sta abst
2475 : 28               [ 4]>            plp
2a1b : 28               [ 4]>            plp
 
 
2476 : 0e0302           [ 6]         asl abst
2a1c : 0e0302           [ 6]         asl abst
                                     tst_abs rASL,fASL,$ff-fnzc
                                     tst_abs rASL,fASL,$ff-fnzc
2479 : 08               [ 3]>            php         ;save flags
2a1f : 08               [ 3]>            php         ;save flags
247a : ad0302           [ 4]>            lda abst
2a20 : ad0302           [ 4]>            lda abst
247d : dd1102           [ 4]>            cmp rASL,x    ;test result
2a23 : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2480 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a26 : f002             [ 3]>        beq skip2484
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a28 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a29 : 1f                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  284
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
2482 : 68               [ 4]>            pla         ;load status
2a2a :                      >skip2484
 
                            >
 
2a2a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2483 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2a2b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2485 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2a2d : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2488 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a30 : f002             [ 3]>        beq skip2487
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a32 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a33 : 1f                   >        db      test_num
 
                            >
 
2a34 :                      >skip2487
                            >
                            >
 
 
248a : ca               [ 2]         dex
2a34 : ca               [ 2]         dex
248b : 10e0             [ 3]         bpl tasl5
2a35 : 10dc             [ 3]         bpl tasl5
 
 
248d : a203             [ 2]         ldx #3
2a37 : a203             [ 2]         ldx #3
248f :                       tlsr4
2a39 :                       tlsr4
                                     set_abs zp1,0
                                     set_abs zp1,0
                            >            load_flag 0
                            >            load_flag 0
248f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2a39 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2491 : 48               [ 3]>            pha         ;use stack to load status
2a3b : 48               [ 3]>            pha         ;use stack to load status
2492 : b513             [ 4]>            lda zp1,x    ;load to memory
2a3c : b5b9             [ 4]>            lda zp1,x    ;load to memory
2494 : 8d0302           [ 4]>            sta abst
2a3e : 8d0302           [ 4]>            sta abst
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  182
2a41 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2497 : 28               [ 4]>            plp
2a42 : 4e0302           [ 6]         lsr abst
 
 
2498 : 4e0302           [ 6]         lsr abst
 
                                     tst_abs rLSR,fLSR,0
                                     tst_abs rLSR,fLSR,0
249b : 08               [ 3]>            php         ;save flags
2a45 : 08               [ 3]>            php         ;save flags
249c : ad0302           [ 4]>            lda abst
2a46 : ad0302           [ 4]>            lda abst
249f : dd1902           [ 4]>            cmp rLSR,x    ;test result
2a49 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
24a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a4c : f002             [ 3]>        beq skip2492
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a4e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a4f : 1f                   >        db      test_num
                            >
                            >
24a4 : 68               [ 4]>            pla         ;load status
2a50 :                      >skip2492
 
                            >
 
2a50 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
24a5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2a51 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
24a7 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2a53 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
24aa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a56 : f002             [ 3]>        beq skip2495
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  285
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2a58 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a59 : 1f                   >        db      test_num
 
                            >
 
2a5a :                      >skip2495
                            >
                            >
 
 
24ac : ca               [ 2]         dex
2a5a : ca               [ 2]         dex
24ad : 10e0             [ 3]         bpl tlsr4
2a5b : 10dc             [ 3]         bpl tlsr4
24af : a203             [ 2]         ldx #3
2a5d : a203             [ 2]         ldx #3
24b1 :                       tlsr5
2a5f :                       tlsr5
                                     set_abs zp1,$ff
                                     set_abs zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
24b1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2a5f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
24b3 : 48               [ 3]>            pha         ;use stack to load status
2a61 : 48               [ 3]>            pha         ;use stack to load status
24b4 : b513             [ 4]>            lda zp1,x    ;load to memory
2a62 : b5b9             [ 4]>            lda zp1,x    ;load to memory
24b6 : 8d0302           [ 4]>            sta abst
2a64 : 8d0302           [ 4]>            sta abst
24b9 : 28               [ 4]>            plp
2a67 : 28               [ 4]>            plp
 
 
24ba : 4e0302           [ 6]         lsr abst
2a68 : 4e0302           [ 6]         lsr abst
                                     tst_abs rLSR,fLSR,$ff-fnzc
                                     tst_abs rLSR,fLSR,$ff-fnzc
24bd : 08               [ 3]>            php         ;save flags
2a6b : 08               [ 3]>            php         ;save flags
24be : ad0302           [ 4]>            lda abst
2a6c : ad0302           [ 4]>            lda abst
24c1 : dd1902           [ 4]>            cmp rLSR,x    ;test result
2a6f : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
24c4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a72 : f002             [ 3]>        beq skip2500
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a74 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a75 : 1f                   >        db      test_num
 
                            >
 
2a76 :                      >skip2500
                            >
                            >
24c6 : 68               [ 4]>            pla         ;load status
2a76 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
24c7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2a77 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
24c9 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2a79 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
24cc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a7c : f002             [ 3]>        beq skip2503
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a7e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a7f : 1f                   >        db      test_num
 
                            >
 
2a80 :                      >skip2503
                            >
                            >
 
 
24ce : ca               [ 2]         dex
2a80 : ca               [ 2]         dex
24cf : 10e0             [ 3]         bpl tlsr5
2a81 : 10dc             [ 3]         bpl tlsr5
 
 
24d1 : a203             [ 2]         ldx #3
2a83 : a203             [ 2]         ldx #3
24d3 :                       trol4
2a85 :                       trol4
                                     set_abs zp1,0
                                     set_abs zp1,0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  183
                            >            load_flag 0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  286
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag 0
2a85 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
24d3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
 
                            >
                            >
24d5 : 48               [ 3]>            pha         ;use stack to load status
2a87 : 48               [ 3]>            pha         ;use stack to load status
24d6 : b513             [ 4]>            lda zp1,x    ;load to memory
2a88 : b5b9             [ 4]>            lda zp1,x    ;load to memory
24d8 : 8d0302           [ 4]>            sta abst
2a8a : 8d0302           [ 4]>            sta abst
24db : 28               [ 4]>            plp
2a8d : 28               [ 4]>            plp
 
 
24dc : 2e0302           [ 6]         rol abst
2a8e : 2e0302           [ 6]         rol abst
                                     tst_abs rROL,fROL,0
                                     tst_abs rROL,fROL,0
24df : 08               [ 3]>            php         ;save flags
2a91 : 08               [ 3]>            php         ;save flags
24e0 : ad0302           [ 4]>            lda abst
2a92 : ad0302           [ 4]>            lda abst
24e3 : dd1102           [ 4]>            cmp rROL,x    ;test result
2a95 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
24e6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2a98 : f002             [ 3]>        beq skip2508
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2a9a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2a9b : 1f                   >        db      test_num
 
                            >
 
2a9c :                      >skip2508
                            >
                            >
24e8 : 68               [ 4]>            pla         ;load status
2a9c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
24e9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2a9d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
24eb : dd2102           [ 4]>            cmp fROL,x    ;test flags
2a9f : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
24ee : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2aa2 : f002             [ 3]>        beq skip2511
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2aa4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2aa5 : 1f                   >        db      test_num
 
                            >
 
2aa6 :                      >skip2511
                            >
                            >
 
 
24f0 : ca               [ 2]         dex
2aa6 : ca               [ 2]         dex
24f1 : 10e0             [ 3]         bpl trol4
2aa7 : 10dc             [ 3]         bpl trol4
24f3 : a203             [ 2]         ldx #3
2aa9 : a203             [ 2]         ldx #3
24f5 :                       trol5
2aab :                       trol5
                                     set_abs zp1,$ff-fc
                                     set_abs zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
24f5 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2aab : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
24f7 : 48               [ 3]>            pha         ;use stack to load status
2aad : 48               [ 3]>            pha         ;use stack to load status
24f8 : b513             [ 4]>            lda zp1,x    ;load to memory
2aae : b5b9             [ 4]>            lda zp1,x    ;load to memory
24fa : 8d0302           [ 4]>            sta abst
2ab0 : 8d0302           [ 4]>            sta abst
24fd : 28               [ 4]>            plp
2ab3 : 28               [ 4]>            plp
 
 
24fe : 2e0302           [ 6]         rol abst
2ab4 : 2e0302           [ 6]         rol abst
                                     tst_abs rROL,fROL,$ff-fnzc
                                     tst_abs rROL,fROL,$ff-fnzc
2501 : 08               [ 3]>            php         ;save flags
2ab7 : 08               [ 3]>            php         ;save flags
2502 : ad0302           [ 4]>            lda abst
2ab8 : ad0302           [ 4]>            lda abst
2505 : dd1102           [ 4]>            cmp rROL,x    ;test result
2abb : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2508 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  287
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2abe : f002             [ 3]>        beq skip2516
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ac0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ac1 : 1f                   >        db      test_num
 
                            >
 
2ac2 :                      >skip2516
                            >
                            >
250a : 68               [ 4]>            pla         ;load status
2ac2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
250b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2ac3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
250d : dd2102           [ 4]>            cmp fROL,x    ;test flags
2ac5 : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2510 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ac8 : f002             [ 3]>        beq skip2519
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2aca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2acb : 1f                   >        db      test_num
 
                            >
 
2acc :                      >skip2519
                            >
                            >
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  184
2acc : ca               [ 2]         dex
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2acd : 10dc             [ 3]         bpl trol5
 
 
2512 : ca               [ 2]         dex
 
2513 : 10e0             [ 4]         bpl trol5
 
 
 
2515 : a203             [ 2]         ldx #3
2acf : a203             [ 2]         ldx #3
2517 :                       trolc4
2ad1 :                       trolc4
                                     set_abs zp1,fc
                                     set_abs zp1,fc
                            >            load_flag fc
                            >            load_flag fc
2517 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2ad1 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
2519 : 48               [ 3]>            pha         ;use stack to load status
2ad3 : 48               [ 3]>            pha         ;use stack to load status
251a : b513             [ 4]>            lda zp1,x    ;load to memory
2ad4 : b5b9             [ 4]>            lda zp1,x    ;load to memory
251c : 8d0302           [ 4]>            sta abst
2ad6 : 8d0302           [ 4]>            sta abst
251f : 28               [ 4]>            plp
2ad9 : 28               [ 4]>            plp
 
 
2520 : 2e0302           [ 6]         rol abst
2ada : 2e0302           [ 6]         rol abst
                                     tst_abs rROLc,fROLc,0
                                     tst_abs rROLc,fROLc,0
2523 : 08               [ 3]>            php         ;save flags
2add : 08               [ 3]>            php         ;save flags
2524 : ad0302           [ 4]>            lda abst
2ade : ad0302           [ 4]>            lda abst
2527 : dd1502           [ 4]>            cmp rROLc,x    ;test result
2ae1 : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
252a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ae4 : f002             [ 3]>        beq skip2524
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ae6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ae7 : 1f                   >        db      test_num
 
                            >
 
2ae8 :                      >skip2524
                            >
                            >
252c : 68               [ 4]>            pla         ;load status
2ae8 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
252d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2ae9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
252f : dd2502           [ 4]>            cmp fROLc,x    ;test flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  288
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2aeb : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2532 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2aee : f002             [ 3]>        beq skip2527
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2af0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2af1 : 1f                   >        db      test_num
 
                            >
 
2af2 :                      >skip2527
                            >
                            >
 
 
2534 : ca               [ 2]         dex
2af2 : ca               [ 2]         dex
2535 : 10e0             [ 3]         bpl trolc4
2af3 : 10dc             [ 3]         bpl trolc4
2537 : a203             [ 2]         ldx #3
2af5 : a203             [ 2]         ldx #3
2539 :                       trolc5
2af7 :                       trolc5
                                     set_abs zp1,$ff
                                     set_abs zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2539 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2af7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
253b : 48               [ 3]>            pha         ;use stack to load status
2af9 : 48               [ 3]>            pha         ;use stack to load status
253c : b513             [ 4]>            lda zp1,x    ;load to memory
2afa : b5b9             [ 4]>            lda zp1,x    ;load to memory
253e : 8d0302           [ 4]>            sta abst
2afc : 8d0302           [ 4]>            sta abst
2541 : 28               [ 4]>            plp
2aff : 28               [ 4]>            plp
 
 
2542 : 2e0302           [ 6]         rol abst
2b00 : 2e0302           [ 6]         rol abst
                                     tst_abs rROLc,fROLc,$ff-fnzc
                                     tst_abs rROLc,fROLc,$ff-fnzc
2545 : 08               [ 3]>            php         ;save flags
2b03 : 08               [ 3]>            php         ;save flags
2546 : ad0302           [ 4]>            lda abst
2b04 : ad0302           [ 4]>            lda abst
2549 : dd1502           [ 4]>            cmp rROLc,x    ;test result
2b07 : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
254c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b0a : f002             [ 3]>        beq skip2532
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b0c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b0d : 1f                   >        db      test_num
                            >
                            >
254e : 68               [ 4]>            pla         ;load status
2b0e :                      >skip2532
 
                            >
 
2b0e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
254f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2b0f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  185
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
2551 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2b11 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2554 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b14 : f002             [ 3]>        beq skip2535
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b16 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b17 : 1f                   >        db      test_num
                            >
                            >
 
2b18 :                      >skip2535
 
                            >
 
 
 
2b18 : ca               [ 2]         dex
 
2b19 : 10dc             [ 4]         bpl trolc5
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  289
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2556 : ca               [ 2]         dex
 
2557 : 10e0             [ 3]         bpl trolc5
 
 
 
2559 : a203             [ 2]         ldx #3
2b1b : a203             [ 2]         ldx #3
255b :                       tror4
2b1d :                       tror4
                                     set_abs zp1,0
                                     set_abs zp1,0
                            >            load_flag 0
                            >            load_flag 0
255b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2b1d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
255d : 48               [ 3]>            pha         ;use stack to load status
2b1f : 48               [ 3]>            pha         ;use stack to load status
255e : b513             [ 4]>            lda zp1,x    ;load to memory
2b20 : b5b9             [ 4]>            lda zp1,x    ;load to memory
2560 : 8d0302           [ 4]>            sta abst
2b22 : 8d0302           [ 4]>            sta abst
2563 : 28               [ 4]>            plp
2b25 : 28               [ 4]>            plp
 
 
2564 : 6e0302           [ 6]         ror abst
2b26 : 6e0302           [ 6]         ror abst
                                     tst_abs rROR,fROR,0
                                     tst_abs rROR,fROR,0
2567 : 08               [ 3]>            php         ;save flags
2b29 : 08               [ 3]>            php         ;save flags
2568 : ad0302           [ 4]>            lda abst
2b2a : ad0302           [ 4]>            lda abst
256b : dd1902           [ 4]>            cmp rROR,x    ;test result
2b2d : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
256e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b30 : f002             [ 3]>        beq skip2540
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b32 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b33 : 1f                   >        db      test_num
                            >
                            >
2570 : 68               [ 4]>            pla         ;load status
2b34 :                      >skip2540
 
                            >
 
2b34 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2571 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2b35 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2573 : dd2902           [ 4]>            cmp fROR,x    ;test flags
2b37 : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2576 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b3a : f002             [ 3]>        beq skip2543
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b3c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b3d : 1f                   >        db      test_num
 
                            >
 
2b3e :                      >skip2543
                            >
                            >
 
 
2578 : ca               [ 2]         dex
2b3e : ca               [ 2]         dex
2579 : 10e0             [ 3]         bpl tror4
2b3f : 10dc             [ 3]         bpl tror4
257b : a203             [ 2]         ldx #3
2b41 : a203             [ 2]         ldx #3
257d :                       tror5
2b43 :                       tror5
                                     set_abs zp1,$ff-fc
                                     set_abs zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
257d : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2b43 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
257f : 48               [ 3]>            pha         ;use stack to load status
2b45 : 48               [ 3]>            pha         ;use stack to load status
2580 : b513             [ 4]>            lda zp1,x    ;load to memory
2b46 : b5b9             [ 4]>            lda zp1,x    ;load to memory
2582 : 8d0302           [ 4]>            sta abst
2b48 : 8d0302           [ 4]>            sta abst
2585 : 28               [ 4]>            plp
2b4b : 28               [ 4]>            plp
 
 
2586 : 6e0302           [ 6]         ror abst
2b4c : 6e0302           [ 6]         ror abst
                                     tst_abs rROR,fROR,$ff-fnzc
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  290
2589 : 08               [ 3]>            php         ;save flags
 
258a : ad0302           [ 4]>            lda abst
 
258d : dd1902           [ 4]>            cmp rROR,x    ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  186
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                                     tst_abs rROR,fROR,$ff-fnzc
2590 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b4f : 08               [ 3]>            php         ;save flags
 
2b50 : ad0302           [ 4]>            lda abst
 
2b53 : dd1902           [ 4]>            cmp rROR,x    ;test result
 
                            >            trap_ne
 
2b56 : f002             [ 3]>        beq skip2548
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b58 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b59 : 1f                   >        db      test_num
                            >
                            >
2592 : 68               [ 4]>            pla         ;load status
2b5a :                      >skip2548
 
                            >
 
2b5a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2593 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2b5b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2595 : dd2902           [ 4]>            cmp fROR,x    ;test flags
2b5d : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2598 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b60 : f002             [ 3]>        beq skip2551
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b62 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b63 : 1f                   >        db      test_num
 
                            >
 
2b64 :                      >skip2551
                            >
                            >
 
 
259a : ca               [ 2]         dex
2b64 : ca               [ 2]         dex
259b : 10e0             [ 3]         bpl tror5
2b65 : 10dc             [ 3]         bpl tror5
 
 
259d : a203             [ 2]         ldx #3
2b67 : a203             [ 2]         ldx #3
259f :                       trorc4
2b69 :                       trorc4
                                     set_abs zp1,fc
                                     set_abs zp1,fc
                            >            load_flag fc
                            >            load_flag fc
259f : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2b69 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
25a1 : 48               [ 3]>            pha         ;use stack to load status
2b6b : 48               [ 3]>            pha         ;use stack to load status
25a2 : b513             [ 4]>            lda zp1,x    ;load to memory
2b6c : b5b9             [ 4]>            lda zp1,x    ;load to memory
25a4 : 8d0302           [ 4]>            sta abst
2b6e : 8d0302           [ 4]>            sta abst
25a7 : 28               [ 4]>            plp
2b71 : 28               [ 4]>            plp
 
 
25a8 : 6e0302           [ 6]         ror abst
2b72 : 6e0302           [ 6]         ror abst
                                     tst_abs rRORc,fRORc,0
                                     tst_abs rRORc,fRORc,0
25ab : 08               [ 3]>            php         ;save flags
2b75 : 08               [ 3]>            php         ;save flags
25ac : ad0302           [ 4]>            lda abst
2b76 : ad0302           [ 4]>            lda abst
25af : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2b79 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
25b2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b7c : f002             [ 3]>        beq skip2556
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b7e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b7f : 1f                   >        db      test_num
 
                            >
 
2b80 :                      >skip2556
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  291
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
25b4 : 68               [ 4]>            pla         ;load status
2b80 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
25b5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2b81 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
25b7 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2b83 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
25ba : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2b86 : f002             [ 3]>        beq skip2559
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2b88 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2b89 : 1f                   >        db      test_num
 
                            >
 
2b8a :                      >skip2559
                            >
                            >
 
 
25bc : ca               [ 2]         dex
2b8a : ca               [ 2]         dex
25bd : 10e0             [ 3]         bpl trorc4
2b8b : 10dc             [ 3]         bpl trorc4
25bf : a203             [ 2]         ldx #3
2b8d : a203             [ 2]         ldx #3
25c1 :                       trorc5
2b8f :                       trorc5
                                     set_abs zp1,$ff
                                     set_abs zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
25c1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2b8f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
25c3 : 48               [ 3]>            pha         ;use stack to load status
2b91 : 48               [ 3]>            pha         ;use stack to load status
25c4 : b513             [ 4]>            lda zp1,x    ;load to memory
2b92 : b5b9             [ 4]>            lda zp1,x    ;load to memory
25c6 : 8d0302           [ 4]>            sta abst
2b94 : 8d0302           [ 4]>            sta abst
25c9 : 28               [ 4]>            plp
2b97 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  187
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
2b98 : 6e0302           [ 6]         ror abst
25ca : 6e0302           [ 6]         ror abst
 
                                     tst_abs rRORc,fRORc,$ff-fnzc
                                     tst_abs rRORc,fRORc,$ff-fnzc
25cd : 08               [ 3]>            php         ;save flags
2b9b : 08               [ 3]>            php         ;save flags
25ce : ad0302           [ 4]>            lda abst
2b9c : ad0302           [ 4]>            lda abst
25d1 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2b9f : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
25d4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ba2 : f002             [ 3]>        beq skip2564
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ba4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ba5 : 1f                   >        db      test_num
 
                            >
 
2ba6 :                      >skip2564
                            >
                            >
25d6 : 68               [ 4]>            pla         ;load status
2ba6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
25d7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2ba7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
25d9 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2ba9 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
25dc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2bac : f002             [ 3]>        beq skip2567
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2bae : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2baf : 1f                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  292
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2bb0 :                      >skip2567
                            >
                            >
 
 
25de : ca               [ 2]         dex
2bb0 : ca               [ 2]         dex
25df : 10e0             [ 3]         bpl trorc5
2bb1 : 10dc             [ 3]         bpl trorc5
                                     next_test
                                     next_test
25e1 : ad0002           [ 4]>            lda test_case   ;previous test
2bb3 : ad0002           [ 4]>            lda test_case   ;previous test
25e4 : c91f             [ 2]>            cmp #test_num
2bb6 : c91f             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
25e6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2bb8 : f002             [ 3]>        beq skip2570
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2bba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2bbb : 1f                   >        db      test_num
 
                            >
 
2bbc :                      >skip2570
                            >
                            >
0020 =                      >test_num = test_num + 1
0020 =                      >test_num = test_num + 1
25e8 : a920             [ 2]>            lda #test_num   ;*** this tests' number
2bbc : a920             [ 2]>            lda #test_num   ;*** this tests' number
25ea : 8d0002           [ 4]>            sta test_case
2bbe : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; shifts - zp indexed
                             ; shifts - zp indexed
25ed : a203             [ 2]         ldx #3
 
25ef :                       tasl6
2bc1 : a203             [ 2]         ldx #3
 
2bc3 :                       tasl6
                                     set_zx zp1,0
                                     set_zx zp1,0
                            >            load_flag 0
                            >            load_flag 0
25ef : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2bc3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
25f1 : 48               [ 3]>            pha         ;use stack to load status
2bc5 : 48               [ 3]>            pha         ;use stack to load status
25f2 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2bc6 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
25f4 : 950c             [ 4]>            sta zpt,x
2bc8 : 95b2             [ 4]>            sta zpt,x
25f6 : 28               [ 4]>            plp
2bca : 28               [ 4]>            plp
 
 
25f7 : 160c             [ 6]         asl zpt,x
2bcb : 16b2             [ 6]         asl zpt,x
                                     tst_zx rASL,fASL,0
                                     tst_zx rASL,fASL,0
25f9 : 08               [ 3]>            php         ;save flags
2bcd : 08               [ 3]>            php         ;save flags
25fa : b50c             [ 4]>            lda zpt,x
2bce : b5b2             [ 4]>            lda zpt,x
25fc : dd1102           [ 4]>            cmp rASL,x    ;test result
2bd0 : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
25ff : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2bd3 : f002             [ 3]>        beq skip2575
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2bd5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2bd6 : 20                   >        db      test_num
                            >
                            >
2601 : 68               [ 4]>            pla         ;load status
2bd7 :                      >skip2575
 
                            >
 
2bd7 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2602 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2bd8 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  188
                            >
 
2bda : dd2102           [ 4]>            cmp fASL,x    ;test flags
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  293
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
 
2604 : dd2102           [ 4]>            cmp fASL,x    ;test flags
 
                            >            trap_ne
                            >            trap_ne
2607 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2bdd : f002             [ 3]>        beq skip2578
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2bdf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2be0 : 20                   >        db      test_num
 
                            >
 
2be1 :                      >skip2578
                            >
                            >
 
 
2609 : ca               [ 2]         dex
2be1 : ca               [ 2]         dex
260a : 10e3             [ 4]         bpl tasl6
2be2 : 10df             [ 3]         bpl tasl6
260c : a203             [ 2]         ldx #3
2be4 : a203             [ 2]         ldx #3
260e :                       tasl7
2be6 :                       tasl7
                                     set_zx zp1,$ff
                                     set_zx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
260e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2be6 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2610 : 48               [ 3]>            pha         ;use stack to load status
2be8 : 48               [ 3]>            pha         ;use stack to load status
2611 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2be9 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
2613 : 950c             [ 4]>            sta zpt,x
2beb : 95b2             [ 4]>            sta zpt,x
2615 : 28               [ 4]>            plp
2bed : 28               [ 4]>            plp
 
 
2616 : 160c             [ 6]         asl zpt,x
2bee : 16b2             [ 6]         asl zpt,x
                                     tst_zx rASL,fASL,$ff-fnzc
                                     tst_zx rASL,fASL,$ff-fnzc
2618 : 08               [ 3]>            php         ;save flags
2bf0 : 08               [ 3]>            php         ;save flags
2619 : b50c             [ 4]>            lda zpt,x
2bf1 : b5b2             [ 4]>            lda zpt,x
261b : dd1102           [ 4]>            cmp rASL,x    ;test result
2bf3 : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
261e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2bf6 : f002             [ 3]>        beq skip2583
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2bf8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2bf9 : 20                   >        db      test_num
                            >
                            >
2620 : 68               [ 4]>            pla         ;load status
2bfa :                      >skip2583
 
                            >
 
2bfa : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2621 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2bfb : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2623 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2bfd : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2626 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c00 : f002             [ 3]>        beq skip2586
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c02 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c03 : 20                   >        db      test_num
 
                            >
 
2c04 :                      >skip2586
                            >
                            >
 
 
2628 : ca               [ 2]         dex
2c04 : ca               [ 2]         dex
2629 : 10e3             [ 3]         bpl tasl7
2c05 : 10df             [ 4]         bpl tasl7
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  294
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
262b : a203             [ 2]         ldx #3
2c07 : a203             [ 2]         ldx #3
262d :                       tlsr6
2c09 :                       tlsr6
                                     set_zx zp1,0
                                     set_zx zp1,0
                            >            load_flag 0
                            >            load_flag 0
262d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2c09 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
262f : 48               [ 3]>            pha         ;use stack to load status
2c0b : 48               [ 3]>            pha         ;use stack to load status
2630 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2c0c : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
2632 : 950c             [ 4]>            sta zpt,x
2c0e : 95b2             [ 4]>            sta zpt,x
2634 : 28               [ 4]>            plp
2c10 : 28               [ 4]>            plp
 
 
2635 : 560c             [ 6]         lsr zpt,x
2c11 : 56b2             [ 6]         lsr zpt,x
                                     tst_zx rLSR,fLSR,0
                                     tst_zx rLSR,fLSR,0
2637 : 08               [ 3]>            php         ;save flags
2c13 : 08               [ 3]>            php         ;save flags
2638 : b50c             [ 4]>            lda zpt,x
2c14 : b5b2             [ 4]>            lda zpt,x
263a : dd1902           [ 4]>            cmp rLSR,x    ;test result
2c16 : dd1902           [ 4]>            cmp rLSR,x    ;test result
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  189
                            >            trap_ne
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2c19 : f002             [ 3]>        beq skip2591
 
                            >        trap           ;failed equal (zero)
                            >            trap_ne
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
263d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c1b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c1c : 20                   >        db      test_num
 
                            >
 
2c1d :                      >skip2591
                            >
                            >
263f : 68               [ 4]>            pla         ;load status
2c1d : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2640 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2c1e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2642 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2c20 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2645 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c23 : f002             [ 3]>        beq skip2594
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c25 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c26 : 20                   >        db      test_num
 
                            >
 
2c27 :                      >skip2594
                            >
                            >
 
 
2647 : ca               [ 2]         dex
2c27 : ca               [ 2]         dex
2648 : 10e3             [ 3]         bpl tlsr6
2c28 : 10df             [ 3]         bpl tlsr6
264a : a203             [ 2]         ldx #3
2c2a : a203             [ 2]         ldx #3
264c :                       tlsr7
2c2c :                       tlsr7
                                     set_zx zp1,$ff
                                     set_zx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
264c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2c2c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
264e : 48               [ 3]>            pha         ;use stack to load status
2c2e : 48               [ 3]>            pha         ;use stack to load status
264f : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2c2f : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
2651 : 950c             [ 4]>            sta zpt,x
2c31 : 95b2             [ 4]>            sta zpt,x
2653 : 28               [ 4]>            plp
2c33 : 28               [ 4]>            plp
 
 
2654 : 560c             [ 6]         lsr zpt,x
2c34 : 56b2             [ 6]         lsr zpt,x
                                     tst_zx rLSR,fLSR,$ff-fnzc
                                     tst_zx rLSR,fLSR,$ff-fnzc
2656 : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  295
2657 : b50c             [ 4]>            lda zpt,x
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2659 : dd1902           [ 4]>            cmp rLSR,x    ;test result
 
 
2c36 : 08               [ 3]>            php         ;save flags
 
2c37 : b5b2             [ 4]>            lda zpt,x
 
2c39 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
265c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c3c : f002             [ 3]>        beq skip2599
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c3e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c3f : 20                   >        db      test_num
 
                            >
 
2c40 :                      >skip2599
                            >
                            >
265e : 68               [ 4]>            pla         ;load status
2c40 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
265f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2c41 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2661 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2c43 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2664 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c46 : f002             [ 3]>        beq skip2602
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c48 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c49 : 20                   >        db      test_num
 
                            >
 
2c4a :                      >skip2602
                            >
                            >
 
 
2666 : ca               [ 2]         dex
2c4a : ca               [ 2]         dex
2667 : 10e3             [ 3]         bpl tlsr7
2c4b : 10df             [ 3]         bpl tlsr7
 
 
2669 : a203             [ 2]         ldx #3
2c4d : a203             [ 2]         ldx #3
266b :                       trol6
2c4f :                       trol6
                                     set_zx zp1,0
                                     set_zx zp1,0
                            >            load_flag 0
                            >            load_flag 0
266b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2c4f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
266d : 48               [ 3]>            pha         ;use stack to load status
2c51 : 48               [ 3]>            pha         ;use stack to load status
266e : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2c52 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
2670 : 950c             [ 4]>            sta zpt,x
2c54 : 95b2             [ 4]>            sta zpt,x
2672 : 28               [ 4]>            plp
2c56 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  190
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
2c57 : 36b2             [ 6]         rol zpt,x
2673 : 360c             [ 6]         rol zpt,x
 
                                     tst_zx rROL,fROL,0
                                     tst_zx rROL,fROL,0
2675 : 08               [ 3]>            php         ;save flags
2c59 : 08               [ 3]>            php         ;save flags
2676 : b50c             [ 4]>            lda zpt,x
2c5a : b5b2             [ 4]>            lda zpt,x
2678 : dd1102           [ 4]>            cmp rROL,x    ;test result
2c5c : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
267b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c5f : f002             [ 3]>        beq skip2607
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c61 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c62 : 20                   >        db      test_num
                            >
                            >
267d : 68               [ 4]>            pla         ;load status
2c63 :                      >skip2607
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  296
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2c63 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
267e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2c64 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2680 : dd2102           [ 4]>            cmp fROL,x    ;test flags
2c66 : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2683 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c69 : f002             [ 3]>        beq skip2610
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c6b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c6c : 20                   >        db      test_num
 
                            >
 
2c6d :                      >skip2610
                            >
                            >
 
 
2685 : ca               [ 2]         dex
2c6d : ca               [ 2]         dex
2686 : 10e3             [ 3]         bpl trol6
2c6e : 10df             [ 3]         bpl trol6
2688 : a203             [ 2]         ldx #3
2c70 : a203             [ 2]         ldx #3
268a :                       trol7
2c72 :                       trol7
                                     set_zx zp1,$ff-fc
                                     set_zx zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
268a : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2c72 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
268c : 48               [ 3]>            pha         ;use stack to load status
2c74 : 48               [ 3]>            pha         ;use stack to load status
268d : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2c75 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
268f : 950c             [ 4]>            sta zpt,x
2c77 : 95b2             [ 4]>            sta zpt,x
2691 : 28               [ 4]>            plp
2c79 : 28               [ 4]>            plp
 
 
2692 : 360c             [ 6]         rol zpt,x
2c7a : 36b2             [ 6]         rol zpt,x
                                     tst_zx rROL,fROL,$ff-fnzc
                                     tst_zx rROL,fROL,$ff-fnzc
2694 : 08               [ 3]>            php         ;save flags
2c7c : 08               [ 3]>            php         ;save flags
2695 : b50c             [ 4]>            lda zpt,x
2c7d : b5b2             [ 4]>            lda zpt,x
2697 : dd1102           [ 4]>            cmp rROL,x    ;test result
2c7f : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
269a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c82 : f002             [ 3]>        beq skip2615
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c84 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c85 : 20                   >        db      test_num
                            >
                            >
269c : 68               [ 4]>            pla         ;load status
2c86 :                      >skip2615
 
                            >
 
2c86 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
269d : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2c87 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
269f : dd2102           [ 4]>            cmp fROL,x    ;test flags
2c89 : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
26a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2c8c : f002             [ 3]>        beq skip2618
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2c8e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2c8f : 20                   >        db      test_num
 
                            >
 
2c90 :                      >skip2618
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  297
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
 
 
26a4 : ca               [ 2]         dex
2c90 : ca               [ 2]         dex
26a5 : 10e3             [ 3]         bpl trol7
2c91 : 10df             [ 3]         bpl trol7
 
 
26a7 : a203             [ 2]         ldx #3
2c93 : a203             [ 2]         ldx #3
26a9 :                       trolc6
2c95 :                       trolc6
                                     set_zx zp1,fc
                                     set_zx zp1,fc
                            >            load_flag fc
                            >            load_flag fc
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  191
2c95 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
26a9 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
 
                            >
                            >
26ab : 48               [ 3]>            pha         ;use stack to load status
2c97 : 48               [ 3]>            pha         ;use stack to load status
26ac : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2c98 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
26ae : 950c             [ 4]>            sta zpt,x
2c9a : 95b2             [ 4]>            sta zpt,x
26b0 : 28               [ 4]>            plp
2c9c : 28               [ 4]>            plp
 
 
26b1 : 360c             [ 6]         rol zpt,x
2c9d : 36b2             [ 6]         rol zpt,x
                                     tst_zx rROLc,fROLc,0
                                     tst_zx rROLc,fROLc,0
26b3 : 08               [ 3]>            php         ;save flags
2c9f : 08               [ 3]>            php         ;save flags
26b4 : b50c             [ 4]>            lda zpt,x
2ca0 : b5b2             [ 4]>            lda zpt,x
26b6 : dd1502           [ 4]>            cmp rROLc,x    ;test result
2ca2 : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
26b9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ca5 : f002             [ 3]>        beq skip2623
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ca7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ca8 : 20                   >        db      test_num
                            >
                            >
26bb : 68               [ 4]>            pla         ;load status
2ca9 :                      >skip2623
 
                            >
 
2ca9 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
26bc : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2caa : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
26be : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2cac : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
26c1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2caf : f002             [ 3]>        beq skip2626
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2cb1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2cb2 : 20                   >        db      test_num
 
                            >
 
2cb3 :                      >skip2626
                            >
                            >
 
 
26c3 : ca               [ 2]         dex
2cb3 : ca               [ 2]         dex
26c4 : 10e3             [ 3]         bpl trolc6
2cb4 : 10df             [ 3]         bpl trolc6
26c6 : a203             [ 2]         ldx #3
2cb6 : a203             [ 2]         ldx #3
26c8 :                       trolc7
2cb8 :                       trolc7
                                     set_zx zp1,$ff
                                     set_zx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
26c8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2cb8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
26ca : 48               [ 3]>            pha         ;use stack to load status
2cba : 48               [ 3]>            pha         ;use stack to load status
26cb : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2cbb : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
26cd : 950c             [ 4]>            sta zpt,x
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  298
26cf : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2cbd : 95b2             [ 4]>            sta zpt,x
 
2cbf : 28               [ 4]>            plp
 
 
26d0 : 360c             [ 6]         rol zpt,x
2cc0 : 36b2             [ 6]         rol zpt,x
                                     tst_zx rROLc,fROLc,$ff-fnzc
                                     tst_zx rROLc,fROLc,$ff-fnzc
26d2 : 08               [ 3]>            php         ;save flags
2cc2 : 08               [ 3]>            php         ;save flags
26d3 : b50c             [ 4]>            lda zpt,x
2cc3 : b5b2             [ 4]>            lda zpt,x
26d5 : dd1502           [ 4]>            cmp rROLc,x    ;test result
2cc5 : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
26d8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2cc8 : f002             [ 3]>        beq skip2631
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2cca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ccb : 20                   >        db      test_num
 
                            >
 
2ccc :                      >skip2631
                            >
                            >
26da : 68               [ 4]>            pla         ;load status
2ccc : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
26db : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2ccd : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
26dd : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2ccf : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
26e0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2cd2 : f002             [ 3]>        beq skip2634
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2cd4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2cd5 : 20                   >        db      test_num
 
                            >
 
2cd6 :                      >skip2634
                            >
                            >
 
 
26e2 : ca               [ 2]         dex
2cd6 : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  192
2cd7 : 10df             [ 3]         bpl trolc7
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
26e3 : 10e3             [ 3]         bpl trolc7
 
 
 
26e5 : a203             [ 2]         ldx #3
2cd9 : a203             [ 2]         ldx #3
26e7 :                       tror6
2cdb :                       tror6
                                     set_zx zp1,0
                                     set_zx zp1,0
                            >            load_flag 0
                            >            load_flag 0
26e7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2cdb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
26e9 : 48               [ 3]>            pha         ;use stack to load status
2cdd : 48               [ 3]>            pha         ;use stack to load status
26ea : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2cde : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
26ec : 950c             [ 4]>            sta zpt,x
2ce0 : 95b2             [ 4]>            sta zpt,x
26ee : 28               [ 4]>            plp
2ce2 : 28               [ 4]>            plp
 
 
26ef : 760c             [ 6]         ror zpt,x
2ce3 : 76b2             [ 6]         ror zpt,x
                                     tst_zx rROR,fROR,0
                                     tst_zx rROR,fROR,0
26f1 : 08               [ 3]>            php         ;save flags
2ce5 : 08               [ 3]>            php         ;save flags
26f2 : b50c             [ 4]>            lda zpt,x
2ce6 : b5b2             [ 4]>            lda zpt,x
26f4 : dd1902           [ 4]>            cmp rROR,x    ;test result
2ce8 : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
26f7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ceb : f002             [ 3]>        beq skip2639
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  299
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2ced : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2cee : 20                   >        db      test_num
                            >
                            >
26f9 : 68               [ 4]>            pla         ;load status
2cef :                      >skip2639
 
                            >
 
2cef : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
26fa : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2cf0 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
26fc : dd2902           [ 4]>            cmp fROR,x    ;test flags
2cf2 : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
26ff : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2cf5 : f002             [ 3]>        beq skip2642
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2cf7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2cf8 : 20                   >        db      test_num
 
                            >
 
2cf9 :                      >skip2642
                            >
                            >
 
 
2701 : ca               [ 2]         dex
2cf9 : ca               [ 2]         dex
2702 : 10e3             [ 4]         bpl tror6
2cfa : 10df             [ 3]         bpl tror6
2704 : a203             [ 2]         ldx #3
2cfc : a203             [ 2]         ldx #3
2706 :                       tror7
2cfe :                       tror7
                                     set_zx zp1,$ff-fc
                                     set_zx zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
2706 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2cfe : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
2708 : 48               [ 3]>            pha         ;use stack to load status
2d00 : 48               [ 3]>            pha         ;use stack to load status
2709 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2d01 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
270b : 950c             [ 4]>            sta zpt,x
2d03 : 95b2             [ 4]>            sta zpt,x
270d : 28               [ 4]>            plp
2d05 : 28               [ 4]>            plp
 
 
270e : 760c             [ 6]         ror zpt,x
2d06 : 76b2             [ 6]         ror zpt,x
                                     tst_zx rROR,fROR,$ff-fnzc
                                     tst_zx rROR,fROR,$ff-fnzc
2710 : 08               [ 3]>            php         ;save flags
2d08 : 08               [ 3]>            php         ;save flags
2711 : b50c             [ 4]>            lda zpt,x
2d09 : b5b2             [ 4]>            lda zpt,x
2713 : dd1902           [ 4]>            cmp rROR,x    ;test result
2d0b : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
2716 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d0e : f002             [ 3]>        beq skip2647
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d10 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d11 : 20                   >        db      test_num
                            >
                            >
2718 : 68               [ 4]>            pla         ;load status
2d12 :                      >skip2647
 
                            >
 
2d12 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2719 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2d13 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  193
2d15 : dd2902           [ 4]>            cmp fROR,x    ;test flags
 
                            >            trap_ne
 
2d18 : f002             [ 3]>        beq skip2650
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  300
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
271b : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                            >            trap_ne
2d1a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
271e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d1b : 20                   >        db      test_num
 
                            >
 
2d1c :                      >skip2650
                            >
                            >
 
 
2720 : ca               [ 2]         dex
2d1c : ca               [ 2]         dex
2721 : 10e3             [ 3]         bpl tror7
2d1d : 10df             [ 4]         bpl tror7
 
 
2723 : a203             [ 2]         ldx #3
2d1f : a203             [ 2]         ldx #3
2725 :                       trorc6
2d21 :                       trorc6
                                     set_zx zp1,fc
                                     set_zx zp1,fc
                            >            load_flag fc
                            >            load_flag fc
2725 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2d21 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
2727 : 48               [ 3]>            pha         ;use stack to load status
2d23 : 48               [ 3]>            pha         ;use stack to load status
2728 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2d24 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
272a : 950c             [ 4]>            sta zpt,x
2d26 : 95b2             [ 4]>            sta zpt,x
272c : 28               [ 4]>            plp
2d28 : 28               [ 4]>            plp
 
 
272d : 760c             [ 6]         ror zpt,x
2d29 : 76b2             [ 6]         ror zpt,x
                                     tst_zx rRORc,fRORc,0
                                     tst_zx rRORc,fRORc,0
272f : 08               [ 3]>            php         ;save flags
2d2b : 08               [ 3]>            php         ;save flags
2730 : b50c             [ 4]>            lda zpt,x
2d2c : b5b2             [ 4]>            lda zpt,x
2732 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2d2e : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2735 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d31 : f002             [ 3]>        beq skip2655
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d33 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d34 : 20                   >        db      test_num
                            >
                            >
2737 : 68               [ 4]>            pla         ;load status
2d35 :                      >skip2655
 
                            >
 
2d35 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2738 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2d36 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
273a : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2d38 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
273d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d3b : f002             [ 3]>        beq skip2658
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d3d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d3e : 20                   >        db      test_num
 
                            >
 
2d3f :                      >skip2658
                            >
                            >
 
 
273f : ca               [ 2]         dex
2d3f : ca               [ 2]         dex
2740 : 10e3             [ 3]         bpl trorc6
2d40 : 10df             [ 3]         bpl trorc6
2742 : a203             [ 2]         ldx #3
2d42 : a203             [ 2]         ldx #3
2744 :                       trorc7
2d44 :                       trorc7
                                     set_zx zp1,$ff
                                     set_zx zp1,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  301
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
2744 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2d44 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2746 : 48               [ 3]>            pha         ;use stack to load status
2d46 : 48               [ 3]>            pha         ;use stack to load status
2747 : b513             [ 4]>            lda zp1,x    ;load to indexed zeropage
2d47 : b5b9             [ 4]>            lda zp1,x    ;load to indexed zeropage
2749 : 950c             [ 4]>            sta zpt,x
2d49 : 95b2             [ 4]>            sta zpt,x
274b : 28               [ 4]>            plp
2d4b : 28               [ 4]>            plp
 
 
274c : 760c             [ 6]         ror zpt,x
2d4c : 76b2             [ 6]         ror zpt,x
                                     tst_zx rRORc,fRORc,$ff-fnzc
                                     tst_zx rRORc,fRORc,$ff-fnzc
274e : 08               [ 3]>            php         ;save flags
2d4e : 08               [ 3]>            php         ;save flags
274f : b50c             [ 4]>            lda zpt,x
2d4f : b5b2             [ 4]>            lda zpt,x
2751 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2d51 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  194
2d54 : f002             [ 3]>        beq skip2663
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2754 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d56 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d57 : 20                   >        db      test_num
                            >
                            >
2756 : 68               [ 4]>            pla         ;load status
2d58 :                      >skip2663
 
                            >
 
2d58 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2757 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2d59 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2759 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2d5b : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
275c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d5e : f002             [ 3]>        beq skip2666
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d60 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d61 : 20                   >        db      test_num
 
                            >
 
2d62 :                      >skip2666
                            >
                            >
 
 
275e : ca               [ 2]         dex
2d62 : ca               [ 2]         dex
275f : 10e3             [ 3]         bpl trorc7
2d63 : 10df             [ 3]         bpl trorc7
                                     next_test
                                     next_test
2761 : ad0002           [ 4]>            lda test_case   ;previous test
2d65 : ad0002           [ 4]>            lda test_case   ;previous test
2764 : c920             [ 2]>            cmp #test_num
2d68 : c920             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2766 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d6a : f002             [ 3]>        beq skip2669
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d6c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d6d : 20                   >        db      test_num
 
                            >
 
2d6e :                      >skip2669
                            >
                            >
0021 =                      >test_num = test_num + 1
0021 =                      >test_num = test_num + 1
2768 : a921             [ 2]>            lda #test_num   ;*** this tests' number
2d6e : a921             [ 2]>            lda #test_num   ;*** this tests' number
276a : 8d0002           [ 4]>            sta test_case
2d70 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  302
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
 
                             ; shifts - abs indexed
                             ; shifts - abs indexed
276d : a203             [ 2]         ldx #3
 
276f :                       tasl8
2d73 : a203             [ 2]         ldx #3
 
2d75 :                       tasl8
                                     set_absx zp1,0
                                     set_absx zp1,0
                            >            load_flag 0
                            >            load_flag 0
276f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2d75 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2771 : 48               [ 3]>            pha         ;use stack to load status
2d77 : 48               [ 3]>            pha         ;use stack to load status
2772 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2d78 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
2774 : 9d0302           [ 5]>            sta abst,x
2d7a : 9d0302           [ 5]>            sta abst,x
2777 : 28               [ 4]>            plp
2d7d : 28               [ 4]>            plp
 
 
2778 : 1e0302           [ 6]         asl abst,x
2d7e : 1e0302           [ 7]         asl abst,x
                                     tst_absx rASL,fASL,0
                                     tst_absx rASL,fASL,0
277b : 08               [ 3]>            php         ;save flags
2d81 : 08               [ 3]>            php         ;save flags
277c : bd0302           [ 4]>            lda abst,x
2d82 : bd0302           [ 4]>            lda abst,x
277f : dd1102           [ 4]>            cmp rASL,x    ;test result
2d85 : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
2782 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d88 : f002             [ 3]>        beq skip2674
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d8a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d8b : 21                   >        db      test_num
                            >
                            >
2784 : 68               [ 4]>            pla         ;load status
2d8c :                      >skip2674
 
                            >
 
2d8c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2785 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2d8d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2787 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2d8f : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
278a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2d92 : f002             [ 3]>        beq skip2677
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2d94 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2d95 : 21                   >        db      test_num
 
                            >
 
2d96 :                      >skip2677
                            >
                            >
 
 
278c : ca               [ 2]         dex
2d96 : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  195
2d97 : 10dc             [ 3]         bpl tasl8
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2d99 : a203             [ 2]         ldx #3
 
2d9b :                       tasl9
278d : 10e0             [ 3]         bpl tasl8
 
278f : a203             [ 2]         ldx #3
 
2791 :                       tasl9
 
                                     set_absx zp1,$ff
                                     set_absx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2791 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2d9b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2793 : 48               [ 3]>            pha         ;use stack to load status
2d9d : 48               [ 3]>            pha         ;use stack to load status
2794 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2d9e : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
2796 : 9d0302           [ 5]>            sta abst,x
2da0 : 9d0302           [ 5]>            sta abst,x
2799 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  303
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
279a : 1e0302           [ 6]         asl abst,x
2da3 : 28               [ 4]>            plp
 
 
 
2da4 : 1e0302           [ 7]         asl abst,x
                                     tst_absx rASL,fASL,$ff-fnzc
                                     tst_absx rASL,fASL,$ff-fnzc
279d : 08               [ 3]>            php         ;save flags
2da7 : 08               [ 3]>            php         ;save flags
279e : bd0302           [ 4]>            lda abst,x
2da8 : bd0302           [ 4]>            lda abst,x
27a1 : dd1102           [ 4]>            cmp rASL,x    ;test result
2dab : dd1102           [ 4]>            cmp rASL,x    ;test result
                            >            trap_ne
                            >            trap_ne
27a4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2dae : f002             [ 3]>        beq skip2682
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2db0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2db1 : 21                   >        db      test_num
                            >
                            >
27a6 : 68               [ 4]>            pla         ;load status
2db2 :                      >skip2682
 
                            >
 
2db2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
27a7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2db3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
27a9 : dd2102           [ 4]>            cmp fASL,x    ;test flags
2db5 : dd2102           [ 4]>            cmp fASL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
27ac : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2db8 : f002             [ 3]>        beq skip2685
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2dba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2dbb : 21                   >        db      test_num
 
                            >
 
2dbc :                      >skip2685
                            >
                            >
 
 
27ae : ca               [ 2]         dex
2dbc : ca               [ 2]         dex
27af : 10e0             [ 3]         bpl tasl9
2dbd : 10dc             [ 3]         bpl tasl9
 
 
27b1 : a203             [ 2]         ldx #3
2dbf : a203             [ 2]         ldx #3
27b3 :                       tlsr8
2dc1 :                       tlsr8
                                     set_absx zp1,0
                                     set_absx zp1,0
                            >            load_flag 0
                            >            load_flag 0
27b3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2dc1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
27b5 : 48               [ 3]>            pha         ;use stack to load status
2dc3 : 48               [ 3]>            pha         ;use stack to load status
27b6 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2dc4 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
27b8 : 9d0302           [ 5]>            sta abst,x
2dc6 : 9d0302           [ 5]>            sta abst,x
27bb : 28               [ 4]>            plp
2dc9 : 28               [ 4]>            plp
 
 
27bc : 5e0302           [ 6]         lsr abst,x
2dca : 5e0302           [ 7]         lsr abst,x
                                     tst_absx rLSR,fLSR,0
                                     tst_absx rLSR,fLSR,0
27bf : 08               [ 3]>            php         ;save flags
2dcd : 08               [ 3]>            php         ;save flags
27c0 : bd0302           [ 4]>            lda abst,x
2dce : bd0302           [ 4]>            lda abst,x
27c3 : dd1902           [ 4]>            cmp rLSR,x    ;test result
2dd1 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
27c6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2dd4 : f002             [ 3]>        beq skip2690
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2dd6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  304
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2dd7 : 21                   >        db      test_num
                            >
                            >
27c8 : 68               [ 4]>            pla         ;load status
2dd8 :                      >skip2690
 
                            >
 
2dd8 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
27c9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2dd9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  196
2ddb : dd2902           [ 4]>            cmp fLSR,x    ;test flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
27cb : dd2902           [ 4]>            cmp fLSR,x    ;test flags
 
                            >            trap_ne
                            >            trap_ne
27ce : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2dde : f002             [ 3]>        beq skip2693
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2de0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2de1 : 21                   >        db      test_num
 
                            >
 
2de2 :                      >skip2693
                            >
                            >
 
 
27d0 : ca               [ 2]         dex
2de2 : ca               [ 2]         dex
27d1 : 10e0             [ 3]         bpl tlsr8
2de3 : 10dc             [ 3]         bpl tlsr8
27d3 : a203             [ 2]         ldx #3
2de5 : a203             [ 2]         ldx #3
27d5 :                       tlsr9
2de7 :                       tlsr9
                                     set_absx zp1,$ff
                                     set_absx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
27d5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2de7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
27d7 : 48               [ 3]>            pha         ;use stack to load status
2de9 : 48               [ 3]>            pha         ;use stack to load status
27d8 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2dea : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
27da : 9d0302           [ 5]>            sta abst,x
2dec : 9d0302           [ 5]>            sta abst,x
27dd : 28               [ 4]>            plp
2def : 28               [ 4]>            plp
 
 
27de : 5e0302           [ 6]         lsr abst,x
2df0 : 5e0302           [ 7]         lsr abst,x
                                     tst_absx rLSR,fLSR,$ff-fnzc
                                     tst_absx rLSR,fLSR,$ff-fnzc
27e1 : 08               [ 3]>            php         ;save flags
2df3 : 08               [ 3]>            php         ;save flags
27e2 : bd0302           [ 4]>            lda abst,x
2df4 : bd0302           [ 4]>            lda abst,x
27e5 : dd1902           [ 4]>            cmp rLSR,x    ;test result
2df7 : dd1902           [ 4]>            cmp rLSR,x    ;test result
                            >            trap_ne
                            >            trap_ne
27e8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2dfa : f002             [ 3]>        beq skip2698
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2dfc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2dfd : 21                   >        db      test_num
                            >
                            >
27ea : 68               [ 4]>            pla         ;load status
2dfe :                      >skip2698
 
                            >
 
2dfe : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
27eb : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2dff : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
27ed : dd2902           [ 4]>            cmp fLSR,x    ;test flags
2e01 : dd2902           [ 4]>            cmp fLSR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
27f0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e04 : f002             [ 3]>        beq skip2701
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  305
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2e06 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e07 : 21                   >        db      test_num
 
                            >
 
2e08 :                      >skip2701
                            >
                            >
 
 
27f2 : ca               [ 2]         dex
2e08 : ca               [ 2]         dex
27f3 : 10e0             [ 3]         bpl tlsr9
2e09 : 10dc             [ 4]         bpl tlsr9
 
 
27f5 : a203             [ 2]         ldx #3
2e0b : a203             [ 2]         ldx #3
27f7 :                       trol8
2e0d :                       trol8
                                     set_absx zp1,0
                                     set_absx zp1,0
                            >            load_flag 0
                            >            load_flag 0
27f7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2e0d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
27f9 : 48               [ 3]>            pha         ;use stack to load status
2e0f : 48               [ 3]>            pha         ;use stack to load status
27fa : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2e10 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
27fc : 9d0302           [ 5]>            sta abst,x
2e12 : 9d0302           [ 5]>            sta abst,x
27ff : 28               [ 4]>            plp
2e15 : 28               [ 4]>            plp
 
 
2800 : 3e0302           [ 6]         rol abst,x
2e16 : 3e0302           [ 7]         rol abst,x
                                     tst_absx rROL,fROL,0
                                     tst_absx rROL,fROL,0
2803 : 08               [ 3]>            php         ;save flags
2e19 : 08               [ 3]>            php         ;save flags
2804 : bd0302           [ 4]>            lda abst,x
2e1a : bd0302           [ 4]>            lda abst,x
2807 : dd1102           [ 4]>            cmp rROL,x    ;test result
2e1d : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  197
2e20 : f002             [ 3]>        beq skip2706
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
280a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e22 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e23 : 21                   >        db      test_num
                            >
                            >
280c : 68               [ 4]>            pla         ;load status
2e24 :                      >skip2706
 
                            >
 
2e24 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
280d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2e25 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
280f : dd2102           [ 4]>            cmp fROL,x    ;test flags
2e27 : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2812 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e2a : f002             [ 3]>        beq skip2709
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e2c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e2d : 21                   >        db      test_num
 
                            >
 
2e2e :                      >skip2709
                            >
                            >
 
 
2814 : ca               [ 2]         dex
2e2e : ca               [ 2]         dex
2815 : 10e0             [ 4]         bpl trol8
2e2f : 10dc             [ 3]         bpl trol8
2817 : a203             [ 2]         ldx #3
2e31 : a203             [ 2]         ldx #3
2819 :                       trol9
2e33 :                       trol9
                                     set_absx zp1,$ff-fc
                                     set_absx zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
2819 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  306
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2e33 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
281b : 48               [ 3]>            pha         ;use stack to load status
2e35 : 48               [ 3]>            pha         ;use stack to load status
281c : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2e36 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
281e : 9d0302           [ 5]>            sta abst,x
2e38 : 9d0302           [ 5]>            sta abst,x
2821 : 28               [ 4]>            plp
2e3b : 28               [ 4]>            plp
 
 
2822 : 3e0302           [ 6]         rol abst,x
2e3c : 3e0302           [ 7]         rol abst,x
                                     tst_absx rROL,fROL,$ff-fnzc
                                     tst_absx rROL,fROL,$ff-fnzc
2825 : 08               [ 3]>            php         ;save flags
2e3f : 08               [ 3]>            php         ;save flags
2826 : bd0302           [ 4]>            lda abst,x
2e40 : bd0302           [ 4]>            lda abst,x
2829 : dd1102           [ 4]>            cmp rROL,x    ;test result
2e43 : dd1102           [ 4]>            cmp rROL,x    ;test result
                            >            trap_ne
                            >            trap_ne
282c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e46 : f002             [ 3]>        beq skip2714
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e48 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e49 : 21                   >        db      test_num
 
                            >
 
2e4a :                      >skip2714
                            >
                            >
282e : 68               [ 4]>            pla         ;load status
2e4a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
282f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2e4b : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2831 : dd2102           [ 4]>            cmp fROL,x    ;test flags
2e4d : dd2102           [ 4]>            cmp fROL,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2834 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e50 : f002             [ 3]>        beq skip2717
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e52 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e53 : 21                   >        db      test_num
 
                            >
 
2e54 :                      >skip2717
                            >
                            >
 
 
2836 : ca               [ 2]         dex
2e54 : ca               [ 2]         dex
2837 : 10e0             [ 3]         bpl trol9
2e55 : 10dc             [ 3]         bpl trol9
 
 
2839 : a203             [ 2]         ldx #3
2e57 : a203             [ 2]         ldx #3
283b :                       trolc8
2e59 :                       trolc8
                                     set_absx zp1,fc
                                     set_absx zp1,fc
                            >            load_flag fc
                            >            load_flag fc
283b : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2e59 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
283d : 48               [ 3]>            pha         ;use stack to load status
2e5b : 48               [ 3]>            pha         ;use stack to load status
283e : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2e5c : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
2840 : 9d0302           [ 5]>            sta abst,x
2e5e : 9d0302           [ 5]>            sta abst,x
2843 : 28               [ 4]>            plp
2e61 : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  198
2e62 : 3e0302           [ 7]         rol abst,x
 
                                     tst_absx rROLc,fROLc,0
 
2e65 : 08               [ 3]>            php         ;save flags
 
2e66 : bd0302           [ 4]>            lda abst,x
 
2e69 : dd1502           [ 4]>            cmp rROLc,x    ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  307
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2844 : 3e0302           [ 6]         rol abst,x
 
                                     tst_absx rROLc,fROLc,0
 
2847 : 08               [ 3]>            php         ;save flags
 
2848 : bd0302           [ 4]>            lda abst,x
 
284b : dd1502           [ 4]>            cmp rROLc,x    ;test result
 
                            >            trap_ne
                            >            trap_ne
284e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e6c : f002             [ 3]>        beq skip2722
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e6e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e6f : 21                   >        db      test_num
                            >
                            >
2850 : 68               [ 4]>            pla         ;load status
2e70 :                      >skip2722
 
                            >
 
2e70 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2851 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2e71 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2853 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
2e73 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2856 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e76 : f002             [ 3]>        beq skip2725
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e78 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e79 : 21                   >        db      test_num
 
                            >
 
2e7a :                      >skip2725
                            >
                            >
 
 
2858 : ca               [ 2]         dex
2e7a : ca               [ 2]         dex
2859 : 10e0             [ 3]         bpl trolc8
2e7b : 10dc             [ 3]         bpl trolc8
285b : a203             [ 2]         ldx #3
2e7d : a203             [ 2]         ldx #3
285d :                       trolc9
2e7f :                       trolc9
                                     set_absx zp1,$ff
                                     set_absx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
285d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2e7f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
285f : 48               [ 3]>            pha         ;use stack to load status
2e81 : 48               [ 3]>            pha         ;use stack to load status
2860 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2e82 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
2862 : 9d0302           [ 5]>            sta abst,x
2e84 : 9d0302           [ 5]>            sta abst,x
2865 : 28               [ 4]>            plp
2e87 : 28               [ 4]>            plp
 
 
2866 : 3e0302           [ 6]         rol abst,x
2e88 : 3e0302           [ 7]         rol abst,x
                                     tst_absx rROLc,fROLc,$ff-fnzc
                                     tst_absx rROLc,fROLc,$ff-fnzc
2869 : 08               [ 3]>            php         ;save flags
2e8b : 08               [ 3]>            php         ;save flags
286a : bd0302           [ 4]>            lda abst,x
2e8c : bd0302           [ 4]>            lda abst,x
286d : dd1502           [ 4]>            cmp rROLc,x    ;test result
2e8f : dd1502           [ 4]>            cmp rROLc,x    ;test result
                            >            trap_ne
                            >            trap_ne
2870 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e92 : f002             [ 3]>        beq skip2730
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e94 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e95 : 21                   >        db      test_num
                            >
                            >
2872 : 68               [ 4]>            pla         ;load status
2e96 :                      >skip2730
 
                            >
 
2e96 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
2873 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2e97 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
2875 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  308
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2e99 : dd2502           [ 4]>            cmp fROLc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2878 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2e9c : f002             [ 3]>        beq skip2733
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2e9e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2e9f : 21                   >        db      test_num
 
                            >
 
2ea0 :                      >skip2733
                            >
                            >
 
 
287a : ca               [ 2]         dex
2ea0 : ca               [ 2]         dex
287b : 10e0             [ 3]         bpl trolc9
2ea1 : 10dc             [ 3]         bpl trolc9
 
 
287d : a203             [ 2]         ldx #3
2ea3 : a203             [ 2]         ldx #3
287f :                       tror8
2ea5 :                       tror8
                                     set_absx zp1,0
                                     set_absx zp1,0
                            >            load_flag 0
                            >            load_flag 0
287f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2ea5 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  199
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
2881 : 48               [ 3]>            pha         ;use stack to load status
2ea7 : 48               [ 3]>            pha         ;use stack to load status
2882 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2ea8 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
2884 : 9d0302           [ 5]>            sta abst,x
2eaa : 9d0302           [ 5]>            sta abst,x
2887 : 28               [ 4]>            plp
2ead : 28               [ 4]>            plp
 
 
2888 : 7e0302           [ 6]         ror abst,x
2eae : 7e0302           [ 7]         ror abst,x
                                     tst_absx rROR,fROR,0
                                     tst_absx rROR,fROR,0
288b : 08               [ 3]>            php         ;save flags
2eb1 : 08               [ 3]>            php         ;save flags
288c : bd0302           [ 4]>            lda abst,x
2eb2 : bd0302           [ 4]>            lda abst,x
288f : dd1902           [ 4]>            cmp rROR,x    ;test result
2eb5 : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
2892 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2eb8 : f002             [ 3]>        beq skip2738
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2eba : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ebb : 21                   >        db      test_num
 
                            >
 
2ebc :                      >skip2738
                            >
                            >
2894 : 68               [ 4]>            pla         ;load status
2ebc : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2895 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2ebd : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2897 : dd2902           [ 4]>            cmp fROR,x    ;test flags
2ebf : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
289a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ec2 : f002             [ 3]>        beq skip2741
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ec4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ec5 : 21                   >        db      test_num
                            >
                            >
 
2ec6 :                      >skip2741
 
                            >
 
 
 
2ec6 : ca               [ 2]         dex
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  309
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
289c : ca               [ 2]         dex
2ec7 : 10dc             [ 3]         bpl tror8
289d : 10e0             [ 3]         bpl tror8
2ec9 : a203             [ 2]         ldx #3
289f : a203             [ 2]         ldx #3
2ecb :                       tror9
28a1 :                       tror9
 
                                     set_absx zp1,$ff-fc
                                     set_absx zp1,$ff-fc
                            >            load_flag $ff-fc
                            >            load_flag $ff-fc
28a1 : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
2ecb : a9fe             [ 2]>            lda #$ff-fc             ;allow test to change I-flag (no mask)
                            >
                            >
28a3 : 48               [ 3]>            pha         ;use stack to load status
2ecd : 48               [ 3]>            pha         ;use stack to load status
28a4 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2ece : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
28a6 : 9d0302           [ 5]>            sta abst,x
2ed0 : 9d0302           [ 5]>            sta abst,x
28a9 : 28               [ 4]>            plp
2ed3 : 28               [ 4]>            plp
 
 
28aa : 7e0302           [ 6]         ror abst,x
2ed4 : 7e0302           [ 7]         ror abst,x
                                     tst_absx rROR,fROR,$ff-fnzc
                                     tst_absx rROR,fROR,$ff-fnzc
28ad : 08               [ 3]>            php         ;save flags
2ed7 : 08               [ 3]>            php         ;save flags
28ae : bd0302           [ 4]>            lda abst,x
2ed8 : bd0302           [ 4]>            lda abst,x
28b1 : dd1902           [ 4]>            cmp rROR,x    ;test result
2edb : dd1902           [ 4]>            cmp rROR,x    ;test result
                            >            trap_ne
                            >            trap_ne
28b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ede : f002             [ 3]>        beq skip2746
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ee0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2ee1 : 21                   >        db      test_num
                            >
                            >
28b6 : 68               [ 4]>            pla         ;load status
2ee2 :                      >skip2746
 
                            >
 
2ee2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnzc
                            >            eor_flag $ff-fnzc
28b7 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2ee3 : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
                            >
                            >
28b9 : dd2902           [ 4]>            cmp fROR,x    ;test flags
2ee5 : dd2902           [ 4]>            cmp fROR,x    ;test flags
                            >            trap_ne
                            >            trap_ne
28bc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2ee8 : f002             [ 3]>        beq skip2749
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2eea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2eeb : 21                   >        db      test_num
 
                            >
 
2eec :                      >skip2749
                            >
                            >
 
 
28be : ca               [ 2]         dex
2eec : ca               [ 2]         dex
28bf : 10e0             [ 3]         bpl tror9
2eed : 10dc             [ 3]         bpl tror9
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  200
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
 
28c1 : a203             [ 2]         ldx #3
2eef : a203             [ 2]         ldx #3
28c3 :                       trorc8
2ef1 :                       trorc8
                                     set_absx zp1,fc
                                     set_absx zp1,fc
                            >            load_flag fc
                            >            load_flag fc
28c3 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
2ef1 : a901             [ 2]>            lda #fc             ;allow test to change I-flag (no mask)
                            >
                            >
28c5 : 48               [ 3]>            pha         ;use stack to load status
2ef3 : 48               [ 3]>            pha         ;use stack to load status
28c6 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2ef4 : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
28c8 : 9d0302           [ 5]>            sta abst,x
2ef6 : 9d0302           [ 5]>            sta abst,x
28cb : 28               [ 4]>            plp
2ef9 : 28               [ 4]>            plp
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  310
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
28cc : 7e0302           [ 6]         ror abst,x
2efa : 7e0302           [ 7]         ror abst,x
                                     tst_absx rRORc,fRORc,0
                                     tst_absx rRORc,fRORc,0
28cf : 08               [ 3]>            php         ;save flags
2efd : 08               [ 3]>            php         ;save flags
28d0 : bd0302           [ 4]>            lda abst,x
2efe : bd0302           [ 4]>            lda abst,x
28d3 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2f01 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
28d6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f04 : f002             [ 3]>        beq skip2754
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f06 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f07 : 21                   >        db      test_num
                            >
                            >
28d8 : 68               [ 4]>            pla         ;load status
2f08 :                      >skip2754
 
                            >
 
2f08 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
28d9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2f09 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
28db : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2f0b : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
28de : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f0e : f002             [ 3]>        beq skip2757
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f10 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f11 : 21                   >        db      test_num
 
                            >
 
2f12 :                      >skip2757
                            >
                            >
 
 
28e0 : ca               [ 2]         dex
2f12 : ca               [ 2]         dex
28e1 : 10e0             [ 3]         bpl trorc8
2f13 : 10dc             [ 4]         bpl trorc8
28e3 : a203             [ 2]         ldx #3
2f15 : a203             [ 2]         ldx #3
28e5 :                       trorc9
2f17 :                       trorc9
                                     set_absx zp1,$ff
                                     set_absx zp1,$ff
                            >            load_flag $ff
                            >            load_flag $ff
28e5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2f17 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
28e7 : 48               [ 3]>            pha         ;use stack to load status
2f19 : 48               [ 3]>            pha         ;use stack to load status
28e8 : b513             [ 4]>            lda zp1,x    ;load to indexed memory
2f1a : b5b9             [ 4]>            lda zp1,x    ;load to indexed memory
28ea : 9d0302           [ 5]>            sta abst,x
2f1c : 9d0302           [ 5]>            sta abst,x
28ed : 28               [ 4]>            plp
2f1f : 28               [ 4]>            plp
 
 
28ee : 7e0302           [ 6]         ror abst,x
2f20 : 7e0302           [ 7]         ror abst,x
                                     tst_absx rRORc,fRORc,$ff-fnzc
                                     tst_absx rRORc,fRORc,$ff-fnzc
28f1 : 08               [ 3]>            php         ;save flags
2f23 : 08               [ 3]>            php         ;save flags
28f2 : bd0302           [ 4]>            lda abst,x
2f24 : bd0302           [ 4]>            lda abst,x
28f5 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
2f27 : dd1d02           [ 4]>            cmp rRORc,x    ;test result
                            >            trap_ne
                            >            trap_ne
28f8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f2a : f002             [ 3]>        beq skip2762
                            >
                            >        trap           ;failed equal (zero)
28fa : 68               [ 4]>            pla         ;load status
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                            >            eor_flag $ff-fnzc
2f2c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
28fb : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
2f2d : 21                   >        db      test_num
                            >
                            >
28fd : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
2f2e :                      >skip2762
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  201
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  311
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
2f2e : 68               [ 4]>            pla         ;load status
 
                            >            eor_flag $ff-fnzc
 
2f2f : 497c             [ 2]>            eor #$ff-fnzc|fao         ;invert expected flags + always on bits
 
                            >
 
2f31 : dd2d02           [ 4]>            cmp fRORc,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2900 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f34 : f002             [ 3]>        beq skip2765
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f36 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f37 : 21                   >        db      test_num
 
                            >
 
2f38 :                      >skip2765
                            >
                            >
 
 
2902 : ca               [ 2]         dex
2f38 : ca               [ 2]         dex
2903 : 10e0             [ 4]         bpl trorc9
2f39 : 10dc             [ 3]         bpl trorc9
                                     next_test
                                     next_test
2905 : ad0002           [ 4]>            lda test_case   ;previous test
2f3b : ad0002           [ 4]>            lda test_case   ;previous test
2908 : c921             [ 2]>            cmp #test_num
2f3e : c921             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
290a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f40 : f002             [ 3]>        beq skip2768
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f42 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f43 : 21                   >        db      test_num
 
                            >
 
2f44 :                      >skip2768
                            >
                            >
0022 =                      >test_num = test_num + 1
0022 =                      >test_num = test_num + 1
290c : a922             [ 2]>            lda #test_num   ;*** this tests' number
2f44 : a922             [ 2]>            lda #test_num   ;*** this tests' number
290e : 8d0002           [ 4]>            sta test_case
2f46 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing memory increment/decrement - INC DEC all addressing modes
                             ; testing memory increment/decrement - INC DEC all addressing modes
                             ; zeropage
                             ; zeropage
2911 : a200             [ 2]         ldx #0
 
2913 : a97e             [ 2]         lda #$7e
2f49 : a200             [ 2]         ldx #0
2915 : 850c             [ 3]         sta zpt
2f4b : a97e             [ 2]         lda #$7e
2917 :                       tinc
2f4d : 85b2             [ 3]         sta zpt
 
2f4f :                       tinc
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
2917 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2f4f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2919 : 48               [ 3]>            pha         ;use stack to load status
2f51 : 48               [ 3]>            pha         ;use stack to load status
291a : 28               [ 4]>            plp
2f52 : 28               [ 4]>            plp
 
 
291b : e60c             [ 5]         inc zpt
2f53 : e6b2             [ 5]         inc zpt
                                     tst_z rINC,fINC,0
                                     tst_z rINC,fINC,0
291d : 08               [ 3]>            php         ;save flags
2f55 : 08               [ 3]>            php         ;save flags
291e : a50c             [ 3]>            lda zpt
2f56 : a5b2             [ 3]>            lda zpt
2920 : dd3102           [ 4]>            cmp rINC,x    ;test result
2f58 : dd3102           [ 4]>            cmp rINC,x    ;test result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  312
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            trap_ne
                            >            trap_ne
2923 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f5b : f002             [ 3]>        beq skip2773
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f5d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f5e : 22                   >        db      test_num
 
                            >
 
2f5f :                      >skip2773
                            >
                            >
2925 : 68               [ 4]>            pla         ;load status
2f5f : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2926 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2f60 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2928 : dd3602           [ 4]>            cmp fINC,x    ;test flags
2f62 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
292b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f65 : f002             [ 3]>        beq skip2776
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
292d : e8               [ 2]         inx
2f67 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
292e : e002             [ 2]         cpx #2
2f68 : 22                   >        db      test_num
2930 : d004             [ 3]         bne tinc1
                            >
2932 : a9fe             [ 2]         lda #$fe
2f69 :                      >skip2776
2934 : 850c             [ 3]         sta zpt
                            >
2936 : e005             [ 2] tinc1   cpx #5
 
2938 : d0dd             [ 3]         bne tinc
2f69 : e8               [ 2]         inx
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  202
2f6a : e002             [ 2]         cpx #2
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2f6c : d004             [ 3]         bne tinc1
 
2f6e : a9fe             [ 2]         lda #$fe
293a : ca               [ 2]         dex
2f70 : 85b2             [ 3]         sta zpt
293b : e60c             [ 5]         inc zpt
2f72 : e005             [ 2] tinc1   cpx #5
293d :                       tdec
2f74 : d0d9             [ 3]         bne tinc
 
2f76 : ca               [ 2]         dex
 
2f77 : e6b2             [ 5]         inc zpt
 
2f79 :                       tdec
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
293d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
2f79 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
293f : 48               [ 3]>            pha         ;use stack to load status
2f7b : 48               [ 3]>            pha         ;use stack to load status
2940 : 28               [ 4]>            plp
2f7c : 28               [ 4]>            plp
 
 
2941 : c60c             [ 5]         dec zpt
2f7d : c6b2             [ 5]         dec zpt
                                     tst_z rINC,fINC,0
                                     tst_z rINC,fINC,0
2943 : 08               [ 3]>            php         ;save flags
2f7f : 08               [ 3]>            php         ;save flags
2944 : a50c             [ 3]>            lda zpt
2f80 : a5b2             [ 3]>            lda zpt
2946 : dd3102           [ 4]>            cmp rINC,x    ;test result
2f82 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2949 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f85 : f002             [ 3]>        beq skip2781
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2f87 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2f88 : 22                   >        db      test_num
 
                            >
 
2f89 :                      >skip2781
                            >
                            >
294b : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  313
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2f89 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
294c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
2f8a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
294e : dd3602           [ 4]>            cmp fINC,x    ;test flags
2f8c : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2951 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2f8f : f002             [ 3]>        beq skip2784
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2953 : ca               [ 2]         dex
2f91 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2954 : 300a             [ 3]         bmi tdec1
2f92 : 22                   >        db      test_num
2956 : e001             [ 2]         cpx #1
                            >
2958 : d0e3             [ 3]         bne tdec
2f93 :                      >skip2784
295a : a981             [ 2]         lda #$81
                            >
295c : 850c             [ 3]         sta zpt
 
295e : d0dd             [ 3]         bne tdec
2f93 : ca               [ 2]         dex
2960 :                       tdec1
2f94 : 300a             [ 3]         bmi tdec1
2960 : a200             [ 2]         ldx #0
2f96 : e001             [ 2]         cpx #1
2962 : a97e             [ 2]         lda #$7e
2f98 : d0df             [ 3]         bne tdec
2964 : 850c             [ 3]         sta zpt
2f9a : a981             [ 2]         lda #$81
2966 :                       tinc10
2f9c : 85b2             [ 3]         sta zpt
 
2f9e : d0d9             [ 3]         bne tdec
 
2fa0 :                       tdec1
 
2fa0 : a200             [ 2]         ldx #0
 
2fa2 : a97e             [ 2]         lda #$7e
 
2fa4 : 85b2             [ 3]         sta zpt
 
2fa6 :                       tinc10
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2966 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2fa6 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2968 : 48               [ 3]>            pha         ;use stack to load status
2fa8 : 48               [ 3]>            pha         ;use stack to load status
2969 : 28               [ 4]>            plp
2fa9 : 28               [ 4]>            plp
 
 
296a : e60c             [ 5]         inc zpt
2faa : e6b2             [ 5]         inc zpt
                                     tst_z rINC,fINC,$ff-fnz
                                     tst_z rINC,fINC,$ff-fnz
296c : 08               [ 3]>            php         ;save flags
2fac : 08               [ 3]>            php         ;save flags
296d : a50c             [ 3]>            lda zpt
2fad : a5b2             [ 3]>            lda zpt
296f : dd3102           [ 4]>            cmp rINC,x    ;test result
2faf : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2972 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2fb2 : f002             [ 3]>        beq skip2789
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2fb4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2fb5 : 22                   >        db      test_num
                            >
                            >
2974 : 68               [ 4]>            pla         ;load status
2fb6 :                      >skip2789
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  203
                            >
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2fb6 : 68               [ 4]>            pla         ;load status
 
 
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2975 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
2fb7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2977 : dd3602           [ 4]>            cmp fINC,x    ;test flags
2fb9 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
297a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2fbc : f002             [ 3]>        beq skip2792
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  314
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
297c : e8               [ 2]         inx
                            >        trap           ;failed equal (zero)
297d : e002             [ 2]         cpx #2
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
297f : d004             [ 3]         bne tinc11
2fbe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2981 : a9fe             [ 2]         lda #$fe
2fbf : 22                   >        db      test_num
2983 : 850c             [ 3]         sta zpt
                            >
2985 : e005             [ 2] tinc11  cpx #5
2fc0 :                      >skip2792
2987 : d0dd             [ 3]         bne tinc10
                            >
2989 : ca               [ 2]         dex
 
298a : e60c             [ 5]         inc zpt
2fc0 : e8               [ 2]         inx
298c :                       tdec10
2fc1 : e002             [ 2]         cpx #2
 
2fc3 : d004             [ 3]         bne tinc11
 
2fc5 : a9fe             [ 2]         lda #$fe
 
2fc7 : 85b2             [ 3]         sta zpt
 
2fc9 : e005             [ 2] tinc11  cpx #5
 
2fcb : d0d9             [ 3]         bne tinc10
 
2fcd : ca               [ 2]         dex
 
2fce : e6b2             [ 5]         inc zpt
 
2fd0 :                       tdec10
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
298c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
2fd0 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
298e : 48               [ 3]>            pha         ;use stack to load status
2fd2 : 48               [ 3]>            pha         ;use stack to load status
298f : 28               [ 4]>            plp
2fd3 : 28               [ 4]>            plp
 
 
2990 : c60c             [ 5]         dec zpt
2fd4 : c6b2             [ 5]         dec zpt
                                     tst_z rINC,fINC,$ff-fnz
                                     tst_z rINC,fINC,$ff-fnz
2992 : 08               [ 3]>            php         ;save flags
2fd6 : 08               [ 3]>            php         ;save flags
2993 : a50c             [ 3]>            lda zpt
2fd7 : a5b2             [ 3]>            lda zpt
2995 : dd3102           [ 4]>            cmp rINC,x    ;test result
2fd9 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2998 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2fdc : f002             [ 3]>        beq skip2797
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2fde : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2fdf : 22                   >        db      test_num
                            >
                            >
299a : 68               [ 4]>            pla         ;load status
2fe0 :                      >skip2797
 
                            >
 
2fe0 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
299b : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
2fe1 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
299d : dd3602           [ 4]>            cmp fINC,x    ;test flags
2fe3 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
29a0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
2fe6 : f002             [ 3]>        beq skip2800
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2fe8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2fe9 : 22                   >        db      test_num
 
                            >
 
2fea :                      >skip2800
                            >
                            >
 
 
29a2 : ca               [ 2]         dex
2fea : ca               [ 2]         dex
29a3 : 300a             [ 3]         bmi tdec11
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  315
29a5 : e001             [ 2]         cpx #1
 
29a7 : d0e3             [ 3]         bne tdec10
 
29a9 : a981             [ 2]         lda #$81
 
29ab : 850c             [ 3]         sta zpt
 
29ad : d0dd             [ 3]         bne tdec10
 
29af :                       tdec11
 
                                     next_test
 
29af : ad0002           [ 4]>            lda test_case   ;previous test
 
29b2 : c922             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
 
29b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  204
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2feb : 300a             [ 3]         bmi tdec11
 
2fed : e001             [ 2]         cpx #1
 
2fef : d0df             [ 3]         bne tdec10
 
2ff1 : a981             [ 2]         lda #$81
 
2ff3 : 85b2             [ 3]         sta zpt
 
2ff5 : d0d9             [ 3]         bne tdec10
 
2ff7 :                       tdec11
 
                                     next_test
 
2ff7 : ad0002           [ 4]>            lda test_case   ;previous test
 
2ffa : c922             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
 
2ffc : f002             [ 4]>        beq skip2803
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
2ffe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
2fff : 22                   >        db      test_num
 
                            >
 
3000 :                      >skip2803
                            >
                            >
0023 =                      >test_num = test_num + 1
0023 =                      >test_num = test_num + 1
29b6 : a923             [ 2]>            lda #test_num   ;*** this tests' number
3000 : a923             [ 2]>            lda #test_num   ;*** this tests' number
29b8 : 8d0002           [ 4]>            sta test_case
3002 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; absolute memory
                             ; absolute memory
29bb : a200             [ 2]         ldx #0
 
29bd : a97e             [ 2]         lda #$7e
3005 : a200             [ 2]         ldx #0
29bf : 8d0302           [ 4]         sta abst
3007 : a97e             [ 2]         lda #$7e
29c2 :                       tinc2
3009 : 8d0302           [ 4]         sta abst
 
300c :                       tinc2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
29c2 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
300c : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
29c4 : 48               [ 3]>            pha         ;use stack to load status
300e : 48               [ 3]>            pha         ;use stack to load status
29c5 : 28               [ 4]>            plp
300f : 28               [ 4]>            plp
 
 
29c6 : ee0302           [ 6]         inc abst
3010 : ee0302           [ 6]         inc abst
                                     tst_abs rINC,fINC,0
                                     tst_abs rINC,fINC,0
29c9 : 08               [ 3]>            php         ;save flags
3013 : 08               [ 3]>            php         ;save flags
29ca : ad0302           [ 4]>            lda abst
3014 : ad0302           [ 4]>            lda abst
29cd : dd3102           [ 4]>            cmp rINC,x    ;test result
3017 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
29d0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
301a : f002             [ 3]>        beq skip2808
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
301c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
301d : 23                   >        db      test_num
                            >
                            >
29d2 : 68               [ 4]>            pla         ;load status
301e :                      >skip2808
 
                            >
 
301e : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
29d3 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
301f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  316
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
29d5 : dd3602           [ 4]>            cmp fINC,x    ;test flags
3021 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
29d8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3024 : f002             [ 3]>        beq skip2811
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3026 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3027 : 23                   >        db      test_num
 
                            >
 
3028 :                      >skip2811
                            >
                            >
 
 
29da : e8               [ 2]         inx
3028 : e8               [ 2]         inx
29db : e002             [ 2]         cpx #2
3029 : e002             [ 2]         cpx #2
29dd : d005             [ 3]         bne tinc3
302b : d005             [ 3]         bne tinc3
29df : a9fe             [ 2]         lda #$fe
302d : a9fe             [ 2]         lda #$fe
29e1 : 8d0302           [ 4]         sta abst
302f : 8d0302           [ 4]         sta abst
29e4 : e005             [ 2] tinc3   cpx #5
3032 : e005             [ 2] tinc3   cpx #5
29e6 : d0da             [ 3]         bne tinc2
3034 : d0d6             [ 3]         bne tinc2
29e8 : ca               [ 2]         dex
3036 : ca               [ 2]         dex
29e9 : ee0302           [ 6]         inc abst
3037 : ee0302           [ 6]         inc abst
29ec :                       tdec2
303a :                       tdec2
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
29ec : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
303a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
29ee : 48               [ 3]>            pha         ;use stack to load status
303c : 48               [ 3]>            pha         ;use stack to load status
29ef : 28               [ 4]>            plp
303d : 28               [ 4]>            plp
 
 
29f0 : ce0302           [ 6]         dec abst
303e : ce0302           [ 6]         dec abst
                                     tst_abs rINC,fINC,0
                                     tst_abs rINC,fINC,0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  205
3041 : 08               [ 3]>            php         ;save flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
3042 : ad0302           [ 4]>            lda abst
 
3045 : dd3102           [ 4]>            cmp rINC,x    ;test result
29f3 : 08               [ 3]>            php         ;save flags
                            >            trap_ne
29f4 : ad0302           [ 4]>            lda abst
3048 : f002             [ 3]>        beq skip2816
29f7 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >        trap           ;failed equal (zero)
                            >            trap_ne
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
29fa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
304a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
304b : 23                   >        db      test_num
                            >
                            >
29fc : 68               [ 4]>            pla         ;load status
304c :                      >skip2816
 
                            >
 
304c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
29fd : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
304d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
29ff : dd3602           [ 4]>            cmp fINC,x    ;test flags
304f : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2a02 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3052 : f002             [ 3]>        beq skip2819
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2a04 : ca               [ 2]         dex
3054 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2a05 : 300b             [ 3]         bmi tdec3
3055 : 23                   >        db      test_num
2a07 : e001             [ 2]         cpx #1
                            >
2a09 : d0e1             [ 4]         bne tdec2
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  317
2a0b : a981             [ 2]         lda #$81
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2a0d : 8d0302           [ 4]         sta abst
 
2a10 : d0da             [ 4]         bne tdec2
3056 :                      >skip2819
2a12 :                       tdec3
                            >
2a12 : a200             [ 2]         ldx #0
 
2a14 : a97e             [ 2]         lda #$7e
3056 : ca               [ 2]         dex
2a16 : 8d0302           [ 4]         sta abst
3057 : 300b             [ 3]         bmi tdec3
2a19 :                       tinc12
3059 : e001             [ 2]         cpx #1
 
305b : d0dd             [ 3]         bne tdec2
 
305d : a981             [ 2]         lda #$81
 
305f : 8d0302           [ 4]         sta abst
 
3062 : d0d6             [ 3]         bne tdec2
 
3064 :                       tdec3
 
3064 : a200             [ 2]         ldx #0
 
3066 : a97e             [ 2]         lda #$7e
 
3068 : 8d0302           [ 4]         sta abst
 
306b :                       tinc12
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2a19 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
306b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2a1b : 48               [ 3]>            pha         ;use stack to load status
306d : 48               [ 3]>            pha         ;use stack to load status
2a1c : 28               [ 4]>            plp
306e : 28               [ 4]>            plp
 
 
2a1d : ee0302           [ 6]         inc abst
306f : ee0302           [ 6]         inc abst
                                     tst_abs rINC,fINC,$ff-fnz
                                     tst_abs rINC,fINC,$ff-fnz
2a20 : 08               [ 3]>            php         ;save flags
3072 : 08               [ 3]>            php         ;save flags
2a21 : ad0302           [ 4]>            lda abst
3073 : ad0302           [ 4]>            lda abst
2a24 : dd3102           [ 4]>            cmp rINC,x    ;test result
3076 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2a27 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3079 : f002             [ 3]>        beq skip2824
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
307b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
307c : 23                   >        db      test_num
                            >
                            >
2a29 : 68               [ 4]>            pla         ;load status
307d :                      >skip2824
 
                            >
 
307d : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2a2a : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
307e : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2a2c : dd3602           [ 4]>            cmp fINC,x    ;test flags
3080 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2a2f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3083 : f002             [ 3]>        beq skip2827
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3085 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3086 : 23                   >        db      test_num
 
                            >
 
3087 :                      >skip2827
                            >
                            >
 
 
2a31 : e8               [ 2]         inx
3087 : e8               [ 2]         inx
2a32 : e002             [ 2]         cpx #2
3088 : e002             [ 2]         cpx #2
2a34 : d005             [ 3]         bne tinc13
308a : d005             [ 3]         bne tinc13
2a36 : a9fe             [ 2]         lda #$fe
308c : a9fe             [ 2]         lda #$fe
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  206
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  318
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2a38 : 8d0302           [ 4]         sta abst
308e : 8d0302           [ 4]         sta abst
2a3b : e005             [ 2] tinc13   cpx #5
3091 : e005             [ 2] tinc13   cpx #5
2a3d : d0da             [ 3]         bne tinc12
3093 : d0d6             [ 3]         bne tinc12
2a3f : ca               [ 2]         dex
3095 : ca               [ 2]         dex
2a40 : ee0302           [ 6]         inc abst
3096 : ee0302           [ 6]         inc abst
2a43 :                       tdec12
3099 :                       tdec12
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2a43 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3099 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2a45 : 48               [ 3]>            pha         ;use stack to load status
309b : 48               [ 3]>            pha         ;use stack to load status
2a46 : 28               [ 4]>            plp
309c : 28               [ 4]>            plp
 
 
2a47 : ce0302           [ 6]         dec abst
309d : ce0302           [ 6]         dec abst
                                     tst_abs rINC,fINC,$ff-fnz
                                     tst_abs rINC,fINC,$ff-fnz
2a4a : 08               [ 3]>            php         ;save flags
30a0 : 08               [ 3]>            php         ;save flags
2a4b : ad0302           [ 4]>            lda abst
30a1 : ad0302           [ 4]>            lda abst
2a4e : dd3102           [ 4]>            cmp rINC,x    ;test result
30a4 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2a51 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
30a7 : f002             [ 3]>        beq skip2832
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
30a9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
30aa : 23                   >        db      test_num
                            >
                            >
2a53 : 68               [ 4]>            pla         ;load status
30ab :                      >skip2832
 
                            >
 
30ab : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2a54 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
30ac : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2a56 : dd3602           [ 4]>            cmp fINC,x    ;test flags
30ae : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2a59 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
30b1 : f002             [ 3]>        beq skip2835
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2a5b : ca               [ 2]         dex
30b3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2a5c : 300b             [ 3]         bmi tdec13
30b4 : 23                   >        db      test_num
2a5e : e001             [ 2]         cpx #1
                            >
2a60 : d0e1             [ 3]         bne tdec12
30b5 :                      >skip2835
2a62 : a981             [ 2]         lda #$81
                            >
2a64 : 8d0302           [ 4]         sta abst
 
2a67 : d0da             [ 3]         bne tdec12
30b5 : ca               [ 2]         dex
2a69 :                       tdec13
30b6 : 300b             [ 3]         bmi tdec13
 
30b8 : e001             [ 2]         cpx #1
 
30ba : d0dd             [ 3]         bne tdec12
 
30bc : a981             [ 2]         lda #$81
 
30be : 8d0302           [ 4]         sta abst
 
30c1 : d0d6             [ 3]         bne tdec12
 
30c3 :                       tdec13
                                     next_test
                                     next_test
2a69 : ad0002           [ 4]>            lda test_case   ;previous test
30c3 : ad0002           [ 4]>            lda test_case   ;previous test
2a6c : c923             [ 2]>            cmp #test_num
30c6 : c923             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2a6e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
30c8 : f002             [ 3]>        beq skip2838
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  319
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
30ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
30cb : 23                   >        db      test_num
 
                            >
 
30cc :                      >skip2838
                            >
                            >
0024 =                      >test_num = test_num + 1
0024 =                      >test_num = test_num + 1
2a70 : a924             [ 2]>            lda #test_num   ;*** this tests' number
30cc : a924             [ 2]>            lda #test_num   ;*** this tests' number
2a72 : 8d0002           [ 4]>            sta test_case
30ce : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; zeropage indexed
                             ; zeropage indexed
2a75 : a200             [ 2]         ldx #0
 
2a77 : a97e             [ 2]         lda #$7e
 
2a79 : 950c             [ 4] tinc4   sta zpt,x
 
                                     set_stat 0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  207
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
30d1 : a200             [ 2]         ldx #0
 
30d3 : a97e             [ 2]         lda #$7e
 
30d5 : 95b2             [ 4] tinc4   sta zpt,x
 
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
2a7b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
30d7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2a7d : 48               [ 3]>            pha         ;use stack to load status
30d9 : 48               [ 3]>            pha         ;use stack to load status
2a7e : 28               [ 4]>            plp
30da : 28               [ 4]>            plp
 
 
2a7f : f60c             [ 6]         inc zpt,x
30db : f6b2             [ 6]         inc zpt,x
                                     tst_zx rINC,fINC,0
                                     tst_zx rINC,fINC,0
2a81 : 08               [ 3]>            php         ;save flags
30dd : 08               [ 3]>            php         ;save flags
2a82 : b50c             [ 4]>            lda zpt,x
30de : b5b2             [ 4]>            lda zpt,x
2a84 : dd3102           [ 4]>            cmp rINC,x    ;test result
30e0 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2a87 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
30e3 : f002             [ 3]>        beq skip2843
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
30e5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
30e6 : 24                   >        db      test_num
 
                            >
 
30e7 :                      >skip2843
                            >
                            >
2a89 : 68               [ 4]>            pla         ;load status
30e7 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2a8a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
30e8 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2a8c : dd3602           [ 4]>            cmp fINC,x    ;test flags
30ea : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2a8f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
30ed : f002             [ 3]>        beq skip2846
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
30ef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
30f0 : 24                   >        db      test_num
                            >
                            >
 
30f1 :                      >skip2846
 
                            >
 
 
 
30f1 : b5b2             [ 4]         lda zpt,x
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  320
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2a91 : b50c             [ 4]         lda zpt,x
30f3 : e8               [ 2]         inx
2a93 : e8               [ 2]         inx
30f4 : e002             [ 2]         cpx #2
2a94 : e002             [ 2]         cpx #2
30f6 : d002             [ 3]         bne tinc5
2a96 : d002             [ 3]         bne tinc5
30f8 : a9fe             [ 2]         lda #$fe
2a98 : a9fe             [ 2]         lda #$fe
30fa : e005             [ 2] tinc5   cpx #5
2a9a : e005             [ 2] tinc5   cpx #5
30fc : d0d7             [ 3]         bne tinc4
2a9c : d0db             [ 3]         bne tinc4
30fe : ca               [ 2]         dex
2a9e : ca               [ 2]         dex
30ff : a902             [ 2]         lda #2
2a9f : a902             [ 2]         lda #2
3101 : 95b2             [ 4] tdec4   sta zpt,x
2aa1 : 950c             [ 4] tdec4   sta zpt,x
 
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
2aa3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3103 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2aa5 : 48               [ 3]>            pha         ;use stack to load status
3105 : 48               [ 3]>            pha         ;use stack to load status
2aa6 : 28               [ 4]>            plp
3106 : 28               [ 4]>            plp
 
 
2aa7 : d60c             [ 6]         dec zpt,x
3107 : d6b2             [ 6]         dec zpt,x
                                     tst_zx rINC,fINC,0
                                     tst_zx rINC,fINC,0
2aa9 : 08               [ 3]>            php         ;save flags
3109 : 08               [ 3]>            php         ;save flags
2aaa : b50c             [ 4]>            lda zpt,x
310a : b5b2             [ 4]>            lda zpt,x
2aac : dd3102           [ 4]>            cmp rINC,x    ;test result
310c : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2aaf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
310f : f002             [ 3]>        beq skip2851
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3111 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3112 : 24                   >        db      test_num
                            >
                            >
2ab1 : 68               [ 4]>            pla         ;load status
3113 :                      >skip2851
 
                            >
 
3113 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2ab2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3114 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2ab4 : dd3602           [ 4]>            cmp fINC,x    ;test flags
3116 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2ab7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3119 : f002             [ 3]>        beq skip2854
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  208
                            >        trap           ;failed equal (zero)
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
311b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
311c : 24                   >        db      test_num
                            >
                            >
 
311d :                      >skip2854
 
                            >
 
 
 
311d : b5b2             [ 4]         lda zpt,x
 
311f : ca               [ 2]         dex
 
3120 : 3008             [ 3]         bmi tdec5
 
3122 : e001             [ 2]         cpx #1
 
3124 : d0db             [ 3]         bne tdec4
 
3126 : a981             [ 2]         lda #$81
 
3128 : d0d7             [ 3]         bne tdec4
 
312a :                       tdec5
 
312a : a200             [ 2]         ldx #0
 
312c : a97e             [ 2]         lda #$7e
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  321
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2ab9 : b50c             [ 4]         lda zpt,x
312e : 95b2             [ 4] tinc14  sta zpt,x
2abb : ca               [ 2]         dex
 
2abc : 3008             [ 3]         bmi tdec5
 
2abe : e001             [ 2]         cpx #1
 
2ac0 : d0df             [ 3]         bne tdec4
 
2ac2 : a981             [ 2]         lda #$81
 
2ac4 : d0db             [ 3]         bne tdec4
 
2ac6 :                       tdec5
 
2ac6 : a200             [ 2]         ldx #0
 
2ac8 : a97e             [ 2]         lda #$7e
 
2aca : 950c             [ 4] tinc14  sta zpt,x
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2acc : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3130 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2ace : 48               [ 3]>            pha         ;use stack to load status
3132 : 48               [ 3]>            pha         ;use stack to load status
2acf : 28               [ 4]>            plp
3133 : 28               [ 4]>            plp
 
 
2ad0 : f60c             [ 6]         inc zpt,x
3134 : f6b2             [ 6]         inc zpt,x
                                     tst_zx rINC,fINC,$ff-fnz
                                     tst_zx rINC,fINC,$ff-fnz
2ad2 : 08               [ 3]>            php         ;save flags
3136 : 08               [ 3]>            php         ;save flags
2ad3 : b50c             [ 4]>            lda zpt,x
3137 : b5b2             [ 4]>            lda zpt,x
2ad5 : dd3102           [ 4]>            cmp rINC,x    ;test result
3139 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2ad8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
313c : f002             [ 3]>        beq skip2859
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
313e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
313f : 24                   >        db      test_num
                            >
                            >
2ada : 68               [ 4]>            pla         ;load status
3140 :                      >skip2859
 
                            >
 
3140 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2adb : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3141 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2add : dd3602           [ 4]>            cmp fINC,x    ;test flags
3143 : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2ae0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3146 : f002             [ 3]>        beq skip2862
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2ae2 : b50c             [ 4]         lda zpt,x
3148 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2ae4 : e8               [ 2]         inx
3149 : 24                   >        db      test_num
2ae5 : e002             [ 2]         cpx #2
                            >
2ae7 : d002             [ 3]         bne tinc15
314a :                      >skip2862
2ae9 : a9fe             [ 2]         lda #$fe
                            >
2aeb : e005             [ 2] tinc15  cpx #5
 
2aed : d0db             [ 3]         bne tinc14
314a : b5b2             [ 4]         lda zpt,x
2aef : ca               [ 2]         dex
314c : e8               [ 2]         inx
2af0 : a902             [ 2]         lda #2
314d : e002             [ 2]         cpx #2
2af2 : 950c             [ 4] tdec14  sta zpt,x
314f : d002             [ 3]         bne tinc15
 
3151 : a9fe             [ 2]         lda #$fe
 
3153 : e005             [ 2] tinc15  cpx #5
 
3155 : d0d7             [ 3]         bne tinc14
 
3157 : ca               [ 2]         dex
 
3158 : a902             [ 2]         lda #2
 
315a : 95b2             [ 4] tdec14  sta zpt,x
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2af4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
315c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2af6 : 48               [ 3]>            pha         ;use stack to load status
315e : 48               [ 3]>            pha         ;use stack to load status
2af7 : 28               [ 4]>            plp
315f : 28               [ 4]>            plp
 
 
2af8 : d60c             [ 6]         dec zpt,x
3160 : d6b2             [ 6]         dec zpt,x
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  209
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  322
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     tst_zx rINC,fINC,$ff-fnz
                                     tst_zx rINC,fINC,$ff-fnz
2afa : 08               [ 3]>            php         ;save flags
3162 : 08               [ 3]>            php         ;save flags
2afb : b50c             [ 4]>            lda zpt,x
3163 : b5b2             [ 4]>            lda zpt,x
2afd : dd3102           [ 4]>            cmp rINC,x    ;test result
3165 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2b00 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3168 : f002             [ 3]>        beq skip2867
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
316a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
316b : 24                   >        db      test_num
 
                            >
 
316c :                      >skip2867
                            >
                            >
2b02 : 68               [ 4]>            pla         ;load status
316c : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2b03 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
316d : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2b05 : dd3602           [ 4]>            cmp fINC,x    ;test flags
316f : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2b08 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3172 : f002             [ 3]>        beq skip2870
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2b0a : b50c             [ 4]         lda zpt,x
3174 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2b0c : ca               [ 2]         dex
3175 : 24                   >        db      test_num
2b0d : 3008             [ 3]         bmi tdec15
                            >
2b0f : e001             [ 2]         cpx #1
3176 :                      >skip2870
2b11 : d0df             [ 4]         bne tdec14
                            >
2b13 : a981             [ 2]         lda #$81
 
2b15 : d0db             [ 4]         bne tdec14
3176 : b5b2             [ 4]         lda zpt,x
2b17 :                       tdec15
3178 : ca               [ 2]         dex
 
3179 : 3008             [ 3]         bmi tdec15
 
317b : e001             [ 2]         cpx #1
 
317d : d0db             [ 3]         bne tdec14
 
317f : a981             [ 2]         lda #$81
 
3181 : d0d7             [ 3]         bne tdec14
 
3183 :                       tdec15
                                     next_test
                                     next_test
2b17 : ad0002           [ 4]>            lda test_case   ;previous test
3183 : ad0002           [ 4]>            lda test_case   ;previous test
2b1a : c924             [ 2]>            cmp #test_num
3186 : c924             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2b1c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3188 : f002             [ 3]>        beq skip2873
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
318a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
318b : 24                   >        db      test_num
 
                            >
 
318c :                      >skip2873
                            >
                            >
0025 =                      >test_num = test_num + 1
0025 =                      >test_num = test_num + 1
2b1e : a925             [ 2]>            lda #test_num   ;*** this tests' number
318c : a925             [ 2]>            lda #test_num   ;*** this tests' number
2b20 : 8d0002           [ 4]>            sta test_case
318e : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; memory indexed
                             ; memory indexed
2b23 : a200             [ 2]         ldx #0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  323
2b25 : a97e             [ 2]         lda #$7e
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2b27 : 9d0302           [ 5] tinc6   sta abst,x
 
 
 
 
3191 : a200             [ 2]         ldx #0
 
3193 : a97e             [ 2]         lda #$7e
 
3195 : 9d0302           [ 5] tinc6   sta abst,x
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
2b2a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3198 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2b2c : 48               [ 3]>            pha         ;use stack to load status
319a : 48               [ 3]>            pha         ;use stack to load status
2b2d : 28               [ 4]>            plp
319b : 28               [ 4]>            plp
 
 
2b2e : fe0302           [ 6]         inc abst,x
319c : fe0302           [ 7]         inc abst,x
                                     tst_absx rINC,fINC,0
                                     tst_absx rINC,fINC,0
2b31 : 08               [ 3]>            php         ;save flags
319f : 08               [ 3]>            php         ;save flags
2b32 : bd0302           [ 4]>            lda abst,x
31a0 : bd0302           [ 4]>            lda abst,x
2b35 : dd3102           [ 4]>            cmp rINC,x    ;test result
31a3 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2b38 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
31a6 : f002             [ 3]>        beq skip2878
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
31a8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
31a9 : 25                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  210
31aa :                      >skip2878
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >
 
31aa : 68               [ 4]>            pla         ;load status
2b3a : 68               [ 4]>            pla         ;load status
 
                            >            eor_flag 0
                            >            eor_flag 0
2b3b : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
31ab : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2b3d : dd3602           [ 4]>            cmp fINC,x    ;test flags
31ad : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2b40 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
31b0 : f002             [ 3]>        beq skip2881
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2b42 : bd0302           [ 4]         lda abst,x
31b2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2b45 : e8               [ 2]         inx
31b3 : 25                   >        db      test_num
2b46 : e002             [ 2]         cpx #2
                            >
2b48 : d002             [ 3]         bne tinc7
31b4 :                      >skip2881
2b4a : a9fe             [ 2]         lda #$fe
                            >
2b4c : e005             [ 2] tinc7   cpx #5
 
2b4e : d0d7             [ 3]         bne tinc6
31b4 : bd0302           [ 4]         lda abst,x
2b50 : ca               [ 2]         dex
31b7 : e8               [ 2]         inx
2b51 : a902             [ 2]         lda #2
31b8 : e002             [ 2]         cpx #2
2b53 : 9d0302           [ 5] tdec6   sta abst,x
31ba : d002             [ 3]         bne tinc7
 
31bc : a9fe             [ 2]         lda #$fe
 
31be : e005             [ 2] tinc7   cpx #5
 
31c0 : d0d3             [ 3]         bne tinc6
 
31c2 : ca               [ 2]         dex
 
31c3 : a902             [ 2]         lda #2
 
31c5 : 9d0302           [ 5] tdec6   sta abst,x
                                     set_stat 0
                                     set_stat 0
                            >            load_flag 0
                            >            load_flag 0
2b56 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
31c8 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2b58 : 48               [ 3]>            pha         ;use stack to load status
31ca : 48               [ 3]>            pha         ;use stack to load status
2b59 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  324
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2b5a : de0302           [ 6]         dec abst,x
31cb : 28               [ 4]>            plp
 
 
 
31cc : de0302           [ 7]         dec abst,x
                                     tst_absx rINC,fINC,0
                                     tst_absx rINC,fINC,0
2b5d : 08               [ 3]>            php         ;save flags
31cf : 08               [ 3]>            php         ;save flags
2b5e : bd0302           [ 4]>            lda abst,x
31d0 : bd0302           [ 4]>            lda abst,x
2b61 : dd3102           [ 4]>            cmp rINC,x    ;test result
31d3 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2b64 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
31d6 : f002             [ 3]>        beq skip2886
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
31d8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
31d9 : 25                   >        db      test_num
                            >
                            >
2b66 : 68               [ 4]>            pla         ;load status
31da :                      >skip2886
 
                            >
 
31da : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2b67 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
31db : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2b69 : dd3602           [ 4]>            cmp fINC,x    ;test flags
31dd : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2b6c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
31e0 : f002             [ 3]>        beq skip2889
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2b6e : bd0302           [ 4]         lda abst,x
31e2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2b71 : ca               [ 2]         dex
31e3 : 25                   >        db      test_num
2b72 : 3008             [ 3]         bmi tdec7
                            >
2b74 : e001             [ 2]         cpx #1
31e4 :                      >skip2889
2b76 : d0db             [ 3]         bne tdec6
                            >
2b78 : a981             [ 2]         lda #$81
 
2b7a : d0d7             [ 3]         bne tdec6
31e4 : bd0302           [ 4]         lda abst,x
2b7c :                       tdec7
31e7 : ca               [ 2]         dex
2b7c : a200             [ 2]         ldx #0
31e8 : 3008             [ 3]         bmi tdec7
2b7e : a97e             [ 2]         lda #$7e
31ea : e001             [ 2]         cpx #1
2b80 : 9d0302           [ 5] tinc16  sta abst,x
31ec : d0d7             [ 3]         bne tdec6
 
31ee : a981             [ 2]         lda #$81
 
31f0 : d0d3             [ 3]         bne tdec6
 
31f2 :                       tdec7
 
31f2 : a200             [ 2]         ldx #0
 
31f4 : a97e             [ 2]         lda #$7e
 
31f6 : 9d0302           [ 5] tinc16  sta abst,x
                                     set_stat $ff
                                     set_stat $ff
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  211
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag $ff
                            >            load_flag $ff
2b83 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
31f9 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2b85 : 48               [ 3]>            pha         ;use stack to load status
31fb : 48               [ 3]>            pha         ;use stack to load status
2b86 : 28               [ 4]>            plp
31fc : 28               [ 4]>            plp
 
 
2b87 : fe0302           [ 6]         inc abst,x
31fd : fe0302           [ 7]         inc abst,x
                                     tst_absx rINC,fINC,$ff-fnz
                                     tst_absx rINC,fINC,$ff-fnz
2b8a : 08               [ 3]>            php         ;save flags
3200 : 08               [ 3]>            php         ;save flags
2b8b : bd0302           [ 4]>            lda abst,x
3201 : bd0302           [ 4]>            lda abst,x
2b8e : dd3102           [ 4]>            cmp rINC,x    ;test result
3204 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2b91 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  325
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3207 : f002             [ 3]>        beq skip2894
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3209 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
320a : 25                   >        db      test_num
                            >
                            >
2b93 : 68               [ 4]>            pla         ;load status
320b :                      >skip2894
 
                            >
 
320b : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2b94 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
320c : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2b96 : dd3602           [ 4]>            cmp fINC,x    ;test flags
320e : dd3602           [ 4]>            cmp fINC,x    ;test flags
                            >            trap_ne
                            >            trap_ne
2b99 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3211 : f002             [ 3]>        beq skip2897
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2b9b : bd0302           [ 4]         lda abst,x
3213 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2b9e : e8               [ 2]         inx
3214 : 25                   >        db      test_num
2b9f : e002             [ 2]         cpx #2
                            >
2ba1 : d002             [ 3]         bne tinc17
3215 :                      >skip2897
2ba3 : a9fe             [ 2]         lda #$fe
                            >
2ba5 : e005             [ 2] tinc17  cpx #5
 
2ba7 : d0d7             [ 3]         bne tinc16
3215 : bd0302           [ 4]         lda abst,x
2ba9 : ca               [ 2]         dex
3218 : e8               [ 2]         inx
2baa : a902             [ 2]         lda #2
3219 : e002             [ 2]         cpx #2
2bac : 9d0302           [ 5] tdec16  sta abst,x
321b : d002             [ 3]         bne tinc17
 
321d : a9fe             [ 2]         lda #$fe
 
321f : e005             [ 2] tinc17  cpx #5
 
3221 : d0d3             [ 4]         bne tinc16
 
3223 : ca               [ 2]         dex
 
3224 : a902             [ 2]         lda #2
 
3226 : 9d0302           [ 5] tdec16  sta abst,x
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
2baf : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3229 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2bb1 : 48               [ 3]>            pha         ;use stack to load status
322b : 48               [ 3]>            pha         ;use stack to load status
2bb2 : 28               [ 4]>            plp
322c : 28               [ 4]>            plp
 
 
2bb3 : de0302           [ 6]         dec abst,x
322d : de0302           [ 7]         dec abst,x
                                     tst_absx rINC,fINC,$ff-fnz
                                     tst_absx rINC,fINC,$ff-fnz
2bb6 : 08               [ 3]>            php         ;save flags
3230 : 08               [ 3]>            php         ;save flags
2bb7 : bd0302           [ 4]>            lda abst,x
3231 : bd0302           [ 4]>            lda abst,x
2bba : dd3102           [ 4]>            cmp rINC,x    ;test result
3234 : dd3102           [ 4]>            cmp rINC,x    ;test result
                            >            trap_ne
                            >            trap_ne
2bbd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3237 : f002             [ 3]>        beq skip2902
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3239 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
323a : 25                   >        db      test_num
                            >
                            >
2bbf : 68               [ 4]>            pla         ;load status
323b :                      >skip2902
                            >            eor_flag $ff-fnz
 
2bc0 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
 
                            >
                            >
2bc2 : dd3602           [ 4]>            cmp fINC,x    ;test flags
323b : 68               [ 4]>            pla         ;load status
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  326
2bc5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  212
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            eor_flag $ff-fnz
 
323c : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
 
323e : dd3602           [ 4]>            cmp fINC,x    ;test flags
2bc7 : bd0302           [ 4]         lda abst,x
                            >            trap_ne
2bca : ca               [ 2]         dex
3241 : f002             [ 3]>        beq skip2905
2bcb : 3008             [ 3]         bmi tdec17
                            >        trap           ;failed equal (zero)
2bcd : e001             [ 2]         cpx #1
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2bcf : d0db             [ 3]         bne tdec16
3243 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2bd1 : a981             [ 2]         lda #$81
3244 : 25                   >        db      test_num
2bd3 : d0d7             [ 3]         bne tdec16
                            >
2bd5 :                       tdec17
3245 :                      >skip2905
 
                            >
 
 
 
3245 : bd0302           [ 4]         lda abst,x
 
3248 : ca               [ 2]         dex
 
3249 : 3008             [ 3]         bmi tdec17
 
324b : e001             [ 2]         cpx #1
 
324d : d0d7             [ 3]         bne tdec16
 
324f : a981             [ 2]         lda #$81
 
3251 : d0d3             [ 3]         bne tdec16
 
3253 :                       tdec17
                                     next_test
                                     next_test
2bd5 : ad0002           [ 4]>            lda test_case   ;previous test
3253 : ad0002           [ 4]>            lda test_case   ;previous test
2bd8 : c925             [ 2]>            cmp #test_num
3256 : c925             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2bda : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3258 : f002             [ 3]>        beq skip2908
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
325a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
325b : 25                   >        db      test_num
 
                            >
 
325c :                      >skip2908
                            >
                            >
0026 =                      >test_num = test_num + 1
0026 =                      >test_num = test_num + 1
2bdc : a926             [ 2]>            lda #test_num   ;*** this tests' number
325c : a926             [ 2]>            lda #test_num   ;*** this tests' number
2bde : 8d0002           [ 4]>            sta test_case
325e : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; testing logical instructions - AND EOR ORA all addressing modes
                             ; testing logical instructions - AND EOR ORA all addressing modes
                             ; AND
                             ; AND
2be1 : a203             [ 2]         ldx #3      ;immediate - self modifying code
 
2be3 : b51c             [ 4] tand    lda zpAN,x
3261 : a203             [ 2]         ldx #3      ;immediate - self modifying code
2be5 : 8df02b           [ 4]         sta tandi1
3263 : b5c2             [ 4] tand    lda zpAN,x
 
3265 : 8d7032           [ 4]         sta tandi1
                                     set_ax  absANa,0
                                     set_ax  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2be8 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3268 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2bea : 48               [ 3]>            pha         ;use stack to load status
326a : 48               [ 3]>            pha         ;use stack to load status
2beb : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
326b : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2bee : 28               [ 4]>            plp
326e : 28               [ 4]>            plp
 
 
 
3270 =                       tandi1  equ *+1     ;target for immediate operand
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  327
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2bf0 =                       tandi1  equ *+1     ;target for immediate operand
326f : 2963             [ 2]         and #99
2bef : 2963             [ 2]         and #99
 
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2bf1 : 08               [ 3]>            php         ;save flags
3271 : 08               [ 3]>            php         ;save flags
2bf2 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3272 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2bf5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3275 : f002             [ 3]>        beq skip2913
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3277 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3278 : 26                   >        db      test_num
                            >
                            >
2bf7 : 68               [ 4]>            pla         ;load status
3279 :                      >skip2913
 
                            >
 
3279 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2bf8 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
327a : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2bfa : dd5702           [ 4]>            cmp absflo,x    ;test flags
327c : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2bfd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
327f : f002             [ 3]>        beq skip2916
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3281 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3282 : 26                   >        db      test_num
 
                            >
 
3283 :                      >skip2916
                            >
                            >
 
 
2bff : ca               [ 2]         dex
3283 : ca               [ 2]         dex
2c00 : 10e1             [ 4]         bpl tand
3284 : 10dd             [ 3]         bpl tand
2c02 : a203             [ 2]         ldx #3
3286 : a203             [ 2]         ldx #3
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  213
3288 : b5c2             [ 4] tand1   lda zpAN,x
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
328a : 8d9532           [ 4]         sta tandi2
 
 
2c04 : b51c             [ 4] tand1   lda zpAN,x
 
2c06 : 8d112c           [ 4]         sta tandi2
 
                                     set_ax  absANa,$ff
                                     set_ax  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2c09 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
328d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2c0b : 48               [ 3]>            pha         ;use stack to load status
328f : 48               [ 3]>            pha         ;use stack to load status
2c0c : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
3290 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2c0f : 28               [ 4]>            plp
3293 : 28               [ 4]>            plp
 
 
2c11 =                       tandi2  equ *+1     ;target for immediate operand
3295 =                       tandi2  equ *+1     ;target for immediate operand
2c10 : 2963             [ 2]         and #99
3294 : 2963             [ 2]         and #99
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2c12 : 08               [ 3]>            php         ;save flags
3296 : 08               [ 3]>            php         ;save flags
2c13 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3297 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2c16 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
329a : f002             [ 3]>        beq skip2921
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
329c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
329d : 26                   >        db      test_num
 
                            >
 
329e :                      >skip2921
                            >
                            >
2c18 : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  328
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
329e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2c19 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
329f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2c1b : dd5702           [ 4]>            cmp absflo,x    ;test flags
32a1 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2c1e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
32a4 : f002             [ 3]>        beq skip2924
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
32a6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
32a7 : 26                   >        db      test_num
 
                            >
 
32a8 :                      >skip2924
                            >
                            >
 
 
2c20 : ca               [ 2]         dex
32a8 : ca               [ 2]         dex
2c21 : 10e1             [ 3]         bpl tand1
32a9 : 10dd             [ 3]         bpl tand1
 
 
2c23 : a203             [ 2]         ldx #3      ;zp
32ab : a203             [ 2]         ldx #3      ;zp
2c25 : b51c             [ 4] tand2    lda zpAN,x
32ad : b5c2             [ 4] tand2    lda zpAN,x
2c27 : 850c             [ 3]         sta zpt
32af : 85b2             [ 3]         sta zpt
                                     set_ax  absANa,0
                                     set_ax  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2c29 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
32b1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2c2b : 48               [ 3]>            pha         ;use stack to load status
32b3 : 48               [ 3]>            pha         ;use stack to load status
2c2c : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
32b4 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2c2f : 28               [ 4]>            plp
32b7 : 28               [ 4]>            plp
 
 
2c30 : 250c             [ 3]         and zpt
32b8 : 25b2             [ 3]         and zpt
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2c32 : 08               [ 3]>            php         ;save flags
32ba : 08               [ 3]>            php         ;save flags
2c33 : dd5302           [ 4]>            cmp absrlo,x    ;test result
32bb : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2c36 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
32be : f002             [ 3]>        beq skip2929
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
32c0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
32c1 : 26                   >        db      test_num
 
                            >
 
32c2 :                      >skip2929
                            >
                            >
2c38 : 68               [ 4]>            pla         ;load status
32c2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2c39 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
32c3 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2c3b : dd5702           [ 4]>            cmp absflo,x    ;test flags
32c5 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2c3e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
32c8 : f002             [ 3]>        beq skip2932
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  214
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
32ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
32cb : 26                   >        db      test_num
 
                            >
 
32cc :                      >skip2932
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  329
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
 
 
2c40 : ca               [ 2]         dex
32cc : ca               [ 2]         dex
2c41 : 10e2             [ 3]         bpl tand2
32cd : 10de             [ 3]         bpl tand2
2c43 : a203             [ 2]         ldx #3
32cf : a203             [ 2]         ldx #3
2c45 : b51c             [ 4] tand3   lda zpAN,x
32d1 : b5c2             [ 4] tand3   lda zpAN,x
2c47 : 850c             [ 3]         sta zpt
32d3 : 85b2             [ 3]         sta zpt
                                     set_ax  absANa,$ff
                                     set_ax  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2c49 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
32d5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2c4b : 48               [ 3]>            pha         ;use stack to load status
32d7 : 48               [ 3]>            pha         ;use stack to load status
2c4c : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
32d8 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2c4f : 28               [ 4]>            plp
32db : 28               [ 4]>            plp
 
 
2c50 : 250c             [ 3]         and zpt
32dc : 25b2             [ 3]         and zpt
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2c52 : 08               [ 3]>            php         ;save flags
32de : 08               [ 3]>            php         ;save flags
2c53 : dd5302           [ 4]>            cmp absrlo,x    ;test result
32df : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2c56 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
32e2 : f002             [ 3]>        beq skip2937
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
32e4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
32e5 : 26                   >        db      test_num
                            >
                            >
2c58 : 68               [ 4]>            pla         ;load status
32e6 :                      >skip2937
 
                            >
 
32e6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2c59 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
32e7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2c5b : dd5702           [ 4]>            cmp absflo,x    ;test flags
32e9 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2c5e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
32ec : f002             [ 3]>        beq skip2940
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
32ee : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
32ef : 26                   >        db      test_num
 
                            >
 
32f0 :                      >skip2940
                            >
                            >
 
 
2c60 : ca               [ 2]         dex
32f0 : ca               [ 2]         dex
2c61 : 10e2             [ 3]         bpl tand3
32f1 : 10de             [ 3]         bpl tand3
 
 
2c63 : a203             [ 2]         ldx #3      ;abs
32f3 : a203             [ 2]         ldx #3      ;abs
2c65 : b51c             [ 4] tand4   lda zpAN,x
32f5 : b5c2             [ 4] tand4   lda zpAN,x
2c67 : 8d0302           [ 4]         sta abst
32f7 : 8d0302           [ 4]         sta abst
                                     set_ax  absANa,0
                                     set_ax  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2c6a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
32fa : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2c6c : 48               [ 3]>            pha         ;use stack to load status
32fc : 48               [ 3]>            pha         ;use stack to load status
2c6d : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
32fd : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2c70 : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  330
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3300 : 28               [ 4]>            plp
 
 
2c71 : 2d0302           [ 4]         and abst
3301 : 2d0302           [ 4]         and abst
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2c74 : 08               [ 3]>            php         ;save flags
3304 : 08               [ 3]>            php         ;save flags
2c75 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3305 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2c78 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3308 : f002             [ 3]>        beq skip2945
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
330a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
330b : 26                   >        db      test_num
                            >
                            >
2c7a : 68               [ 4]>            pla         ;load status
330c :                      >skip2945
 
                            >
 
330c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2c7b : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
330d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  215
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
2c7d : dd5702           [ 4]>            cmp absflo,x    ;test flags
330f : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2c80 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3312 : f002             [ 3]>        beq skip2948
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3314 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3315 : 26                   >        db      test_num
 
                            >
 
3316 :                      >skip2948
                            >
                            >
 
 
2c82 : ca               [ 2]         dex
3316 : ca               [ 2]         dex
2c83 : 10e0             [ 3]         bpl tand4
3317 : 10dc             [ 4]         bpl tand4
2c85 : a203             [ 2]         ldx #3
3319 : a203             [ 2]         ldx #3
2c87 : b51c             [ 4] tand5   lda zpAN,x
331b : b5c2             [ 4] tand5   lda zpAN,x
2c89 : 8d0302           [ 4]         sta abst
331d : 8d0302           [ 4]         sta abst
                                     set_ax  absANa,$ff
                                     set_ax  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2c8c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3320 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2c8e : 48               [ 3]>            pha         ;use stack to load status
3322 : 48               [ 3]>            pha         ;use stack to load status
2c8f : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
3323 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2c92 : 28               [ 4]>            plp
3326 : 28               [ 4]>            plp
 
 
2c93 : 2d0302           [ 4]         and abst
3327 : 2d0302           [ 4]         and abst
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2c96 : 08               [ 3]>            php         ;save flags
332a : 08               [ 3]>            php         ;save flags
2c97 : dd5302           [ 4]>            cmp absrlo,x    ;test result
332b : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2c9a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
332e : f002             [ 3]>        beq skip2953
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3330 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3331 : 26                   >        db      test_num
                            >
                            >
2c9c : 68               [ 4]>            pla         ;load status
3332 :                      >skip2953
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  331
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
3332 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2c9d : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3333 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2c9f : dd5702           [ 4]>            cmp absflo,x    ;test flags
3335 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2ca2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3338 : f002             [ 3]>        beq skip2956
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
333a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
333b : 26                   >        db      test_num
 
                            >
 
333c :                      >skip2956
                            >
                            >
 
 
2ca4 : ca               [ 2]         dex
333c : ca               [ 2]         dex
2ca5 : 1002             [ 3]         bpl tand6
333d : 1002             [ 3]         bpl tand6
 
 
2ca7 : a203             [ 2]         ldx #3      ;zp,x
333f : a203             [ 2]         ldx #3      ;zp,x
2ca9 :                       tand6
3341 :                       tand6
                                     set_ax  absANa,0
                                     set_ax  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2ca9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3341 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2cab : 48               [ 3]>            pha         ;use stack to load status
3343 : 48               [ 3]>            pha         ;use stack to load status
2cac : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
3344 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2caf : 28               [ 4]>            plp
3347 : 28               [ 4]>            plp
 
 
2cb0 : 351c             [ 4]         and zpAN,x
3348 : 35c2             [ 4]         and zpAN,x
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2cb2 : 08               [ 3]>            php         ;save flags
334a : 08               [ 3]>            php         ;save flags
2cb3 : dd5302           [ 4]>            cmp absrlo,x    ;test result
334b : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2cb6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
334e : f002             [ 3]>        beq skip2961
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3350 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3351 : 26                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  216
3352 :                      >skip2961
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >
 
3352 : 68               [ 4]>            pla         ;load status
2cb8 : 68               [ 4]>            pla         ;load status
 
                            >            eor_flag 0
                            >            eor_flag 0
2cb9 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3353 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2cbb : dd5702           [ 4]>            cmp absflo,x    ;test flags
3355 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2cbe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3358 : f002             [ 3]>        beq skip2964
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
335a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
335b : 26                   >        db      test_num
 
                            >
 
335c :                      >skip2964
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  332
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >
                            >
 
 
2cc0 : ca               [ 2]         dex
335c : ca               [ 2]         dex
2cc1 : 10e6             [ 3]         bpl tand6
335d : 10e2             [ 3]         bpl tand6
2cc3 : a203             [ 2]         ldx #3
335f : a203             [ 2]         ldx #3
2cc5 :                       tand7
3361 :                       tand7
                                     set_ax  absANa,$ff
                                     set_ax  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2cc5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3361 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2cc7 : 48               [ 3]>            pha         ;use stack to load status
3363 : 48               [ 3]>            pha         ;use stack to load status
2cc8 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
3364 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2ccb : 28               [ 4]>            plp
3367 : 28               [ 4]>            plp
 
 
2ccc : 351c             [ 4]         and zpAN,x
3368 : 35c2             [ 4]         and zpAN,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2cce : 08               [ 3]>            php         ;save flags
336a : 08               [ 3]>            php         ;save flags
2ccf : dd5302           [ 4]>            cmp absrlo,x    ;test result
336b : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2cd2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
336e : f002             [ 3]>        beq skip2969
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3370 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3371 : 26                   >        db      test_num
 
                            >
 
3372 :                      >skip2969
                            >
                            >
2cd4 : 68               [ 4]>            pla         ;load status
3372 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2cd5 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3373 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2cd7 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3375 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2cda : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3378 : f002             [ 3]>        beq skip2972
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
337a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
337b : 26                   >        db      test_num
 
                            >
 
337c :                      >skip2972
                            >
                            >
 
 
2cdc : ca               [ 2]         dex
337c : ca               [ 2]         dex
2cdd : 10e6             [ 3]         bpl tand7
337d : 10e2             [ 3]         bpl tand7
 
 
2cdf : a203             [ 2]         ldx #3      ;abs,x
337f : a203             [ 2]         ldx #3      ;abs,x
2ce1 :                       tand8
3381 :                       tand8
                                     set_ax  absANa,0
                                     set_ax  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2ce1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3381 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2ce3 : 48               [ 3]>            pha         ;use stack to load status
3383 : 48               [ 3]>            pha         ;use stack to load status
2ce4 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
3384 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2ce7 : 28               [ 4]>            plp
3387 : 28               [ 4]>            plp
 
 
2ce8 : 3d3f02           [ 4]         and absAN,x
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  333
                                     tst_ax  absrlo,absflo,0
 
2ceb : 08               [ 3]>            php         ;save flags
 
2cec : dd5302           [ 4]>            cmp absrlo,x    ;test result
 
                            >            trap_ne
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  217
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2cef : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3388 : 3d3f02           [ 4]         and absAN,x
 
                                     tst_ax  absrlo,absflo,0
 
338b : 08               [ 3]>            php         ;save flags
 
338c : dd5302           [ 4]>            cmp absrlo,x    ;test result
 
                            >            trap_ne
 
338f : f002             [ 3]>        beq skip2977
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3391 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3392 : 26                   >        db      test_num
                            >
                            >
2cf1 : 68               [ 4]>            pla         ;load status
3393 :                      >skip2977
 
                            >
 
3393 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2cf2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3394 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2cf4 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3396 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2cf7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3399 : f002             [ 3]>        beq skip2980
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
339b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
339c : 26                   >        db      test_num
 
                            >
 
339d :                      >skip2980
                            >
                            >
 
 
2cf9 : ca               [ 2]         dex
339d : ca               [ 2]         dex
2cfa : 10e5             [ 3]         bpl tand8
339e : 10e1             [ 3]         bpl tand8
2cfc : a203             [ 2]         ldx #3
33a0 : a203             [ 2]         ldx #3
2cfe :                       tand9
33a2 :                       tand9
                                     set_ax  absANa,$ff
                                     set_ax  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2cfe : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
33a2 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2d00 : 48               [ 3]>            pha         ;use stack to load status
33a4 : 48               [ 3]>            pha         ;use stack to load status
2d01 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
33a5 : bd4b02           [ 4]>            lda absANa,x    ;precharge accu
2d04 : 28               [ 4]>            plp
33a8 : 28               [ 4]>            plp
 
 
2d05 : 3d3f02           [ 4]         and absAN,x
33a9 : 3d3f02           [ 4]         and absAN,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2d08 : 08               [ 3]>            php         ;save flags
33ac : 08               [ 3]>            php         ;save flags
2d09 : dd5302           [ 4]>            cmp absrlo,x    ;test result
33ad : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2d0c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33b0 : f002             [ 3]>        beq skip2985
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33b2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33b3 : 26                   >        db      test_num
 
                            >
 
33b4 :                      >skip2985
                            >
                            >
2d0e : 68               [ 4]>            pla         ;load status
33b4 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2d0f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  334
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
33b5 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2d11 : dd5702           [ 4]>            cmp absflo,x    ;test flags
33b7 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2d14 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33ba : f002             [ 3]>        beq skip2988
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33bc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33bd : 26                   >        db      test_num
 
                            >
 
33be :                      >skip2988
                            >
                            >
 
 
2d16 : ca               [ 2]         dex
33be : ca               [ 2]         dex
2d17 : 10e5             [ 4]         bpl tand9
33bf : 10e1             [ 3]         bpl tand9
 
 
2d19 : a003             [ 2]         ldy #3      ;abs,y
33c1 : a003             [ 2]         ldy #3      ;abs,y
2d1b :                       tand10
33c3 :                       tand10
                                     set_ay  absANa,0
                                     set_ay  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2d1b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
33c3 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2d1d : 48               [ 3]>            pha         ;use stack to load status
33c5 : 48               [ 3]>            pha         ;use stack to load status
2d1e : b94b02           [ 4]>            lda absANa,y    ;precharge accu
33c6 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2d21 : 28               [ 4]>            plp
33c9 : 28               [ 4]>            plp
 
 
2d22 : 393f02           [ 4]         and absAN,y
33ca : 393f02           [ 4]         and absAN,y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
2d25 : 08               [ 3]>            php         ;save flags
33cd : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  218
33ce : d95302           [ 4]>            cmp absrlo,y    ;test result
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2d26 : d95302           [ 4]>            cmp absrlo,y    ;test result
 
                            >            trap_ne     ;
                            >            trap_ne     ;
2d29 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33d1 : f002             [ 3]>        beq skip2993
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33d3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33d4 : 26                   >        db      test_num
                            >
                            >
2d2b : 68               [ 4]>            pla         ;load status
33d5 :                      >skip2993
 
                            >
 
33d5 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2d2c : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
33d6 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2d2e : d95702           [ 4]>            cmp absflo,y    ;test flags
33d8 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2d31 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33db : f002             [ 3]>        beq skip2996
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33dd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33de : 26                   >        db      test_num
 
                            >
 
33df :                      >skip2996
                            >
                            >
 
 
2d33 : 88               [ 2]         dey
33df : 88               [ 2]         dey
2d34 : 10e5             [ 3]         bpl tand10
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  335
2d36 : a003             [ 2]         ldy #3
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
2d38 :                       tand11
 
 
33e0 : 10e1             [ 3]         bpl tand10
 
33e2 : a003             [ 2]         ldy #3
 
33e4 :                       tand11
                                     set_ay  absANa,$ff
                                     set_ay  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2d38 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
33e4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2d3a : 48               [ 3]>            pha         ;use stack to load status
33e6 : 48               [ 3]>            pha         ;use stack to load status
2d3b : b94b02           [ 4]>            lda absANa,y    ;precharge accu
33e7 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2d3e : 28               [ 4]>            plp
33ea : 28               [ 4]>            plp
 
 
2d3f : 393f02           [ 4]         and absAN,y
33eb : 393f02           [ 4]         and absAN,y
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2d42 : 08               [ 3]>            php         ;save flags
33ee : 08               [ 3]>            php         ;save flags
2d43 : d95302           [ 4]>            cmp absrlo,y    ;test result
33ef : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2d46 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33f2 : f002             [ 3]>        beq skip3001
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33f4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33f5 : 26                   >        db      test_num
                            >
                            >
2d48 : 68               [ 4]>            pla         ;load status
33f6 :                      >skip3001
 
                            >
 
33f6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2d49 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
33f7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2d4b : d95702           [ 4]>            cmp absflo,y    ;test flags
33f9 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2d4e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
33fc : f002             [ 4]>        beq skip3004
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
33fe : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
33ff : 26                   >        db      test_num
 
                            >
 
3400 :                      >skip3004
                            >
                            >
 
 
2d50 : 88               [ 2]         dey
3400 : 88               [ 2]         dey
2d51 : 10e5             [ 3]         bpl tand11
3401 : 10e1             [ 4]         bpl tand11
 
 
2d53 : a206             [ 2]         ldx #6      ;(zp,x)
3403 : a206             [ 2]         ldx #6      ;(zp,x)
2d55 : a003             [ 2]         ldy #3
3405 : a003             [ 2]         ldy #3
2d57 :                       tand12
3407 :                       tand12
                                     set_ay  absANa,0
                                     set_ay  absANa,0
                            >            load_flag 0
                            >            load_flag 0
2d57 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3407 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2d59 : 48               [ 3]>            pha         ;use stack to load status
3409 : 48               [ 3]>            pha         ;use stack to load status
2d5a : b94b02           [ 4]>            lda absANa,y    ;precharge accu
340a : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2d5d : 28               [ 4]>            plp
340d : 28               [ 4]>            plp
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  219
340e : 21e0             [ 6]         and (indAN,x)
 
                                     tst_ay  absrlo,absflo,0
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  336
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2d5e : 213a             [ 6]         and (indAN,x)
3410 : 08               [ 3]>            php         ;save flags
                                     tst_ay  absrlo,absflo,0
3411 : d95302           [ 4]>            cmp absrlo,y    ;test result
2d60 : 08               [ 3]>            php         ;save flags
 
2d61 : d95302           [ 4]>            cmp absrlo,y    ;test result
 
                            >            trap_ne     ;
                            >            trap_ne     ;
2d64 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3414 : f002             [ 3]>        beq skip3009
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3416 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3417 : 26                   >        db      test_num
 
                            >
 
3418 :                      >skip3009
                            >
                            >
2d66 : 68               [ 4]>            pla         ;load status
3418 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2d67 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3419 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2d69 : d95702           [ 4]>            cmp absflo,y    ;test flags
341b : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2d6c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
341e : f002             [ 3]>        beq skip3012
                            >
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
2d6e : ca               [ 2]         dex
3420 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
2d6f : ca               [ 2]         dex
3421 : 26                   >        db      test_num
2d70 : 88               [ 2]         dey
                            >
2d71 : 10e4             [ 3]         bpl tand12
3422 :                      >skip3012
2d73 : a206             [ 2]         ldx #6
                            >
2d75 : a003             [ 2]         ldy #3
 
2d77 :                       tand13
3422 : ca               [ 2]         dex
 
3423 : ca               [ 2]         dex
 
3424 : 88               [ 2]         dey
 
3425 : 10e0             [ 3]         bpl tand12
 
3427 : a206             [ 2]         ldx #6
 
3429 : a003             [ 2]         ldy #3
 
342b :                       tand13
                                     set_ay  absANa,$ff
                                     set_ay  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2d77 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
342b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2d79 : 48               [ 3]>            pha         ;use stack to load status
342d : 48               [ 3]>            pha         ;use stack to load status
2d7a : b94b02           [ 4]>            lda absANa,y    ;precharge accu
342e : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2d7d : 28               [ 4]>            plp
3431 : 28               [ 4]>            plp
 
 
2d7e : 213a             [ 6]         and (indAN,x)
3432 : 21e0             [ 6]         and (indAN,x)
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2d80 : 08               [ 3]>            php         ;save flags
3434 : 08               [ 3]>            php         ;save flags
2d81 : d95302           [ 4]>            cmp absrlo,y    ;test result
3435 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2d84 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3438 : f002             [ 3]>        beq skip3017
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
343a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
343b : 26                   >        db      test_num
 
                            >
 
343c :                      >skip3017
                            >
                            >
2d86 : 68               [ 4]>            pla         ;load status
343c : 68               [ 4]>            pla         ;load status
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  337
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2d87 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
343d : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2d89 : d95702           [ 4]>            cmp absflo,y    ;test flags
343f : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2d8c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3442 : f002             [ 3]>        beq skip3020
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3444 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3445 : 26                   >        db      test_num
 
                            >
 
3446 :                      >skip3020
                            >
                            >
 
 
2d8e : ca               [ 2]         dex
3446 : ca               [ 2]         dex
2d8f : ca               [ 2]         dex
3447 : ca               [ 2]         dex
2d90 : 88               [ 2]         dey
3448 : 88               [ 2]         dey
2d91 : 10e4             [ 3]         bpl tand13
3449 : 10e0             [ 3]         bpl tand13
 
 
2d93 : a003             [ 2]         ldy #3      ;(zp),y
344b : a003             [ 2]         ldy #3      ;(zp),y
2d95 :                       tand14
344d :                       tand14
                                     set_ay  absANa,0
                                     set_ay  absANa,0
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  220
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >            load_flag 0
                            >            load_flag 0
2d95 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
344d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2d97 : 48               [ 3]>            pha         ;use stack to load status
344f : 48               [ 3]>            pha         ;use stack to load status
2d98 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
3450 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2d9b : 28               [ 4]>            plp
3453 : 28               [ 4]>            plp
 
 
2d9c : 313a             [ 5]         and (indAN),y
3454 : 31e0             [ 5]         and (indAN),y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
2d9e : 08               [ 3]>            php         ;save flags
3456 : 08               [ 3]>            php         ;save flags
2d9f : d95302           [ 4]>            cmp absrlo,y    ;test result
3457 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2da2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
345a : f002             [ 3]>        beq skip3025
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
345c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
345d : 26                   >        db      test_num
                            >
                            >
2da4 : 68               [ 4]>            pla         ;load status
345e :                      >skip3025
 
                            >
 
345e : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2da5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
345f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2da7 : d95702           [ 4]>            cmp absflo,y    ;test flags
3461 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2daa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3464 : f002             [ 3]>        beq skip3028
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3466 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3467 : 26                   >        db      test_num
                            >
                            >
 
3468 :                      >skip3028
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  338
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2dac : 88               [ 2]         dey
                            >
2dad : 10e6             [ 3]         bpl tand14
 
2daf : a003             [ 2]         ldy #3
3468 : 88               [ 2]         dey
2db1 :                       tand15
3469 : 10e2             [ 3]         bpl tand14
 
346b : a003             [ 2]         ldy #3
 
346d :                       tand15
                                     set_ay  absANa,$ff
                                     set_ay  absANa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2db1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
346d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2db3 : 48               [ 3]>            pha         ;use stack to load status
346f : 48               [ 3]>            pha         ;use stack to load status
2db4 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
3470 : b94b02           [ 4]>            lda absANa,y    ;precharge accu
2db7 : 28               [ 4]>            plp
3473 : 28               [ 4]>            plp
 
 
2db8 : 313a             [ 5]         and (indAN),y
3474 : 31e0             [ 5]         and (indAN),y
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2dba : 08               [ 3]>            php         ;save flags
3476 : 08               [ 3]>            php         ;save flags
2dbb : d95302           [ 4]>            cmp absrlo,y    ;test result
3477 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2dbe : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
347a : f002             [ 3]>        beq skip3033
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
347c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
347d : 26                   >        db      test_num
 
                            >
 
347e :                      >skip3033
                            >
                            >
2dc0 : 68               [ 4]>            pla         ;load status
347e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2dc1 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
347f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2dc3 : d95702           [ 4]>            cmp absflo,y    ;test flags
3481 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2dc6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3484 : f002             [ 3]>        beq skip3036
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3486 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3487 : 26                   >        db      test_num
 
                            >
 
3488 :                      >skip3036
                            >
                            >
 
 
2dc8 : 88               [ 2]         dey
3488 : 88               [ 2]         dey
2dc9 : 10e6             [ 3]         bpl tand15
3489 : 10e2             [ 3]         bpl tand15
                                     next_test
                                     next_test
2dcb : ad0002           [ 4]>            lda test_case   ;previous test
348b : ad0002           [ 4]>            lda test_case   ;previous test
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  221
348e : c926             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
 
3490 : f002             [ 3]>        beq skip3039
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3492 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3493 : 26                   >        db      test_num
 
                            >
 
3494 :                      >skip3039
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  339
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2dce : c926             [ 2]>            cmp #test_num
 
                            >            trap_ne         ;test is out of sequence
 
2dd0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
                            >
                            >
0027 =                      >test_num = test_num + 1
0027 =                      >test_num = test_num + 1
2dd2 : a927             [ 2]>            lda #test_num   ;*** this tests' number
3494 : a927             [ 2]>            lda #test_num   ;*** this tests' number
2dd4 : 8d0002           [ 4]>            sta test_case
3496 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; EOR
                             ; EOR
2dd7 : a203             [ 2]         ldx #3      ;immediate - self modifying code
 
2dd9 : b520             [ 4] teor    lda zpEO,x
3499 : a203             [ 2]         ldx #3      ;immediate - self modifying code
2ddb : 8de62d           [ 4]         sta teori1
349b : b5c6             [ 4] teor    lda zpEO,x
 
349d : 8da834           [ 4]         sta teori1
                                     set_ax  absEOa,0
                                     set_ax  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2dde : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
34a0 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2de0 : 48               [ 3]>            pha         ;use stack to load status
34a2 : 48               [ 3]>            pha         ;use stack to load status
2de1 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
34a3 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2de4 : 28               [ 4]>            plp
34a6 : 28               [ 4]>            plp
 
 
2de6 =                       teori1  equ *+1     ;target for immediate operand
34a8 =                       teori1  equ *+1     ;target for immediate operand
2de5 : 4963             [ 2]         eor #99
34a7 : 4963             [ 2]         eor #99
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2de7 : 08               [ 3]>            php         ;save flags
34a9 : 08               [ 3]>            php         ;save flags
2de8 : dd5302           [ 4]>            cmp absrlo,x    ;test result
34aa : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2deb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
34ad : f002             [ 3]>        beq skip3044
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
34af : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
34b0 : 27                   >        db      test_num
 
                            >
 
34b1 :                      >skip3044
                            >
                            >
2ded : 68               [ 4]>            pla         ;load status
34b1 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2dee : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
34b2 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2df0 : dd5702           [ 4]>            cmp absflo,x    ;test flags
34b4 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2df3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
34b7 : f002             [ 3]>        beq skip3047
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
34b9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
34ba : 27                   >        db      test_num
 
                            >
 
34bb :                      >skip3047
                            >
                            >
 
 
2df5 : ca               [ 2]         dex
34bb : ca               [ 2]         dex
2df6 : 10e1             [ 3]         bpl teor
34bc : 10dd             [ 3]         bpl teor
2df8 : a203             [ 2]         ldx #3
34be : a203             [ 2]         ldx #3
2dfa : b520             [ 4] teor1   lda zpEO,x
34c0 : b5c6             [ 4] teor1   lda zpEO,x
2dfc : 8d072e           [ 4]         sta teori2
34c2 : 8dcd34           [ 4]         sta teori2
                                     set_ax  absEOa,$ff
                                     set_ax  absEOa,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  340
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                            >            load_flag $ff
                            >            load_flag $ff
2dff : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
34c5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2e01 : 48               [ 3]>            pha         ;use stack to load status
34c7 : 48               [ 3]>            pha         ;use stack to load status
2e02 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
34c8 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2e05 : 28               [ 4]>            plp
34cb : 28               [ 4]>            plp
 
 
2e07 =                       teori2  equ *+1     ;target for immediate operand
34cd =                       teori2  equ *+1     ;target for immediate operand
2e06 : 4963             [ 2]         eor #99
34cc : 4963             [ 2]         eor #99
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  222
34ce : 08               [ 3]>            php         ;save flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
34cf : dd5302           [ 4]>            cmp absrlo,x    ;test result
 
 
2e08 : 08               [ 3]>            php         ;save flags
 
2e09 : dd5302           [ 4]>            cmp absrlo,x    ;test result
 
                            >            trap_ne
                            >            trap_ne
2e0c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
34d2 : f002             [ 3]>        beq skip3052
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
34d4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
34d5 : 27                   >        db      test_num
 
                            >
 
34d6 :                      >skip3052
                            >
                            >
2e0e : 68               [ 4]>            pla         ;load status
34d6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2e0f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
34d7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2e11 : dd5702           [ 4]>            cmp absflo,x    ;test flags
34d9 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2e14 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
34dc : f002             [ 3]>        beq skip3055
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
34de : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
34df : 27                   >        db      test_num
 
                            >
 
34e0 :                      >skip3055
                            >
                            >
 
 
2e16 : ca               [ 2]         dex
34e0 : ca               [ 2]         dex
2e17 : 10e1             [ 4]         bpl teor1
34e1 : 10dd             [ 3]         bpl teor1
 
 
2e19 : a203             [ 2]         ldx #3      ;zp
34e3 : a203             [ 2]         ldx #3      ;zp
2e1b : b520             [ 4] teor2    lda zpEO,x
34e5 : b5c6             [ 4] teor2    lda zpEO,x
2e1d : 850c             [ 3]         sta zpt
34e7 : 85b2             [ 3]         sta zpt
                                     set_ax  absEOa,0
                                     set_ax  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2e1f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
34e9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2e21 : 48               [ 3]>            pha         ;use stack to load status
34eb : 48               [ 3]>            pha         ;use stack to load status
2e22 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
34ec : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2e25 : 28               [ 4]>            plp
34ef : 28               [ 4]>            plp
 
 
2e26 : 450c             [ 3]         eor zpt
34f0 : 45b2             [ 3]         eor zpt
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2e28 : 08               [ 3]>            php         ;save flags
34f2 : 08               [ 3]>            php         ;save flags
2e29 : dd5302           [ 4]>            cmp absrlo,x    ;test result
34f3 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2e2c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  341
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
34f6 : f002             [ 3]>        beq skip3060
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
34f8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
34f9 : 27                   >        db      test_num
                            >
                            >
2e2e : 68               [ 4]>            pla         ;load status
34fa :                      >skip3060
 
                            >
 
34fa : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2e2f : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
34fb : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2e31 : dd5702           [ 4]>            cmp absflo,x    ;test flags
34fd : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2e34 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3500 : f002             [ 3]>        beq skip3063
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3502 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3503 : 27                   >        db      test_num
 
                            >
 
3504 :                      >skip3063
                            >
                            >
 
 
2e36 : ca               [ 2]         dex
3504 : ca               [ 2]         dex
2e37 : 10e2             [ 3]         bpl teor2
3505 : 10de             [ 4]         bpl teor2
2e39 : a203             [ 2]         ldx #3
3507 : a203             [ 2]         ldx #3
2e3b : b520             [ 4] teor3   lda zpEO,x
3509 : b5c6             [ 4] teor3   lda zpEO,x
2e3d : 850c             [ 3]         sta zpt
350b : 85b2             [ 3]         sta zpt
                                     set_ax  absEOa,$ff
                                     set_ax  absEOa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2e3f : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
350d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2e41 : 48               [ 3]>            pha         ;use stack to load status
350f : 48               [ 3]>            pha         ;use stack to load status
2e42 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
3510 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  223
3513 : 28               [ 4]>            plp
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2e45 : 28               [ 4]>            plp
 
 
 
2e46 : 450c             [ 3]         eor zpt
3514 : 45b2             [ 3]         eor zpt
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2e48 : 08               [ 3]>            php         ;save flags
3516 : 08               [ 3]>            php         ;save flags
2e49 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3517 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2e4c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
351a : f002             [ 3]>        beq skip3068
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
351c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
351d : 27                   >        db      test_num
 
                            >
 
351e :                      >skip3068
                            >
                            >
2e4e : 68               [ 4]>            pla         ;load status
351e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2e4f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
351f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2e51 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3521 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2e54 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  342
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3524 : f002             [ 3]>        beq skip3071
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3526 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3527 : 27                   >        db      test_num
 
                            >
 
3528 :                      >skip3071
                            >
                            >
 
 
2e56 : ca               [ 2]         dex
3528 : ca               [ 2]         dex
2e57 : 10e2             [ 3]         bpl teor3
3529 : 10de             [ 3]         bpl teor3
 
 
2e59 : a203             [ 2]         ldx #3      ;abs
352b : a203             [ 2]         ldx #3      ;abs
2e5b : b520             [ 4] teor4   lda zpEO,x
352d : b5c6             [ 4] teor4   lda zpEO,x
2e5d : 8d0302           [ 4]         sta abst
352f : 8d0302           [ 4]         sta abst
                                     set_ax  absEOa,0
                                     set_ax  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2e60 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3532 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2e62 : 48               [ 3]>            pha         ;use stack to load status
3534 : 48               [ 3]>            pha         ;use stack to load status
2e63 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
3535 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2e66 : 28               [ 4]>            plp
3538 : 28               [ 4]>            plp
 
 
2e67 : 4d0302           [ 4]         eor abst
3539 : 4d0302           [ 4]         eor abst
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2e6a : 08               [ 3]>            php         ;save flags
353c : 08               [ 3]>            php         ;save flags
2e6b : dd5302           [ 4]>            cmp absrlo,x    ;test result
353d : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2e6e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3540 : f002             [ 3]>        beq skip3076
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3542 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3543 : 27                   >        db      test_num
                            >
                            >
2e70 : 68               [ 4]>            pla         ;load status
3544 :                      >skip3076
 
                            >
 
3544 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2e71 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3545 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2e73 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3547 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2e76 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
354a : f002             [ 3]>        beq skip3079
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
354c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
354d : 27                   >        db      test_num
 
                            >
 
354e :                      >skip3079
                            >
                            >
 
 
2e78 : ca               [ 2]         dex
354e : ca               [ 2]         dex
2e79 : 10e0             [ 3]         bpl teor4
354f : 10dc             [ 3]         bpl teor4
2e7b : a203             [ 2]         ldx #3
3551 : a203             [ 2]         ldx #3
2e7d : b520             [ 4] teor5   lda zpEO,x
3553 : b5c6             [ 4] teor5   lda zpEO,x
2e7f : 8d0302           [ 4]         sta abst
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  343
                                     set_ax  absEOa,$ff
 
                            >            load_flag $ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  224
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2e82 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3555 : 8d0302           [ 4]         sta abst
 
                                     set_ax  absEOa,$ff
 
                            >            load_flag $ff
 
3558 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2e84 : 48               [ 3]>            pha         ;use stack to load status
355a : 48               [ 3]>            pha         ;use stack to load status
2e85 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
355b : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2e88 : 28               [ 4]>            plp
355e : 28               [ 4]>            plp
 
 
2e89 : 4d0302           [ 4]         eor abst
355f : 4d0302           [ 4]         eor abst
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2e8c : 08               [ 3]>            php         ;save flags
3562 : 08               [ 3]>            php         ;save flags
2e8d : dd5302           [ 4]>            cmp absrlo,x    ;test result
3563 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2e90 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3566 : f002             [ 3]>        beq skip3084
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3568 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3569 : 27                   >        db      test_num
 
                            >
 
356a :                      >skip3084
                            >
                            >
2e92 : 68               [ 4]>            pla         ;load status
356a : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2e93 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
356b : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2e95 : dd5702           [ 4]>            cmp absflo,x    ;test flags
356d : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2e98 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3570 : f002             [ 3]>        beq skip3087
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3572 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3573 : 27                   >        db      test_num
 
                            >
 
3574 :                      >skip3087
                            >
                            >
 
 
2e9a : ca               [ 2]         dex
3574 : ca               [ 2]         dex
2e9b : 1002             [ 3]         bpl teor6
3575 : 1002             [ 3]         bpl teor6
 
 
2e9d : a203             [ 2]         ldx #3      ;zp,x
3577 : a203             [ 2]         ldx #3      ;zp,x
2e9f :                       teor6
3579 :                       teor6
                                     set_ax  absEOa,0
                                     set_ax  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2e9f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3579 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2ea1 : 48               [ 3]>            pha         ;use stack to load status
357b : 48               [ 3]>            pha         ;use stack to load status
2ea2 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
357c : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2ea5 : 28               [ 4]>            plp
357f : 28               [ 4]>            plp
 
 
2ea6 : 5520             [ 4]         eor zpEO,x
3580 : 55c6             [ 4]         eor zpEO,x
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2ea8 : 08               [ 3]>            php         ;save flags
3582 : 08               [ 3]>            php         ;save flags
2ea9 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3583 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2eac : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  344
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3586 : f002             [ 3]>        beq skip3092
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3588 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3589 : 27                   >        db      test_num
                            >
                            >
2eae : 68               [ 4]>            pla         ;load status
358a :                      >skip3092
 
                            >
 
358a : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2eaf : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
358b : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2eb1 : dd5702           [ 4]>            cmp absflo,x    ;test flags
358d : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2eb4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3590 : f002             [ 3]>        beq skip3095
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3592 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3593 : 27                   >        db      test_num
 
                            >
 
3594 :                      >skip3095
                            >
                            >
 
 
2eb6 : ca               [ 2]         dex
3594 : ca               [ 2]         dex
2eb7 : 10e6             [ 3]         bpl teor6
3595 : 10e2             [ 3]         bpl teor6
2eb9 : a203             [ 2]         ldx #3
3597 : a203             [ 2]         ldx #3
2ebb :                       teor7
3599 :                       teor7
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  225
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                                     set_ax  absEOa,$ff
                                     set_ax  absEOa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2ebb : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3599 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2ebd : 48               [ 3]>            pha         ;use stack to load status
359b : 48               [ 3]>            pha         ;use stack to load status
2ebe : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
359c : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2ec1 : 28               [ 4]>            plp
359f : 28               [ 4]>            plp
 
 
2ec2 : 5520             [ 4]         eor zpEO,x
35a0 : 55c6             [ 4]         eor zpEO,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2ec4 : 08               [ 3]>            php         ;save flags
35a2 : 08               [ 3]>            php         ;save flags
2ec5 : dd5302           [ 4]>            cmp absrlo,x    ;test result
35a3 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2ec8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35a6 : f002             [ 3]>        beq skip3100
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35a8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35a9 : 27                   >        db      test_num
 
                            >
 
35aa :                      >skip3100
                            >
                            >
2eca : 68               [ 4]>            pla         ;load status
35aa : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2ecb : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
35ab : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2ecd : dd5702           [ 4]>            cmp absflo,x    ;test flags
35ad : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2ed0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35b0 : f002             [ 3]>        beq skip3103
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  345
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35b2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35b3 : 27                   >        db      test_num
 
                            >
 
35b4 :                      >skip3103
                            >
                            >
 
 
2ed2 : ca               [ 2]         dex
35b4 : ca               [ 2]         dex
2ed3 : 10e6             [ 3]         bpl teor7
35b5 : 10e2             [ 3]         bpl teor7
 
 
2ed5 : a203             [ 2]         ldx #3      ;abs,x
35b7 : a203             [ 2]         ldx #3      ;abs,x
2ed7 :                       teor8
35b9 :                       teor8
                                     set_ax  absEOa,0
                                     set_ax  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2ed7 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
35b9 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2ed9 : 48               [ 3]>            pha         ;use stack to load status
35bb : 48               [ 3]>            pha         ;use stack to load status
2eda : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
35bc : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2edd : 28               [ 4]>            plp
35bf : 28               [ 4]>            plp
 
 
2ede : 5d4302           [ 4]         eor absEO,x
35c0 : 5d4302           [ 4]         eor absEO,x
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2ee1 : 08               [ 3]>            php         ;save flags
35c3 : 08               [ 3]>            php         ;save flags
2ee2 : dd5302           [ 4]>            cmp absrlo,x    ;test result
35c4 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2ee5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35c7 : f002             [ 3]>        beq skip3108
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35c9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35ca : 27                   >        db      test_num
                            >
                            >
2ee7 : 68               [ 4]>            pla         ;load status
35cb :                      >skip3108
 
                            >
 
35cb : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2ee8 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
35cc : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2eea : dd5702           [ 4]>            cmp absflo,x    ;test flags
35ce : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2eed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35d1 : f002             [ 3]>        beq skip3111
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35d3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35d4 : 27                   >        db      test_num
 
                            >
 
35d5 :                      >skip3111
                            >
                            >
 
 
2eef : ca               [ 2]         dex
35d5 : ca               [ 2]         dex
2ef0 : 10e5             [ 3]         bpl teor8
35d6 : 10e1             [ 3]         bpl teor8
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  226
35d8 : a203             [ 2]         ldx #3
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
35da :                       teor9
 
 
2ef2 : a203             [ 2]         ldx #3
 
2ef4 :                       teor9
 
                                     set_ax  absEOa,$ff
                                     set_ax  absEOa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2ef4 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  346
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
35da : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2ef6 : 48               [ 3]>            pha         ;use stack to load status
35dc : 48               [ 3]>            pha         ;use stack to load status
2ef7 : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
35dd : bd4f02           [ 4]>            lda absEOa,x    ;precharge accu
2efa : 28               [ 4]>            plp
35e0 : 28               [ 4]>            plp
 
 
2efb : 5d4302           [ 4]         eor absEO,x
35e1 : 5d4302           [ 4]         eor absEO,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2efe : 08               [ 3]>            php         ;save flags
35e4 : 08               [ 3]>            php         ;save flags
2eff : dd5302           [ 4]>            cmp absrlo,x    ;test result
35e5 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2f02 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35e8 : f002             [ 3]>        beq skip3116
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35ea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35eb : 27                   >        db      test_num
 
                            >
 
35ec :                      >skip3116
                            >
                            >
2f04 : 68               [ 4]>            pla         ;load status
35ec : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2f05 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
35ed : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2f07 : dd5702           [ 4]>            cmp absflo,x    ;test flags
35ef : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2f0a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
35f2 : f002             [ 3]>        beq skip3119
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
35f4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
35f5 : 27                   >        db      test_num
 
                            >
 
35f6 :                      >skip3119
                            >
                            >
 
 
2f0c : ca               [ 2]         dex
35f6 : ca               [ 2]         dex
2f0d : 10e5             [ 4]         bpl teor9
35f7 : 10e1             [ 3]         bpl teor9
 
 
2f0f : a003             [ 2]         ldy #3      ;abs,y
35f9 : a003             [ 2]         ldy #3      ;abs,y
2f11 :                       teor10
35fb :                       teor10
                                     set_ay  absEOa,0
                                     set_ay  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2f11 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
35fb : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2f13 : 48               [ 3]>            pha         ;use stack to load status
35fd : 48               [ 3]>            pha         ;use stack to load status
2f14 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
35fe : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2f17 : 28               [ 4]>            plp
3601 : 28               [ 4]>            plp
 
 
2f18 : 594302           [ 4]         eor absEO,y
3602 : 594302           [ 4]         eor absEO,y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
2f1b : 08               [ 3]>            php         ;save flags
3605 : 08               [ 3]>            php         ;save flags
2f1c : d95302           [ 4]>            cmp absrlo,y    ;test result
3606 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2f1f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3609 : f002             [ 3]>        beq skip3124
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  347
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
360b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
360c : 27                   >        db      test_num
                            >
                            >
2f21 : 68               [ 4]>            pla         ;load status
360d :                      >skip3124
 
                            >
 
360d : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2f22 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
360e : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2f24 : d95702           [ 4]>            cmp absflo,y    ;test flags
3610 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2f27 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3613 : f002             [ 3]>        beq skip3127
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3615 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3616 : 27                   >        db      test_num
 
                            >
 
3617 :                      >skip3127
                            >
                            >
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  227
3617 : 88               [ 2]         dey
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
3618 : 10e1             [ 4]         bpl teor10
 
361a : a003             [ 2]         ldy #3
2f29 : 88               [ 2]         dey
361c :                       teor11
2f2a : 10e5             [ 3]         bpl teor10
 
2f2c : a003             [ 2]         ldy #3
 
2f2e :                       teor11
 
                                     set_ay  absEOa,$ff
                                     set_ay  absEOa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2f2e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
361c : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2f30 : 48               [ 3]>            pha         ;use stack to load status
361e : 48               [ 3]>            pha         ;use stack to load status
2f31 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
361f : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2f34 : 28               [ 4]>            plp
3622 : 28               [ 4]>            plp
 
 
2f35 : 594302           [ 4]         eor absEO,y
3623 : 594302           [ 4]         eor absEO,y
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2f38 : 08               [ 3]>            php         ;save flags
3626 : 08               [ 3]>            php         ;save flags
2f39 : d95302           [ 4]>            cmp absrlo,y    ;test result
3627 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2f3c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
362a : f002             [ 3]>        beq skip3132
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
362c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
362d : 27                   >        db      test_num
 
                            >
 
362e :                      >skip3132
                            >
                            >
2f3e : 68               [ 4]>            pla         ;load status
362e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2f3f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
362f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2f41 : d95702           [ 4]>            cmp absflo,y    ;test flags
3631 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2f44 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3634 : f002             [ 3]>        beq skip3135
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3636 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  348
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3637 : 27                   >        db      test_num
 
                            >
 
3638 :                      >skip3135
                            >
                            >
 
 
2f46 : 88               [ 2]         dey
3638 : 88               [ 2]         dey
2f47 : 10e5             [ 3]         bpl teor11
3639 : 10e1             [ 3]         bpl teor11
 
 
2f49 : a206             [ 2]         ldx #6      ;(zp,x)
363b : a206             [ 2]         ldx #6      ;(zp,x)
2f4b : a003             [ 2]         ldy #3
363d : a003             [ 2]         ldy #3
2f4d :                       teor12
363f :                       teor12
                                     set_ay  absEOa,0
                                     set_ay  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2f4d : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
363f : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2f4f : 48               [ 3]>            pha         ;use stack to load status
3641 : 48               [ 3]>            pha         ;use stack to load status
2f50 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
3642 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2f53 : 28               [ 4]>            plp
3645 : 28               [ 4]>            plp
 
 
2f54 : 4142             [ 6]         eor (indEO,x)
3646 : 41e8             [ 6]         eor (indEO,x)
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
2f56 : 08               [ 3]>            php         ;save flags
3648 : 08               [ 3]>            php         ;save flags
2f57 : d95302           [ 4]>            cmp absrlo,y    ;test result
3649 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2f5a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
364c : f002             [ 3]>        beq skip3140
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
364e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
364f : 27                   >        db      test_num
                            >
                            >
2f5c : 68               [ 4]>            pla         ;load status
3650 :                      >skip3140
 
                            >
 
3650 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2f5d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3651 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2f5f : d95702           [ 4]>            cmp absflo,y    ;test flags
3653 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  228
3656 : f002             [ 3]>        beq skip3143
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3658 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3659 : 27                   >        db      test_num
 
                            >
 
365a :                      >skip3143
 
                            >
 
 
 
365a : ca               [ 2]         dex
 
365b : ca               [ 2]         dex
 
365c : 88               [ 2]         dey
 
365d : 10e0             [ 3]         bpl teor12
 
365f : a206             [ 2]         ldx #6
 
3661 : a003             [ 2]         ldy #3
 
3663 :                       teor13
 
                                     set_ay  absEOa,$ff
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  349
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
2f62 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
                            >
 
 
 
2f64 : ca               [ 2]         dex
 
2f65 : ca               [ 2]         dex
 
2f66 : 88               [ 2]         dey
 
2f67 : 10e4             [ 3]         bpl teor12
 
2f69 : a206             [ 2]         ldx #6
 
2f6b : a003             [ 2]         ldy #3
 
2f6d :                       teor13
 
                                     set_ay  absEOa,$ff
 
                            >            load_flag $ff
                            >            load_flag $ff
2f6d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3663 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2f6f : 48               [ 3]>            pha         ;use stack to load status
3665 : 48               [ 3]>            pha         ;use stack to load status
2f70 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
3666 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2f73 : 28               [ 4]>            plp
3669 : 28               [ 4]>            plp
 
 
2f74 : 4142             [ 6]         eor (indEO,x)
366a : 41e8             [ 6]         eor (indEO,x)
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2f76 : 08               [ 3]>            php         ;save flags
366c : 08               [ 3]>            php         ;save flags
2f77 : d95302           [ 4]>            cmp absrlo,y    ;test result
366d : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2f7a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3670 : f002             [ 3]>        beq skip3148
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3672 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3673 : 27                   >        db      test_num
 
                            >
 
3674 :                      >skip3148
                            >
                            >
2f7c : 68               [ 4]>            pla         ;load status
3674 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2f7d : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3675 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2f7f : d95702           [ 4]>            cmp absflo,y    ;test flags
3677 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2f82 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
367a : f002             [ 3]>        beq skip3151
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
367c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
367d : 27                   >        db      test_num
 
                            >
 
367e :                      >skip3151
                            >
                            >
 
 
2f84 : ca               [ 2]         dex
367e : ca               [ 2]         dex
2f85 : ca               [ 2]         dex
367f : ca               [ 2]         dex
2f86 : 88               [ 2]         dey
3680 : 88               [ 2]         dey
2f87 : 10e4             [ 3]         bpl teor13
3681 : 10e0             [ 3]         bpl teor13
 
 
2f89 : a003             [ 2]         ldy #3      ;(zp),y
3683 : a003             [ 2]         ldy #3      ;(zp),y
2f8b :                       teor14
3685 :                       teor14
                                     set_ay  absEOa,0
                                     set_ay  absEOa,0
                            >            load_flag 0
                            >            load_flag 0
2f8b : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3685 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2f8d : 48               [ 3]>            pha         ;use stack to load status
3687 : 48               [ 3]>            pha         ;use stack to load status
2f8e : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
3688 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2f91 : 28               [ 4]>            plp
368b : 28               [ 4]>            plp
 
 
2f92 : 5142             [ 5]         eor (indEO),y
368c : 51e8             [ 5]         eor (indEO),y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
2f94 : 08               [ 3]>            php         ;save flags
368e : 08               [ 3]>            php         ;save flags
2f95 : d95302           [ 4]>            cmp absrlo,y    ;test result
368f : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2f98 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  350
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  229
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3692 : f002             [ 3]>        beq skip3156
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3694 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3695 : 27                   >        db      test_num
                            >
                            >
2f9a : 68               [ 4]>            pla         ;load status
3696 :                      >skip3156
 
                            >
 
3696 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2f9b : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3697 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2f9d : d95702           [ 4]>            cmp absflo,y    ;test flags
3699 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2fa0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
369c : f002             [ 3]>        beq skip3159
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
369e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
369f : 27                   >        db      test_num
 
                            >
 
36a0 :                      >skip3159
                            >
                            >
 
 
2fa2 : 88               [ 2]         dey
36a0 : 88               [ 2]         dey
2fa3 : 10e6             [ 3]         bpl teor14
36a1 : 10e2             [ 3]         bpl teor14
2fa5 : a003             [ 2]         ldy #3
36a3 : a003             [ 2]         ldy #3
2fa7 :                       teor15
36a5 :                       teor15
                                     set_ay  absEOa,$ff
                                     set_ay  absEOa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2fa7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
36a5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2fa9 : 48               [ 3]>            pha         ;use stack to load status
36a7 : 48               [ 3]>            pha         ;use stack to load status
2faa : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
36a8 : b94f02           [ 4]>            lda absEOa,y    ;precharge accu
2fad : 28               [ 4]>            plp
36ab : 28               [ 4]>            plp
 
 
2fae : 5142             [ 5]         eor (indEO),y
36ac : 51e8             [ 5]         eor (indEO),y
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
2fb0 : 08               [ 3]>            php         ;save flags
36ae : 08               [ 3]>            php         ;save flags
2fb1 : d95302           [ 4]>            cmp absrlo,y    ;test result
36af : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
2fb4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
36b2 : f002             [ 3]>        beq skip3164
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
36b4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
36b5 : 27                   >        db      test_num
                            >
                            >
2fb6 : 68               [ 4]>            pla         ;load status
36b6 :                      >skip3164
 
                            >
 
36b6 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
2fb7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
36b7 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
2fb9 : d95702           [ 4]>            cmp absflo,y    ;test flags
36b9 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
2fbc : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
36bc : f002             [ 3]>        beq skip3167
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  351
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
36be : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
36bf : 27                   >        db      test_num
 
                            >
 
36c0 :                      >skip3167
                            >
                            >
 
 
2fbe : 88               [ 2]         dey
36c0 : 88               [ 2]         dey
2fbf : 10e6             [ 3]         bpl teor15
36c1 : 10e2             [ 3]         bpl teor15
                                     next_test
                                     next_test
2fc1 : ad0002           [ 4]>            lda test_case   ;previous test
36c3 : ad0002           [ 4]>            lda test_case   ;previous test
2fc4 : c927             [ 2]>            cmp #test_num
36c6 : c927             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
2fc6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
36c8 : f002             [ 3]>        beq skip3170
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
36ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
36cb : 27                   >        db      test_num
 
                            >
 
36cc :                      >skip3170
                            >
                            >
0028 =                      >test_num = test_num + 1
0028 =                      >test_num = test_num + 1
2fc8 : a928             [ 2]>            lda #test_num   ;*** this tests' number
36cc : a928             [ 2]>            lda #test_num   ;*** this tests' number
2fca : 8d0002           [ 4]>            sta test_case
36ce : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; OR
                             ; OR
2fcd : a203             [ 2]         ldx #3      ;immediate - self modifying code
 
2fcf : b518             [ 4] tora    lda zpOR,x
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  230
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
2fd1 : 8ddc2f           [ 4]         sta torai1
36d1 : a203             [ 2]         ldx #3      ;immediate - self modifying code
 
36d3 : b5be             [ 4] tora    lda zpOR,x
 
36d5 : 8de036           [ 4]         sta torai1
                                     set_ax  absORa,0
                                     set_ax  absORa,0
                            >            load_flag 0
                            >            load_flag 0
2fd4 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
36d8 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
2fd6 : 48               [ 3]>            pha         ;use stack to load status
36da : 48               [ 3]>            pha         ;use stack to load status
2fd7 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
36db : bd4702           [ 4]>            lda absORa,x    ;precharge accu
2fda : 28               [ 4]>            plp
36de : 28               [ 4]>            plp
 
 
2fdc =                       torai1  equ *+1     ;target for immediate operand
36e0 =                       torai1  equ *+1     ;target for immediate operand
2fdb : 0963             [ 2]         ora #99
36df : 0963             [ 2]         ora #99
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
2fdd : 08               [ 3]>            php         ;save flags
36e1 : 08               [ 3]>            php         ;save flags
2fde : dd5302           [ 4]>            cmp absrlo,x    ;test result
36e2 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
2fe1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
36e5 : f002             [ 3]>        beq skip3175
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
36e7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
36e8 : 28                   >        db      test_num
 
                            >
 
36e9 :                      >skip3175
                            >
                            >
2fe3 : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  352
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
36e9 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
2fe4 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
36ea : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
2fe6 : dd5702           [ 4]>            cmp absflo,x    ;test flags
36ec : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
2fe9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
36ef : f002             [ 3]>        beq skip3178
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
36f1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
36f2 : 28                   >        db      test_num
 
                            >
 
36f3 :                      >skip3178
                            >
                            >
 
 
2feb : ca               [ 2]         dex
36f3 : ca               [ 2]         dex
2fec : 10e1             [ 3]         bpl tora
36f4 : 10dd             [ 3]         bpl tora
2fee : a203             [ 2]         ldx #3
36f6 : a203             [ 2]         ldx #3
2ff0 : b518             [ 4] tora1   lda zpOR,x
36f8 : b5be             [ 4] tora1   lda zpOR,x
2ff2 : 8dfd2f           [ 4]         sta torai2
36fa : 8d0537           [ 4]         sta torai2
                                     set_ax  absORa,$ff
                                     set_ax  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
2ff5 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
36fd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
2ff7 : 48               [ 3]>            pha         ;use stack to load status
36ff : 48               [ 3]>            pha         ;use stack to load status
2ff8 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
3700 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
2ffb : 28               [ 4]>            plp
3703 : 28               [ 4]>            plp
 
 
2ffd =                       torai2  equ *+1     ;target for immediate operand
3705 =                       torai2  equ *+1     ;target for immediate operand
2ffc : 0963             [ 2]         ora #99
3704 : 0963             [ 2]         ora #99
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
2ffe : 08               [ 3]>            php         ;save flags
3706 : 08               [ 3]>            php         ;save flags
2fff : dd5302           [ 4]>            cmp absrlo,x    ;test result
3707 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
3002 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
370a : f002             [ 3]>        beq skip3183
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
370c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
370d : 28                   >        db      test_num
                            >
                            >
3004 : 68               [ 4]>            pla         ;load status
370e :                      >skip3183
 
                            >
 
370e : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
3005 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
370f : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
3007 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3711 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
300a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3714 : f002             [ 3]>        beq skip3186
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3716 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3717 : 28                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  231
3718 :                      >skip3186
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  353
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
 
300c : ca               [ 2]         dex
3718 : ca               [ 2]         dex
300d : 10e1             [ 4]         bpl tora1
3719 : 10dd             [ 4]         bpl tora1
 
 
300f : a203             [ 2]         ldx #3      ;zp
371b : a203             [ 2]         ldx #3      ;zp
3011 : b518             [ 4] tora2    lda zpOR,x
371d : b5be             [ 4] tora2    lda zpOR,x
3013 : 850c             [ 3]         sta zpt
371f : 85b2             [ 3]         sta zpt
                                     set_ax  absORa,0
                                     set_ax  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3015 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3721 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3017 : 48               [ 3]>            pha         ;use stack to load status
3723 : 48               [ 3]>            pha         ;use stack to load status
3018 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
3724 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
301b : 28               [ 4]>            plp
3727 : 28               [ 4]>            plp
 
 
301c : 050c             [ 3]         ora zpt
3728 : 05b2             [ 3]         ora zpt
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
301e : 08               [ 3]>            php         ;save flags
372a : 08               [ 3]>            php         ;save flags
301f : dd5302           [ 4]>            cmp absrlo,x    ;test result
372b : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
3022 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
372e : f002             [ 3]>        beq skip3191
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3730 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3731 : 28                   >        db      test_num
                            >
                            >
3024 : 68               [ 4]>            pla         ;load status
3732 :                      >skip3191
 
                            >
 
3732 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
3025 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3733 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
3027 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3735 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
302a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3738 : f002             [ 3]>        beq skip3194
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
373a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
373b : 28                   >        db      test_num
 
                            >
 
373c :                      >skip3194
                            >
                            >
 
 
302c : ca               [ 2]         dex
373c : ca               [ 2]         dex
302d : 10e2             [ 3]         bpl tora2
373d : 10de             [ 3]         bpl tora2
302f : a203             [ 2]         ldx #3
373f : a203             [ 2]         ldx #3
3031 : b518             [ 4] tora3   lda zpOR,x
3741 : b5be             [ 4] tora3   lda zpOR,x
3033 : 850c             [ 3]         sta zpt
3743 : 85b2             [ 3]         sta zpt
                                     set_ax  absORa,$ff
                                     set_ax  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
3035 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3745 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
3037 : 48               [ 3]>            pha         ;use stack to load status
3747 : 48               [ 3]>            pha         ;use stack to load status
3038 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
3748 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
303b : 28               [ 4]>            plp
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  354
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
303c : 050c             [ 3]         ora zpt
374b : 28               [ 4]>            plp
 
 
 
374c : 05b2             [ 3]         ora zpt
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
303e : 08               [ 3]>            php         ;save flags
374e : 08               [ 3]>            php         ;save flags
303f : dd5302           [ 4]>            cmp absrlo,x    ;test result
374f : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
3042 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3752 : f002             [ 3]>        beq skip3199
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3754 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3755 : 28                   >        db      test_num
 
                            >
 
3756 :                      >skip3199
                            >
                            >
3044 : 68               [ 4]>            pla         ;load status
3756 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
3045 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3757 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  232
3759 : dd5702           [ 4]>            cmp absflo,x    ;test flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3047 : dd5702           [ 4]>            cmp absflo,x    ;test flags
 
                            >            trap_ne     ;
                            >            trap_ne     ;
304a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
375c : f002             [ 3]>        beq skip3202
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
375e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
375f : 28                   >        db      test_num
 
                            >
 
3760 :                      >skip3202
                            >
                            >
 
 
304c : ca               [ 2]         dex
3760 : ca               [ 2]         dex
304d : 10e2             [ 3]         bpl tora3
3761 : 10de             [ 3]         bpl tora3
 
 
304f : a203             [ 2]         ldx #3      ;abs
3763 : a203             [ 2]         ldx #3      ;abs
3051 : b518             [ 4] tora4   lda zpOR,x
3765 : b5be             [ 4] tora4   lda zpOR,x
3053 : 8d0302           [ 4]         sta abst
3767 : 8d0302           [ 4]         sta abst
                                     set_ax  absORa,0
                                     set_ax  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3056 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
376a : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3058 : 48               [ 3]>            pha         ;use stack to load status
376c : 48               [ 3]>            pha         ;use stack to load status
3059 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
376d : bd4702           [ 4]>            lda absORa,x    ;precharge accu
305c : 28               [ 4]>            plp
3770 : 28               [ 4]>            plp
 
 
305d : 0d0302           [ 4]         ora abst
3771 : 0d0302           [ 4]         ora abst
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
3060 : 08               [ 3]>            php         ;save flags
3774 : 08               [ 3]>            php         ;save flags
3061 : dd5302           [ 4]>            cmp absrlo,x    ;test result
3775 : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
3064 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3778 : f002             [ 3]>        beq skip3207
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
377a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
377b : 28                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  355
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
377c :                      >skip3207
                            >
                            >
3066 : 68               [ 4]>            pla         ;load status
377c : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
3067 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
377d : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
3069 : dd5702           [ 4]>            cmp absflo,x    ;test flags
377f : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
306c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3782 : f002             [ 3]>        beq skip3210
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3784 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3785 : 28                   >        db      test_num
 
                            >
 
3786 :                      >skip3210
                            >
                            >
 
 
306e : ca               [ 2]         dex
3786 : ca               [ 2]         dex
306f : 10e0             [ 3]         bpl tora4
3787 : 10dc             [ 3]         bpl tora4
3071 : a203             [ 2]         ldx #3
3789 : a203             [ 2]         ldx #3
3073 : b518             [ 4] tora5   lda zpOR,x
378b : b5be             [ 4] tora5   lda zpOR,x
3075 : 8d0302           [ 4]         sta abst
378d : 8d0302           [ 4]         sta abst
                                     set_ax  absORa,$ff
                                     set_ax  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
3078 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3790 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
307a : 48               [ 3]>            pha         ;use stack to load status
3792 : 48               [ 3]>            pha         ;use stack to load status
307b : bd4702           [ 4]>            lda absORa,x    ;precharge accu
3793 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
307e : 28               [ 4]>            plp
3796 : 28               [ 4]>            plp
 
 
307f : 0d0302           [ 4]         ora abst
3797 : 0d0302           [ 4]         ora abst
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
3082 : 08               [ 3]>            php         ;save flags
379a : 08               [ 3]>            php         ;save flags
3083 : dd5302           [ 4]>            cmp absrlo,x    ;test result
379b : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
3086 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
379e : f002             [ 3]>        beq skip3215
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
37a0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37a1 : 28                   >        db      test_num
                            >
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  233
37a2 :                      >skip3215
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >
 
37a2 : 68               [ 4]>            pla         ;load status
3088 : 68               [ 4]>            pla         ;load status
 
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
3089 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
37a3 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
308b : dd5702           [ 4]>            cmp absflo,x    ;test flags
37a5 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
308e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37a8 : f002             [ 3]>        beq skip3218
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
37aa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37ab : 28                   >        db      test_num
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  356
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3090 : ca               [ 2]         dex
37ac :                      >skip3218
3091 : 1002             [ 3]         bpl tora6
                            >
 
 
3093 : a203             [ 2]         ldx #3      ;zp,x
37ac : ca               [ 2]         dex
3095 :                       tora6
37ad : 1002             [ 3]         bpl tora6
 
 
 
37af : a203             [ 2]         ldx #3      ;zp,x
 
37b1 :                       tora6
                                     set_ax  absORa,0
                                     set_ax  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3095 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
37b1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3097 : 48               [ 3]>            pha         ;use stack to load status
37b3 : 48               [ 3]>            pha         ;use stack to load status
3098 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
37b4 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
309b : 28               [ 4]>            plp
37b7 : 28               [ 4]>            plp
 
 
309c : 1518             [ 4]         ora zpOR,x
37b8 : 15be             [ 4]         ora zpOR,x
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
309e : 08               [ 3]>            php         ;save flags
37ba : 08               [ 3]>            php         ;save flags
309f : dd5302           [ 4]>            cmp absrlo,x    ;test result
37bb : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
30a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37be : f002             [ 3]>        beq skip3223
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
37c0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37c1 : 28                   >        db      test_num
 
                            >
 
37c2 :                      >skip3223
                            >
                            >
30a4 : 68               [ 4]>            pla         ;load status
37c2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
30a5 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
37c3 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
30a7 : dd5702           [ 4]>            cmp absflo,x    ;test flags
37c5 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
30aa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37c8 : f002             [ 3]>        beq skip3226
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
37ca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37cb : 28                   >        db      test_num
 
                            >
 
37cc :                      >skip3226
                            >
                            >
 
 
30ac : ca               [ 2]         dex
37cc : ca               [ 2]         dex
30ad : 10e6             [ 3]         bpl tora6
37cd : 10e2             [ 3]         bpl tora6
30af : a203             [ 2]         ldx #3
37cf : a203             [ 2]         ldx #3
30b1 :                       tora7
37d1 :                       tora7
                                     set_ax  absORa,$ff
                                     set_ax  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
30b1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
37d1 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
30b3 : 48               [ 3]>            pha         ;use stack to load status
37d3 : 48               [ 3]>            pha         ;use stack to load status
30b4 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
37d4 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
30b7 : 28               [ 4]>            plp
37d7 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  357
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
30b8 : 1518             [ 4]         ora zpOR,x
 
 
37d8 : 15be             [ 4]         ora zpOR,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
30ba : 08               [ 3]>            php         ;save flags
37da : 08               [ 3]>            php         ;save flags
30bb : dd5302           [ 4]>            cmp absrlo,x    ;test result
37db : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  234
37de : f002             [ 3]>        beq skip3231
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
30be : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37e0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37e1 : 28                   >        db      test_num
                            >
                            >
30c0 : 68               [ 4]>            pla         ;load status
37e2 :                      >skip3231
 
                            >
 
37e2 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
30c1 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
37e3 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
30c3 : dd5702           [ 4]>            cmp absflo,x    ;test flags
37e5 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
30c6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37e8 : f002             [ 3]>        beq skip3234
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
37ea : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
37eb : 28                   >        db      test_num
 
                            >
 
37ec :                      >skip3234
                            >
                            >
 
 
30c8 : ca               [ 2]         dex
37ec : ca               [ 2]         dex
30c9 : 10e6             [ 3]         bpl tora7
37ed : 10e2             [ 3]         bpl tora7
 
 
30cb : a203             [ 2]         ldx #3      ;abs,x
37ef : a203             [ 2]         ldx #3      ;abs,x
30cd :                       tora8
37f1 :                       tora8
                                     set_ax  absORa,0
                                     set_ax  absORa,0
                            >            load_flag 0
                            >            load_flag 0
30cd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
37f1 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
30cf : 48               [ 3]>            pha         ;use stack to load status
37f3 : 48               [ 3]>            pha         ;use stack to load status
30d0 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
37f4 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
30d3 : 28               [ 4]>            plp
37f7 : 28               [ 4]>            plp
 
 
30d4 : 1d3b02           [ 4]         ora absOR,x
37f8 : 1d3b02           [ 4]         ora absOR,x
                                     tst_ax  absrlo,absflo,0
                                     tst_ax  absrlo,absflo,0
30d7 : 08               [ 3]>            php         ;save flags
37fb : 08               [ 3]>            php         ;save flags
30d8 : dd5302           [ 4]>            cmp absrlo,x    ;test result
37fc : dd5302           [ 4]>            cmp absrlo,x    ;test result
                            >            trap_ne
                            >            trap_ne
30db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
37ff : f002             [ 4]>        beq skip3239
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3801 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3802 : 28                   >        db      test_num
 
                            >
 
3803 :                      >skip3239
                            >
                            >
30dd : 68               [ 4]>            pla         ;load status
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  358
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3803 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
30de : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3804 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
30e0 : dd5702           [ 4]>            cmp absflo,x    ;test flags
3806 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
30e3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3809 : f002             [ 3]>        beq skip3242
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
380b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
380c : 28                   >        db      test_num
 
                            >
 
380d :                      >skip3242
                            >
                            >
 
 
30e5 : ca               [ 2]         dex
380d : ca               [ 2]         dex
30e6 : 10e5             [ 3]         bpl tora8
380e : 10e1             [ 4]         bpl tora8
30e8 : a203             [ 2]         ldx #3
3810 : a203             [ 2]         ldx #3
30ea :                       tora9
3812 :                       tora9
                                     set_ax  absORa,$ff
                                     set_ax  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
30ea : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3812 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
30ec : 48               [ 3]>            pha         ;use stack to load status
3814 : 48               [ 3]>            pha         ;use stack to load status
30ed : bd4702           [ 4]>            lda absORa,x    ;precharge accu
3815 : bd4702           [ 4]>            lda absORa,x    ;precharge accu
30f0 : 28               [ 4]>            plp
3818 : 28               [ 4]>            plp
 
 
30f1 : 1d3b02           [ 4]         ora absOR,x
3819 : 1d3b02           [ 4]         ora absOR,x
                                     tst_ax  absrlo,absflo,$ff-fnz
                                     tst_ax  absrlo,absflo,$ff-fnz
30f4 : 08               [ 3]>            php         ;save flags
381c : 08               [ 3]>            php         ;save flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  235
381d : dd5302           [ 4]>            cmp absrlo,x    ;test result
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
30f5 : dd5302           [ 4]>            cmp absrlo,x    ;test result
 
                            >            trap_ne
                            >            trap_ne
30f8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3820 : f002             [ 3]>        beq skip3247
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3822 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3823 : 28                   >        db      test_num
 
                            >
 
3824 :                      >skip3247
                            >
                            >
30fa : 68               [ 4]>            pla         ;load status
3824 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
30fb : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3825 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
30fd : dd5702           [ 4]>            cmp absflo,x    ;test flags
3827 : dd5702           [ 4]>            cmp absflo,x    ;test flags
                            >            trap_ne     ;
                            >            trap_ne     ;
3100 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
382a : f002             [ 3]>        beq skip3250
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
382c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
382d : 28                   >        db      test_num
 
                            >
 
382e :                      >skip3250
                            >
                            >
 
 
3102 : ca               [ 2]         dex
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  359
3103 : 10e5             [ 4]         bpl tora9
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
382e : ca               [ 2]         dex
 
382f : 10e1             [ 3]         bpl tora9
 
 
3105 : a003             [ 2]         ldy #3      ;abs,y
3831 : a003             [ 2]         ldy #3      ;abs,y
3107 :                       tora10
3833 :                       tora10
                                     set_ay  absORa,0
                                     set_ay  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3107 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3833 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3109 : 48               [ 3]>            pha         ;use stack to load status
3835 : 48               [ 3]>            pha         ;use stack to load status
310a : b94702           [ 4]>            lda absORa,y    ;precharge accu
3836 : b94702           [ 4]>            lda absORa,y    ;precharge accu
310d : 28               [ 4]>            plp
3839 : 28               [ 4]>            plp
 
 
310e : 193b02           [ 4]         ora absOR,y
383a : 193b02           [ 4]         ora absOR,y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
3111 : 08               [ 3]>            php         ;save flags
383d : 08               [ 3]>            php         ;save flags
3112 : d95302           [ 4]>            cmp absrlo,y    ;test result
383e : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
3115 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3841 : f002             [ 3]>        beq skip3255
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3843 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3844 : 28                   >        db      test_num
                            >
                            >
3117 : 68               [ 4]>            pla         ;load status
3845 :                      >skip3255
 
                            >
 
3845 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
3118 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
3846 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
311a : d95702           [ 4]>            cmp absflo,y    ;test flags
3848 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
311d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
384b : f002             [ 3]>        beq skip3258
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
384d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
384e : 28                   >        db      test_num
 
                            >
 
384f :                      >skip3258
                            >
                            >
 
 
311f : 88               [ 2]         dey
384f : 88               [ 2]         dey
3120 : 10e5             [ 3]         bpl tora10
3850 : 10e1             [ 3]         bpl tora10
3122 : a003             [ 2]         ldy #3
3852 : a003             [ 2]         ldy #3
3124 :                       tora11
3854 :                       tora11
                                     set_ay  absORa,$ff
                                     set_ay  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
3124 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3854 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
3126 : 48               [ 3]>            pha         ;use stack to load status
3856 : 48               [ 3]>            pha         ;use stack to load status
3127 : b94702           [ 4]>            lda absORa,y    ;precharge accu
3857 : b94702           [ 4]>            lda absORa,y    ;precharge accu
312a : 28               [ 4]>            plp
385a : 28               [ 4]>            plp
 
 
312b : 193b02           [ 4]         ora absOR,y
385b : 193b02           [ 4]         ora absOR,y
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  236
                                     tst_ay  absrlo,absflo,$ff-fnz
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  360
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     tst_ay  absrlo,absflo,$ff-fnz
385e : 08               [ 3]>            php         ;save flags
312e : 08               [ 3]>            php         ;save flags
385f : d95302           [ 4]>            cmp absrlo,y    ;test result
312f : d95302           [ 4]>            cmp absrlo,y    ;test result
 
                            >            trap_ne     ;
                            >            trap_ne     ;
3132 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3862 : f002             [ 3]>        beq skip3263
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3864 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3865 : 28                   >        db      test_num
                            >
                            >
3134 : 68               [ 4]>            pla         ;load status
3866 :                      >skip3263
 
                            >
 
3866 : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
3135 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
3867 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
3137 : d95702           [ 4]>            cmp absflo,y    ;test flags
3869 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
313a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
386c : f002             [ 3]>        beq skip3266
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
386e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
386f : 28                   >        db      test_num
 
                            >
 
3870 :                      >skip3266
                            >
                            >
 
 
313c : 88               [ 2]         dey
3870 : 88               [ 2]         dey
313d : 10e5             [ 3]         bpl tora11
3871 : 10e1             [ 3]         bpl tora11
 
 
313f : a206             [ 2]         ldx #6      ;(zp,x)
3873 : a206             [ 2]         ldx #6      ;(zp,x)
3141 : a003             [ 2]         ldy #3
3875 : a003             [ 2]         ldy #3
3143 :                       tora12
3877 :                       tora12
                                     set_ay  absORa,0
                                     set_ay  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3143 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
3877 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3145 : 48               [ 3]>            pha         ;use stack to load status
3879 : 48               [ 3]>            pha         ;use stack to load status
3146 : b94702           [ 4]>            lda absORa,y    ;precharge accu
387a : b94702           [ 4]>            lda absORa,y    ;precharge accu
3149 : 28               [ 4]>            plp
387d : 28               [ 4]>            plp
 
 
314a : 014a             [ 6]         ora (indOR,x)
387e : 01f0             [ 6]         ora (indOR,x)
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
314c : 08               [ 3]>            php         ;save flags
3880 : 08               [ 3]>            php         ;save flags
314d : d95302           [ 4]>            cmp absrlo,y    ;test result
3881 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
3150 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3884 : f002             [ 3]>        beq skip3271
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3886 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3887 : 28                   >        db      test_num
                            >
                            >
3152 : 68               [ 4]>            pla         ;load status
3888 :                      >skip3271
 
                            >
 
3888 : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
3153 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  361
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3889 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
3155 : d95702           [ 4]>            cmp absflo,y    ;test flags
388b : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
3158 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
388e : f002             [ 3]>        beq skip3274
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3890 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3891 : 28                   >        db      test_num
 
                            >
 
3892 :                      >skip3274
                            >
                            >
 
 
315a : ca               [ 2]         dex
3892 : ca               [ 2]         dex
315b : ca               [ 2]         dex
3893 : ca               [ 2]         dex
315c : 88               [ 2]         dey
3894 : 88               [ 2]         dey
315d : 10e4             [ 3]         bpl tora12
3895 : 10e0             [ 3]         bpl tora12
315f : a206             [ 2]         ldx #6
3897 : a206             [ 2]         ldx #6
3161 : a003             [ 2]         ldy #3
3899 : a003             [ 2]         ldy #3
3163 :                       tora13
389b :                       tora13
                                     set_ay  absORa,$ff
                                     set_ay  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
3163 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
389b : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  237
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
                            >
3165 : 48               [ 3]>            pha         ;use stack to load status
389d : 48               [ 3]>            pha         ;use stack to load status
3166 : b94702           [ 4]>            lda absORa,y    ;precharge accu
389e : b94702           [ 4]>            lda absORa,y    ;precharge accu
3169 : 28               [ 4]>            plp
38a1 : 28               [ 4]>            plp
 
 
316a : 014a             [ 6]         ora (indOR,x)
38a2 : 01f0             [ 6]         ora (indOR,x)
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
316c : 08               [ 3]>            php         ;save flags
38a4 : 08               [ 3]>            php         ;save flags
316d : d95302           [ 4]>            cmp absrlo,y    ;test result
38a5 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
3170 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38a8 : f002             [ 3]>        beq skip3279
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38aa : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38ab : 28                   >        db      test_num
                            >
                            >
3172 : 68               [ 4]>            pla         ;load status
38ac :                      >skip3279
 
                            >
 
38ac : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
3173 : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
38ad : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
3175 : d95702           [ 4]>            cmp absflo,y    ;test flags
38af : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
3178 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38b2 : f002             [ 3]>        beq skip3282
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38b4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38b5 : 28                   >        db      test_num
 
                            >
 
38b6 :                      >skip3282
                            >
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  362
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
317a : ca               [ 2]         dex
38b6 : ca               [ 2]         dex
317b : ca               [ 2]         dex
38b7 : ca               [ 2]         dex
317c : 88               [ 2]         dey
38b8 : 88               [ 2]         dey
317d : 10e4             [ 3]         bpl tora13
38b9 : 10e0             [ 3]         bpl tora13
 
 
317f : a003             [ 2]         ldy #3      ;(zp),y
38bb : a003             [ 2]         ldy #3      ;(zp),y
3181 :                       tora14
38bd :                       tora14
                                     set_ay  absORa,0
                                     set_ay  absORa,0
                            >            load_flag 0
                            >            load_flag 0
3181 : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
38bd : a900             [ 2]>            lda #0             ;allow test to change I-flag (no mask)
                            >
                            >
3183 : 48               [ 3]>            pha         ;use stack to load status
38bf : 48               [ 3]>            pha         ;use stack to load status
3184 : b94702           [ 4]>            lda absORa,y    ;precharge accu
38c0 : b94702           [ 4]>            lda absORa,y    ;precharge accu
3187 : 28               [ 4]>            plp
38c3 : 28               [ 4]>            plp
 
 
3188 : 114a             [ 5]         ora (indOR),y
38c4 : 11f0             [ 5]         ora (indOR),y
                                     tst_ay  absrlo,absflo,0
                                     tst_ay  absrlo,absflo,0
318a : 08               [ 3]>            php         ;save flags
38c6 : 08               [ 3]>            php         ;save flags
318b : d95302           [ 4]>            cmp absrlo,y    ;test result
38c7 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
318e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38ca : f002             [ 3]>        beq skip3287
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38cc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38cd : 28                   >        db      test_num
 
                            >
 
38ce :                      >skip3287
                            >
                            >
3190 : 68               [ 4]>            pla         ;load status
38ce : 68               [ 4]>            pla         ;load status
                            >            eor_flag 0
                            >            eor_flag 0
3191 : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
38cf : 4930             [ 2]>            eor #0|fao         ;invert expected flags + always on bits
                            >
                            >
3193 : d95702           [ 4]>            cmp absflo,y    ;test flags
38d1 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
3196 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38d4 : f002             [ 3]>        beq skip3290
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38d6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38d7 : 28                   >        db      test_num
 
                            >
 
38d8 :                      >skip3290
                            >
                            >
 
 
3198 : 88               [ 2]         dey
38d8 : 88               [ 2]         dey
3199 : 10e6             [ 3]         bpl tora14
38d9 : 10e2             [ 3]         bpl tora14
319b : a003             [ 2]         ldy #3
38db : a003             [ 2]         ldy #3
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  238
38dd :                       tora15
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
319d :                       tora15
 
                                     set_ay  absORa,$ff
                                     set_ay  absORa,$ff
                            >            load_flag $ff
                            >            load_flag $ff
319d : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
38dd : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
319f : 48               [ 3]>            pha         ;use stack to load status
38df : 48               [ 3]>            pha         ;use stack to load status
31a0 : b94702           [ 4]>            lda absORa,y    ;precharge accu
38e0 : b94702           [ 4]>            lda absORa,y    ;precharge accu
31a3 : 28               [ 4]>            plp
38e3 : 28               [ 4]>            plp
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  363
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
31a4 : 114a             [ 5]         ora (indOR),y
38e4 : 11f0             [ 5]         ora (indOR),y
                                     tst_ay  absrlo,absflo,$ff-fnz
                                     tst_ay  absrlo,absflo,$ff-fnz
31a6 : 08               [ 3]>            php         ;save flags
38e6 : 08               [ 3]>            php         ;save flags
31a7 : d95302           [ 4]>            cmp absrlo,y    ;test result
38e7 : d95302           [ 4]>            cmp absrlo,y    ;test result
                            >            trap_ne     ;
                            >            trap_ne     ;
31aa : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38ea : f002             [ 3]>        beq skip3295
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38ec : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38ed : 28                   >        db      test_num
 
                            >
 
38ee :                      >skip3295
                            >
                            >
31ac : 68               [ 4]>            pla         ;load status
38ee : 68               [ 4]>            pla         ;load status
                            >            eor_flag $ff-fnz
                            >            eor_flag $ff-fnz
31ad : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
38ef : 497d             [ 2]>            eor #$ff-fnz|fao         ;invert expected flags + always on bits
                            >
                            >
31af : d95702           [ 4]>            cmp absflo,y    ;test flags
38f1 : d95702           [ 4]>            cmp absflo,y    ;test flags
                            >            trap_ne
                            >            trap_ne
31b2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
38f4 : f002             [ 3]>        beq skip3298
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
38f6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
38f7 : 28                   >        db      test_num
                            >
                            >
 
38f8 :                      >skip3298
 
                            >
 
 
 
38f8 : 88               [ 2]         dey
 
38f9 : 10e2             [ 3]         bpl tora15
 
 
31b4 : 88               [ 2]         dey
 
31b5 : 10e6             [ 3]         bpl tora15
 
                                 if I_flag = 3
                                 if I_flag = 3
31b7 : 58               [ 2]         cli
 
 
38fb : 58               [ 2]         cli
 
 
                                 endif
                                 endif
 
 
31b8 :                       bin_test
38fc :                       bin_test
                                 if skip_bin_test = 1
                                 if skip_bin_test = 1
31b8 : 4c2032           [ 3]         jmp dec_test
 
 
                                     jmp dec_test
 
 
                                 else
                                 else
                                     lda #test_num
 
                                     sta test_case
38fc : a928             [ 2]         lda #test_num
 
38fe : 8d0002           [ 4]         sta test_case
 
 
                                 endif
                                 endif
 
 
                                     next_test
                                     next_test
31bb : ad0002           [ 4]>            lda test_case   ;previous test
3901 : ad0002           [ 4]>            lda test_case   ;previous test
31be : c928             [ 2]>            cmp #test_num
3904 : c928             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
31c0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3906 : f002             [ 3]>        beq skip3301
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  364
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3908 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3909 : 28                   >        db      test_num
 
                            >
 
390a :                      >skip3301
                            >
                            >
0029 =                      >test_num = test_num + 1
0029 =                      >test_num = test_num + 1
31c2 : a929             [ 2]>            lda #test_num   ;*** this tests' number
390a : a929             [ 2]>            lda #test_num   ;*** this tests' number
31c4 : 8d0002           [ 4]>            sta test_case
390c : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
 
 
                             ; full binary add/subtract test
                             ; full binary add/subtract test
                             ; iterates through all combinations of operands and carry input
                             ; iterates through all combinations of operands and carry input
                             ; uses increments/decrements to predict result & result flags
                             ; uses increments/decrements to predict result & result flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  239
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
31c7 : d8               [ 2]         cld
390f : d8               [ 2]         cld
31c8 : a20e             [ 2]         ldx #ad2        ;for indexed test
3910 : a2b4             [ 2]         ldx #ad2        ;for indexed test
31ca : a0ff             [ 2]         ldy #$ff        ;max range
3912 : a0ff             [ 2]         ldy #$ff        ;max range
31cc : a900             [ 2]         lda #0          ;start with adding zeroes & no carry
3914 : a900             [ 2]         lda #0          ;start with adding zeroes & no carry
31ce : 850c             [ 3]         sta adfc        ;carry in - for diag
3916 : 85b2             [ 3]         sta adfc        ;carry in - for diag
31d0 : 850d             [ 3]         sta ad1         ;operand 1 - accumulator
3918 : 85b3             [ 3]         sta ad1         ;operand 1 - accumulator
31d2 : 850e             [ 3]         sta ad2         ;operand 2 - memory or immediate
391a : 85b4             [ 3]         sta ad2         ;operand 2 - memory or immediate
31d4 : 8d0302           [ 4]         sta ada2        ;non zp
391c : 8d0302           [ 4]         sta ada2        ;non zp
31d7 : 850f             [ 3]         sta adrl        ;expected result bits 0-7
391f : 85b5             [ 3]         sta adrl        ;expected result bits 0-7
31d9 : 8510             [ 3]         sta adrh        ;expected result bit 8 (carry out)
3921 : 85b6             [ 3]         sta adrh        ;expected result bit 8 (carry out)
31db : a9ff             [ 2]         lda #$ff        ;complemented operand 2 for subtract
3923 : a9ff             [ 2]         lda #$ff        ;complemented operand 2 for subtract
31dd : 8512             [ 3]         sta sb2
3925 : 85b8             [ 3]         sta sb2
31df : 8d0402           [ 4]         sta sba2        ;non zp
3927 : 8d0402           [ 4]         sta sba2        ;non zp
31e2 : a902             [ 2]         lda #2          ;expected Z-flag
392a : a902             [ 2]         lda #2          ;expected Z-flag
31e4 : 8511             [ 3]         sta adrf
392c : 85b7             [ 3]         sta adrf
31e6 : 18               [ 2] tadd    clc             ;test with carry clear
392e : 18               [ 2] tadd    clc             ;test with carry clear
31e7 : 200334           [ 6]         jsr chkadd
392f : 20903b           [ 6]         jsr chkadd
31ea : e60c             [ 5]         inc adfc        ;now with carry
3932 : e6b2             [ 5]         inc adfc        ;now with carry
31ec : e60f             [ 5]         inc adrl        ;result +1
3934 : e6b5             [ 5]         inc adrl        ;result +1
31ee : 08               [ 3]         php             ;save N & Z from low result
3936 : 08               [ 3]         php             ;save N & Z from low result
31ef : 08               [ 3]         php
3937 : 08               [ 3]         php
31f0 : 68               [ 4]         pla             ;accu holds expected flags
3938 : 68               [ 4]         pla             ;accu holds expected flags
31f1 : 2982             [ 2]         and #$82        ;mask N & Z
3939 : 2982             [ 2]         and #$82        ;mask N & Z
31f3 : 28               [ 4]         plp
393b : 28               [ 4]         plp
31f4 : d002             [ 3]         bne tadd1
393c : d002             [ 3]         bne tadd1
31f6 : e610             [ 5]         inc adrh        ;result bit 8 - carry
393e : e6b6             [ 5]         inc adrh        ;result bit 8 - carry
31f8 : 0510             [ 3] tadd1   ora adrh        ;merge C to expected flags
3940 : 05b6             [ 3] tadd1   ora adrh        ;merge C to expected flags
31fa : 8511             [ 3]         sta adrf        ;save expected flags except overflow
3942 : 85b7             [ 3]         sta adrf        ;save expected flags except overflow
31fc : 38               [ 2]         sec             ;test with carry set
3944 : 38               [ 2]         sec             ;test with carry set
31fd : 200334           [ 6]         jsr chkadd
3945 : 20903b           [ 6]         jsr chkadd
3200 : c60c             [ 5]         dec adfc        ;same for operand +1 but no carry
3948 : c6b2             [ 5]         dec adfc        ;same for operand +1 but no carry
3202 : e60d             [ 5]         inc ad1
394a : e6b3             [ 5]         inc ad1
3204 : d0e0             [ 4]         bne tadd        ;iterate op1
394c : d0e0             [ 3]         bne tadd        ;iterate op1
3206 : a900             [ 2]         lda #0          ;preset result to op2 when op1 = 0
394e : a900             [ 2]         lda #0          ;preset result to op2 when op1 = 0
3208 : 8510             [ 3]         sta adrh
3950 : 85b6             [ 3]         sta adrh
320a : ee0302           [ 6]         inc ada2
3952 : ee0302           [ 6]         inc ada2
320d : e60e             [ 5]         inc ad2
3955 : e6b4             [ 5]         inc ad2
320f : 08               [ 3]         php             ;save NZ as operand 2 becomes the new result
3957 : 08               [ 3]         php             ;save NZ as operand 2 becomes the new result
3210 : 68               [ 4]         pla
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  365
3211 : 2982             [ 2]         and #$82        ;mask N00000Z0
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
3213 : 8511             [ 3]         sta adrf        ;no need to check carry as we are adding to 0
 
3215 : c612             [ 5]         dec sb2         ;complement subtract operand 2
3958 : 68               [ 4]         pla
3217 : ce0402           [ 6]         dec sba2
3959 : 2982             [ 2]         and #$82        ;mask N00000Z0
321a : a50e             [ 3]         lda ad2
395b : 85b7             [ 3]         sta adrf        ;no need to check carry as we are adding to 0
321c : 850f             [ 3]         sta adrl
395d : c6b8             [ 5]         dec sb2         ;complement subtract operand 2
321e : d0c6             [ 4]         bne tadd        ;iterate op2
395f : ce0402           [ 6]         dec sba2
 
3962 : a5b4             [ 3]         lda ad2
 
3964 : 85b5             [ 3]         sta adrl
 
3966 : d0c6             [ 3]         bne tadd        ;iterate op2
 
 
 
3968 :                       dec_test
 
 
3220 :                       dec_test
 
                                 if skip_dec_test = 1
                                 if skip_dec_test = 1
3220 : 4ccf32           [ 3]         jmp success
 
 
                                     success
 
 
                                 else
                                 else
                                     lda #test_num
 
                                     sta test_case
 
                                 endif
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  240
3968 : a929             [ 2]         lda #test_num
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
396a : 8d0002           [ 4]         sta test_case
 
 
 
                                 endif
 
 
                                     next_test
                                     next_test
3223 : ad0002           [ 4]>            lda test_case   ;previous test
396d : ad0002           [ 4]>            lda test_case   ;previous test
3226 : c929             [ 2]>            cmp #test_num
3970 : c929             [ 2]>            cmp #test_num
                            >            trap_ne         ;test is out of sequence
                            >            trap_ne         ;test is out of sequence
3228 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3972 : f002             [ 3]>        beq skip3304
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3974 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3975 : 29                   >        db      test_num
 
                            >
 
3976 :                      >skip3304
                            >
                            >
002a =                      >test_num = test_num + 1
002a =                      >test_num = test_num + 1
322a : a92a             [ 2]>            lda #test_num   ;*** this tests' number
3976 : a92a             [ 2]>            lda #test_num   ;*** this tests' number
322c : 8d0002           [ 4]>            sta test_case
3978 : 8d0002           [ 4]>            sta test_case
                            >            ;check_ram       ;uncomment to find altered RAM after each test
                            >            ;check_ram       ;uncomment to find altered RAM after each test
 
 
 
 
                             ; decimal add/subtract test
                             ; decimal add/subtract test
                             ; *** WARNING - tests documented behavior only! ***
                             ; *** WARNING - tests documented behavior only! ***
                             ;   only valid BCD operands are tested, N V Z flags are ignored
                             ;   only valid BCD operands are tested, N V Z flags are ignored
                             ; iterates through all valid combinations of operands and carry input
                             ; iterates through all valid combinations of operands and carry input
                             ; uses increments/decrements to predict result & carry flag
                             ; uses increments/decrements to predict result & carry flag
322f : f8               [ 2]         sed
 
3230 : a20e             [ 2]         ldx #ad2        ;for indexed test
 
3232 : a0ff             [ 2]         ldy #$ff        ;max range
 
3234 : a999             [ 2]         lda #$99        ;start with adding 99 to 99 with carry
 
3236 : 850d             [ 3]         sta ad1         ;operand 1 - accumulator
 
3238 : 850e             [ 3]         sta ad2         ;operand 2 - memory or immediate
 
323a : 8d0302           [ 4]         sta ada2        ;non zp
 
323d : 850f             [ 3]         sta adrl        ;expected result bits 0-7
 
323f : a901             [ 2]         lda #1          ;set carry in & out
 
3241 : 850c             [ 3]         sta adfc        ;carry in - for diag
 
3243 : 8510             [ 3]         sta adrh        ;expected result bit 8 (carry out)
 
3245 : a900             [ 2]         lda #0          ;complemented operand 2 for subtract
 
3247 : 8512             [ 3]         sta sb2
 
3249 : 8d0402           [ 4]         sta sba2        ;non zp
 
324c : 38               [ 2] tdad    sec             ;test with carry set
 
324d : 20d232           [ 6]         jsr chkdad
 
3250 : c60c             [ 5]         dec adfc        ;now with carry clear
 
3252 : a50f             [ 3]         lda adrl        ;decimal adjust result
 
3254 : d008             [ 3]         bne tdad1       ;skip clear carry & preset result 99 (9A-1)
 
3256 : c610             [ 5]         dec adrh
 
3258 : a999             [ 2]         lda #$99
 
325a : 850f             [ 3]         sta adrl
 
325c : d012             [ 3]         bne tdad3
 
325e : 290f             [ 2] tdad1   and #$f         ;lower nibble mask
 
3260 : d00c             [ 3]         bne tdad2       ;no decimal adjust needed
 
3262 : c60f             [ 5]         dec adrl        ;decimal adjust (?0-6)
 
3264 : c60f             [ 5]         dec adrl
 
3266 : c60f             [ 5]         dec adrl
 
3268 : c60f             [ 5]         dec adrl
 
326a : c60f             [ 5]         dec adrl
 
326c : c60f             [ 5]         dec adrl
 
326e : c60f             [ 5] tdad2   dec adrl        ;result -1
 
3270 : 18               [ 2] tdad3   clc             ;test with carry clear
 
3271 : 20d232           [ 6]         jsr chkdad
 
3274 : e60c             [ 5]         inc adfc        ;same for operand -1 but with carry
 
3276 : a50d             [ 3]         lda ad1         ;decimal adjust operand 1
 
3278 : f015             [ 3]         beq tdad5       ;iterate operand 2
 
327a : 290f             [ 2]         and #$f         ;lower nibble mask
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  241
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
327c : d00c             [ 3]         bne tdad4       ;skip decimal adjust
397b : f8               [ 2]         sed
327e : c60d             [ 5]         dec ad1         ;decimal adjust (?0-6)
397c : a2b4             [ 2]         ldx #ad2        ;for indexed test
3280 : c60d             [ 5]         dec ad1
397e : a0ff             [ 2]         ldy #$ff        ;max range
3282 : c60d             [ 5]         dec ad1
3980 : a999             [ 2]         lda #$99        ;start with adding 99 to 99 with carry
3284 : c60d             [ 5]         dec ad1
3982 : 85b3             [ 3]         sta ad1         ;operand 1 - accumulator
3286 : c60d             [ 5]         dec ad1
3984 : 85b4             [ 3]         sta ad2         ;operand 2 - memory or immediate
3288 : c60d             [ 5]         dec ad1
3986 : 8d0302           [ 4]         sta ada2        ;non zp
328a : c60d             [ 5] tdad4   dec ad1         ;operand 1 -1
3989 : 85b5             [ 3]         sta adrl        ;expected result bits 0-7
328c : 4c4c32           [ 3]         jmp tdad        ;iterate op1
398b : a901             [ 2]         lda #1          ;set carry in & out
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  366
328f : a999             [ 2] tdad5   lda #$99        ;precharge op1 max
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
3291 : 850d             [ 3]         sta ad1
 
3293 : a50e             [ 3]         lda ad2         ;decimal adjust operand 2
398d : 85b2             [ 3]         sta adfc        ;carry in - for diag
3295 : f030             [ 3]         beq tdad7       ;end of iteration
398f : 85b6             [ 3]         sta adrh        ;expected result bit 8 (carry out)
3297 : 290f             [ 2]         and #$f         ;lower nibble mask
3991 : a900             [ 2]         lda #0          ;complemented operand 2 for subtract
3299 : d018             [ 3]         bne tdad6       ;skip decimal adjust
3993 : 85b8             [ 3]         sta sb2
329b : c60e             [ 5]         dec ad2         ;decimal adjust (?0-6)
3995 : 8d0402           [ 4]         sta sba2        ;non zp
329d : c60e             [ 5]         dec ad2
3998 : 38               [ 2] tdad    sec             ;test with carry set
329f : c60e             [ 5]         dec ad2
3999 : 201f3a           [ 6]         jsr chkdad
32a1 : c60e             [ 5]         dec ad2
399c : c6b2             [ 5]         dec adfc        ;now with carry clear
32a3 : c60e             [ 5]         dec ad2
399e : a5b5             [ 3]         lda adrl        ;decimal adjust result
32a5 : c60e             [ 5]         dec ad2
39a0 : d008             [ 3]         bne tdad1       ;skip clear carry & preset result 99 (9A-1)
32a7 : e612             [ 5]         inc sb2         ;complemented decimal adjust for subtract (?9+6)
39a2 : c6b6             [ 5]         dec adrh
32a9 : e612             [ 5]         inc sb2
39a4 : a999             [ 2]         lda #$99
32ab : e612             [ 5]         inc sb2
39a6 : 85b5             [ 3]         sta adrl
32ad : e612             [ 5]         inc sb2
39a8 : d012             [ 3]         bne tdad3
32af : e612             [ 5]         inc sb2
39aa : 290f             [ 2] tdad1   and #$f         ;lower nibble mask
32b1 : e612             [ 5]         inc sb2
39ac : d00c             [ 3]         bne tdad2       ;no decimal adjust needed
32b3 : c60e             [ 5] tdad6   dec ad2         ;operand 2 -1
39ae : c6b5             [ 5]         dec adrl        ;decimal adjust (?0-6)
32b5 : e612             [ 5]         inc sb2         ;complemented operand for subtract
39b0 : c6b5             [ 5]         dec adrl
32b7 : a512             [ 3]         lda sb2
39b2 : c6b5             [ 5]         dec adrl
32b9 : 8d0402           [ 4]         sta sba2        ;copy as non zp operand
39b4 : c6b5             [ 5]         dec adrl
32bc : a50e             [ 3]         lda ad2
39b6 : c6b5             [ 5]         dec adrl
32be : 8d0302           [ 4]         sta ada2        ;copy as non zp operand
39b8 : c6b5             [ 5]         dec adrl
32c1 : 850f             [ 3]         sta adrl        ;new result since op1+carry=00+carry +op2=op2
39ba : c6b5             [ 5] tdad2   dec adrl        ;result -1
32c3 : e610             [ 5]         inc adrh        ;result carry
39bc : 18               [ 2] tdad3   clc             ;test with carry clear
32c5 : d085             [ 3]         bne tdad        ;iterate op2
39bd : 201f3a           [ 6]         jsr chkdad
32c7 : d8               [ 2] tdad7   cld
39c0 : e6b2             [ 5]         inc adfc        ;same for operand -1 but with carry
 
39c2 : a5b3             [ 3]         lda ad1         ;decimal adjust operand 1
 
39c4 : f015             [ 3]         beq tdad5       ;iterate operand 2
 
39c6 : 290f             [ 2]         and #$f         ;lower nibble mask
 
39c8 : d00c             [ 3]         bne tdad4       ;skip decimal adjust
 
39ca : c6b3             [ 5]         dec ad1         ;decimal adjust (?0-6)
 
39cc : c6b3             [ 5]         dec ad1
 
39ce : c6b3             [ 5]         dec ad1
 
39d0 : c6b3             [ 5]         dec ad1
 
39d2 : c6b3             [ 5]         dec ad1
 
39d4 : c6b3             [ 5]         dec ad1
 
39d6 : c6b3             [ 5] tdad4   dec ad1         ;operand 1 -1
 
39d8 : 4c9839           [ 3]         jmp tdad        ;iterate op1
 
 
 
39db : a999             [ 2] tdad5   lda #$99        ;precharge op1 max
 
39dd : 85b3             [ 3]         sta ad1
 
39df : a5b4             [ 3]         lda ad2         ;decimal adjust operand 2
 
39e1 : f030             [ 4]         beq tdad7       ;end of iteration
 
39e3 : 290f             [ 2]         and #$f         ;lower nibble mask
 
39e5 : d018             [ 3]         bne tdad6       ;skip decimal adjust
 
39e7 : c6b4             [ 5]         dec ad2         ;decimal adjust (?0-6)
 
39e9 : c6b4             [ 5]         dec ad2
 
39eb : c6b4             [ 5]         dec ad2
 
39ed : c6b4             [ 5]         dec ad2
 
39ef : c6b4             [ 5]         dec ad2
 
39f1 : c6b4             [ 5]         dec ad2
 
39f3 : e6b8             [ 5]         inc sb2         ;complemented decimal adjust for subtract (?9+6)
 
39f5 : e6b8             [ 5]         inc sb2
 
39f7 : e6b8             [ 5]         inc sb2
 
39f9 : e6b8             [ 5]         inc sb2
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  367
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
39fb : e6b8             [ 5]         inc sb2
 
39fd : e6b8             [ 5]         inc sb2
 
39ff : c6b4             [ 5] tdad6   dec ad2         ;operand 2 -1
 
3a01 : e6b8             [ 5]         inc sb2         ;complemented operand for subtract
 
3a03 : a5b8             [ 3]         lda sb2
 
3a05 : 8d0402           [ 4]         sta sba2        ;copy as non zp operand
 
3a08 : a5b4             [ 3]         lda ad2
 
3a0a : 8d0302           [ 4]         sta ada2        ;copy as non zp operand
 
3a0d : 85b5             [ 3]         sta adrl        ;new result since op1+carry=00+carry +op2=op2
 
3a0f : e6b6             [ 5]         inc adrh        ;result carry
 
3a11 : d085             [ 4]         bne tdad        ;iterate op2
 
3a13 : d8               [ 2] tdad7   cld
 
 
32c8 : ad0002           [ 4]         lda test_case
3a14 : ad0002           [ 4]         lda test_case
32cb : c92a             [ 2]         cmp #test_num
3a17 : c92a             [ 2]         cmp #test_num
                                     trap_ne         ;test is out of sequence
                                     trap_ne         ;test is out of sequence
32cd : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a19 : f002             [ 3]>        beq skip3306
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a1b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a1c : 2a                   >        db      test_num
 
                            >
 
3a1d :                      >skip3306
 
 
 
 
                             ; final RAM integrity test
                             ; final RAM integrity test
                             ;   verifies that none of the previous tests has altered RAM outside of the
                             ;   verifies that none of the previous tests has altered RAM outside of the
                             ;   designated write areas.
                             ;   designated write areas.
 
 
                                     check_ram
                                     check_ram
                            >            ;RAM check disabled - RAM size not set
                            >            ;RAM check disabled - RAM size not set
 
 
 
 
                             ; *** DEBUG INFO ***
                             ; *** DEBUG INFO ***
 
                             ;
                             ; to debug checksum errors uncomment check_ram in the next_test macro to
                             ; to debug checksum errors uncomment check_ram in the next_test macro to
                             ; narrow down the responsible opcode.
                             ; narrow down the responsible opcode.
                             ; may give false errors when monitor, OS or other background activity is
                             ; may give false errors when monitor, OS or other background activity is
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  242
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                             ; allowed during previous tests.
                             ; allowed during previous tests.
 
 
 
 
 
 
                             ; S U C C E S S ************************************************
                             ; S U C C E S S ************************************************
                             ; -------------
                             ; -------------
32cf : 4c0004           [ 3] success jmp start       ;if you get here everything went well
 
 
                             ;success    jmp start       ;if you get here everything went well
 
                                         success
 
3a1d : 00               [ 7]>        brk
 
3a1e : 2b                   >        db      test_num+1
 
 
                             ; -------------
                             ; -------------
                             ; S U C C E S S ************************************************
                             ; S U C C E S S ************************************************
 
 
                             ; core subroutine of the decimal add/subtract test
                             ; core subroutine of the decimal add/subtract test
 
                             ;
                             ; *** WARNING - tests documented behavior only! ***
                             ; *** WARNING - tests documented behavior only! ***
                             ;   only valid BCD operands are tested, N V Z flags are ignored
                             ;   only valid BCD operands are tested, N V Z flags are ignored
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  368
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             ; iterates through all valid combinations of operands and carry input
                             ; iterates through all valid combinations of operands and carry input
                             ; uses increments/decrements to predict result & carry flag
                             ; uses increments/decrements to predict result & carry flag
32d2 :                       chkdad
 
 
3a1f :                       chkdad
 
 
                             ; decimal ADC / SBC zp
                             ; decimal ADC / SBC zp
32d2 : 08               [ 3]         php             ;save carry for subtract
 
32d3 : a50d             [ 3]         lda ad1
 
32d5 : 650e             [ 3]         adc ad2         ;perform add
 
32d7 : 08               [ 3]         php
 
32d8 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
32da : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
32dc : 68               [ 4]         pla             ;check flags
3a1f : 08               [ 3]         php             ;save carry for subtract
32dd : 2901             [ 2]         and #1          ;mask carry
3a20 : a5b3             [ 3]         lda ad1
32df : c510             [ 3]         cmp adrh
3a22 : 65b4             [ 3]         adc ad2         ;perform add
 
3a24 : 08               [ 3]         php
 
3a25 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3a27 : f002             [ 3]>        beq skip3310
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a29 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a2a : 2a                   >        db      test_num
 
                            >
 
3a2b :                      >skip3310
 
 
 
3a2b : 68               [ 4]         pla             ;check flags
 
3a2c : 2901             [ 2]         and #1          ;mask carry
 
3a2e : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
32e1 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a30 : f002             [ 3]>        beq skip3312
 
                            >        trap           ;failed equal (zero)
32e3 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
32e4 : 08               [ 3]         php             ;save carry for next add
3a32 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
32e5 : a50d             [ 3]         lda ad1
3a33 : 2a                   >        db      test_num
32e7 : e512             [ 3]         sbc sb2         ;perform subtract
                            >
32e9 : 08               [ 3]         php
3a34 :                      >skip3312
32ea : c50f             [ 3]         cmp adrl        ;check result
 
 
3a34 : 28               [ 4]         plp
 
3a35 : 08               [ 3]         php             ;save carry for next add
 
3a36 : a5b3             [ 3]         lda ad1
 
3a38 : e5b8             [ 3]         sbc sb2         ;perform subtract
 
3a3a : 08               [ 3]         php
 
3a3b : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
32ec : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a3d : f002             [ 3]>        beq skip3314
 
                            >        trap           ;failed equal (zero)
32ee : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
32ef : 2901             [ 2]         and #1          ;mask carry
3a3f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
32f1 : c510             [ 3]         cmp adrh
3a40 : 2a                   >        db      test_num
 
                            >
 
3a41 :                      >skip3314
 
 
 
3a41 : 68               [ 4]         pla             ;check flags
 
3a42 : 2901             [ 2]         and #1          ;mask carry
 
3a44 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
32f3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a46 : f002             [ 3]>        beq skip3316
 
                            >        trap           ;failed equal (zero)
32f5 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
                             ; decimal ADC / SBC abs
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  369
32f6 : 08               [ 3]         php             ;save carry for subtract
 
32f7 : a50d             [ 3]         lda ad1
 
32f9 : 6d0302           [ 4]         adc ada2        ;perform add
 
32fc : 08               [ 3]         php
 
32fd : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
32ff : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  243
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3a48 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a49 : 2a                   >        db      test_num
 
                            >
 
3a4a :                      >skip3316
 
 
3301 : 68               [ 4]         pla             ;check flags
3a4a : 28               [ 4]         plp
3302 : 2901             [ 2]         and #1          ;mask carry
 
3304 : c510             [ 3]         cmp adrh
 
                                     trap_ne         ;bad carry
 
3306 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3308 : 28               [ 4]         plp
                             ; decimal ADC / SBC abs
3309 : 08               [ 3]         php             ;save carry for next add
 
330a : a50d             [ 3]         lda ad1
 
330c : ed0402           [ 4]         sbc sba2        ;perform subtract
 
330f : 08               [ 3]         php
 
3310 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3312 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3314 : 68               [ 4]         pla             ;check flags
3a4b : 08               [ 3]         php             ;save carry for subtract
3315 : 2901             [ 2]         and #1          ;mask carry
3a4c : a5b3             [ 3]         lda ad1
3317 : c510             [ 3]         cmp adrh
3a4e : 6d0302           [ 4]         adc ada2        ;perform add
 
3a51 : 08               [ 3]         php
 
3a52 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3a54 : f002             [ 3]>        beq skip3318
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a56 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a57 : 2a                   >        db      test_num
 
                            >
 
3a58 :                      >skip3318
 
 
 
3a58 : 68               [ 4]         pla             ;check flags
 
3a59 : 2901             [ 2]         and #1          ;mask carry
 
3a5b : c5b6             [ 3]         cmp adrh
 
                                     trap_ne         ;bad carry
 
3a5d : f002             [ 3]>        beq skip3320
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a5f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a60 : 2a                   >        db      test_num
 
                            >
 
3a61 :                      >skip3320
 
 
 
3a61 : 28               [ 4]         plp
 
3a62 : 08               [ 3]         php             ;save carry for next add
 
3a63 : a5b3             [ 3]         lda ad1
 
3a65 : ed0402           [ 4]         sbc sba2        ;perform subtract
 
3a68 : 08               [ 3]         php
 
3a69 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3a6b : f002             [ 3]>        beq skip3322
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a6d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a6e : 2a                   >        db      test_num
 
                            >
 
3a6f :                      >skip3322
 
 
 
3a6f : 68               [ 4]         pla             ;check flags
 
3a70 : 2901             [ 2]         and #1          ;mask carry
 
3a72 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
3319 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a74 : f002             [ 3]>        beq skip3324
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  370
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a76 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a77 : 2a                   >        db      test_num
 
                            >
 
3a78 :                      >skip3324
 
 
 
3a78 : 28               [ 4]         plp
 
 
331b : 28               [ 4]         plp
 
                             ; decimal ADC / SBC #
                             ; decimal ADC / SBC #
331c : 08               [ 3]         php             ;save carry for subtract
 
331d : a50e             [ 3]         lda ad2
 
331f : 8d2533           [ 4]         sta chkdadi     ;self modify immediate
 
3322 : a50d             [ 3]         lda ad1
 
3325 =                       chkdadi = * + 1         ;operand of the immediate ADC
 
3324 : 6900             [ 2]         adc #0          ;perform add
 
3326 : 08               [ 3]         php
 
3327 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3329 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
332b : 68               [ 4]         pla             ;check flags
3a79 : 08               [ 3]         php             ;save carry for subtract
332c : 2901             [ 2]         and #1          ;mask carry
3a7a : a5b4             [ 3]         lda ad2
332e : c510             [ 3]         cmp adrh
3a7c : 8d823a           [ 4]         sta chkdadi     ;self modify immediate
 
3a7f : a5b3             [ 3]         lda ad1
 
 
 
3a82 =                       chkdadi = * + 1         ;operand of the immediate ADC
 
 
 
3a81 : 6900             [ 2]         adc #0          ;perform add
 
3a83 : 08               [ 3]         php
 
3a84 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3a86 : f002             [ 3]>        beq skip3326
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3a88 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3a89 : 2a                   >        db      test_num
 
                            >
 
3a8a :                      >skip3326
 
 
 
3a8a : 68               [ 4]         pla             ;check flags
 
3a8b : 2901             [ 2]         and #1          ;mask carry
 
3a8d : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
3330 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3a8f : f002             [ 3]>        beq skip3328
 
                            >        trap           ;failed equal (zero)
3332 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3333 : 08               [ 3]         php             ;save carry for next add
3a91 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3334 : a512             [ 3]         lda sb2
3a92 : 2a                   >        db      test_num
3336 : 8d3c33           [ 4]         sta chkdsbi     ;self modify immediate
                            >
3339 : a50d             [ 3]         lda ad1
3a93 :                      >skip3328
333c =                       chkdsbi = * + 1         ;operand of the immediate SBC
 
333b : e900             [ 2]         sbc #0          ;perform subtract
3a93 : 28               [ 4]         plp
333d : 08               [ 3]         php
3a94 : 08               [ 3]         php             ;save carry for next add
333e : c50f             [ 3]         cmp adrl        ;check result
3a95 : a5b8             [ 3]         lda sb2
 
3a97 : 8d9d3a           [ 4]         sta chkdsbi     ;self modify immediate
 
3a9a : a5b3             [ 3]         lda ad1
 
 
 
3a9d =                       chkdsbi = * + 1         ;operand of the immediate SBC
 
 
 
3a9c : e900             [ 2]         sbc #0          ;perform subtract
 
3a9e : 08               [ 3]         php
 
3a9f : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
3340 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3aa1 : f002             [ 3]>        beq skip3330
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  371
3342 : 68               [ 4]         pla             ;check flags
 
3343 : 2901             [ 2]         and #1          ;mask carry
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  244
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3345 : c510             [ 3]         cmp adrh
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3aa3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3aa4 : 2a                   >        db      test_num
 
                            >
 
3aa5 :                      >skip3330
 
 
 
3aa5 : 68               [ 4]         pla             ;check flags
 
3aa6 : 2901             [ 2]         and #1          ;mask carry
 
3aa8 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
3347 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3aaa : f002             [ 3]>        beq skip3332
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3aac : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3aad : 2a                   >        db      test_num
 
                            >
 
3aae :                      >skip3332
 
 
 
3aae : 28               [ 4]         plp
 
 
3349 : 28               [ 4]         plp
 
                             ; decimal ADC / SBC zp,x
                             ; decimal ADC / SBC zp,x
334a : 08               [ 3]         php             ;save carry for subtract
 
334b : a50d             [ 3]         lda ad1
 
334d : 7500             [ 4]         adc 0,x         ;perform add
 
334f : 08               [ 3]         php
 
3350 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3352 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3354 : 68               [ 4]         pla             ;check flags
3aaf : 08               [ 3]         php             ;save carry for subtract
3355 : 2901             [ 2]         and #1          ;mask carry
3ab0 : a5b3             [ 3]         lda ad1
3357 : c510             [ 3]         cmp adrh
3ab2 : 7500             [ 4]         adc 0,x         ;perform add
 
3ab4 : 08               [ 3]         php
 
3ab5 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3ab7 : f002             [ 3]>        beq skip3334
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ab9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3aba : 2a                   >        db      test_num
 
                            >
 
3abb :                      >skip3334
 
 
 
3abb : 68               [ 4]         pla             ;check flags
 
3abc : 2901             [ 2]         and #1          ;mask carry
 
3abe : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
3359 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3ac0 : f002             [ 3]>        beq skip3336
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ac2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ac3 : 2a                   >        db      test_num
 
                            >
 
3ac4 :                      >skip3336
 
 
 
3ac4 : 28               [ 4]         plp
 
3ac5 : 08               [ 3]         php             ;save carry for next add
 
3ac6 : a5b3             [ 3]         lda ad1
 
3ac8 : f504             [ 4]         sbc sb2-ad2,x   ;perform subtract
 
3aca : 08               [ 3]         php
 
3acb : c5b5             [ 3]         cmp adrl        ;check result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  372
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
335b : 28               [ 4]         plp
 
335c : 08               [ 3]         php             ;save carry for next add
 
335d : a50d             [ 3]         lda ad1
 
335f : f504             [ 4]         sbc sb2-ad2,x   ;perform subtract
 
3361 : 08               [ 3]         php
 
3362 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
3364 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3acd : f002             [ 3]>        beq skip3338
 
                            >        trap           ;failed equal (zero)
3366 : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3367 : 2901             [ 2]         and #1          ;mask carry
3acf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3369 : c510             [ 3]         cmp adrh
3ad0 : 2a                   >        db      test_num
 
                            >
 
3ad1 :                      >skip3338
 
 
 
3ad1 : 68               [ 4]         pla             ;check flags
 
3ad2 : 2901             [ 2]         and #1          ;mask carry
 
3ad4 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
336b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3ad6 : f002             [ 3]>        beq skip3340
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ad8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ad9 : 2a                   >        db      test_num
 
                            >
 
3ada :                      >skip3340
 
 
 
3ada : 28               [ 4]         plp
 
 
336d : 28               [ 4]         plp
 
                             ; decimal ADC / SBC abs,x
                             ; decimal ADC / SBC abs,x
336e : 08               [ 3]         php             ;save carry for subtract
 
336f : a50d             [ 3]         lda ad1
 
3371 : 7df501           [ 4]         adc ada2-ad2,x  ;perform add
 
3374 : 08               [ 3]         php
 
3375 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3377 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3379 : 68               [ 4]         pla             ;check flags
3adb : 08               [ 3]         php             ;save carry for subtract
337a : 2901             [ 2]         and #1          ;mask carry
3adc : a5b3             [ 3]         lda ad1
337c : c510             [ 3]         cmp adrh
3ade : 7d4f01           [ 4]         adc ada2-ad2,x  ;perform add
 
3ae1 : 08               [ 3]         php
 
3ae2 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3ae4 : f002             [ 3]>        beq skip3342
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ae6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ae7 : 2a                   >        db      test_num
 
                            >
 
3ae8 :                      >skip3342
 
 
 
3ae8 : 68               [ 4]         pla             ;check flags
 
3ae9 : 2901             [ 2]         and #1          ;mask carry
 
3aeb : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
337e : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3aed : f002             [ 3]>        beq skip3344
 
                            >        trap           ;failed equal (zero)
3380 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3381 : 08               [ 3]         php             ;save carry for next add
3aef : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3382 : a50d             [ 3]         lda ad1
3af0 : 2a                   >        db      test_num
3384 : fdf601           [ 4]         sbc sba2-ad2,x  ;perform subtract
                            >
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  245
3af1 :                      >skip3344
 
 
 
3af1 : 28               [ 4]         plp
 
3af2 : 08               [ 3]         php             ;save carry for next add
 
3af3 : a5b3             [ 3]         lda ad1
 
3af5 : fd5001           [ 4]         sbc sba2-ad2,x  ;perform subtract
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  373
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3387 : 08               [ 3]         php
3af8 : 08               [ 3]         php
3388 : c50f             [ 3]         cmp adrl        ;check result
3af9 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
338a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3afb : f002             [ 3]>        beq skip3346
 
                            >        trap           ;failed equal (zero)
338c : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
338d : 2901             [ 2]         and #1          ;mask carry
3afd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
338f : c510             [ 3]         cmp adrh
3afe : 2a                   >        db      test_num
 
                            >
 
3aff :                      >skip3346
 
 
 
3aff : 68               [ 4]         pla             ;check flags
 
3b00 : 2901             [ 2]         and #1          ;mask carry
 
3b02 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
3391 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b04 : f002             [ 3]>        beq skip3348
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b06 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b07 : 2a                   >        db      test_num
 
                            >
 
3b08 :                      >skip3348
 
 
 
3b08 : 28               [ 4]         plp
 
 
3393 : 28               [ 4]         plp
 
                             ; decimal ADC / SBC abs,y
                             ; decimal ADC / SBC abs,y
3394 : 08               [ 3]         php             ;save carry for subtract
 
3395 : a50d             [ 3]         lda ad1
 
3397 : 790401           [ 4]         adc ada2-$ff,y  ;perform add
 
339a : 08               [ 3]         php
 
339b : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
339d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
339f : 68               [ 4]         pla             ;check flags
3b09 : 08               [ 3]         php             ;save carry for subtract
33a0 : 2901             [ 2]         and #1          ;mask carry
3b0a : a5b3             [ 3]         lda ad1
33a2 : c510             [ 3]         cmp adrh
3b0c : 790401           [ 4]         adc ada2-$ff,y  ;perform add
 
3b0f : 08               [ 3]         php
 
3b10 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3b12 : f002             [ 3]>        beq skip3350
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b14 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b15 : 2a                   >        db      test_num
 
                            >
 
3b16 :                      >skip3350
 
 
 
3b16 : 68               [ 4]         pla             ;check flags
 
3b17 : 2901             [ 2]         and #1          ;mask carry
 
3b19 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33a4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b1b : f002             [ 3]>        beq skip3352
 
                            >        trap           ;failed equal (zero)
33a6 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33a7 : 08               [ 3]         php             ;save carry for next add
3b1d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33a8 : a50d             [ 3]         lda ad1
3b1e : 2a                   >        db      test_num
33aa : f90501           [ 4]         sbc sba2-$ff,y  ;perform subtract
                            >
33ad : 08               [ 3]         php
3b1f :                      >skip3352
33ae : c50f             [ 3]         cmp adrl        ;check result
 
 
3b1f : 28               [ 4]         plp
 
3b20 : 08               [ 3]         php             ;save carry for next add
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  374
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3b21 : a5b3             [ 3]         lda ad1
 
3b23 : f90501           [ 4]         sbc sba2-$ff,y  ;perform subtract
 
3b26 : 08               [ 3]         php
 
3b27 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
33b0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b29 : f002             [ 3]>        beq skip3354
 
                            >        trap           ;failed equal (zero)
33b2 : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33b3 : 2901             [ 2]         and #1          ;mask carry
3b2b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33b5 : c510             [ 3]         cmp adrh
3b2c : 2a                   >        db      test_num
 
                            >
 
3b2d :                      >skip3354
 
 
 
3b2d : 68               [ 4]         pla             ;check flags
 
3b2e : 2901             [ 2]         and #1          ;mask carry
 
3b30 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33b7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b32 : f002             [ 3]>        beq skip3356
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b34 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b35 : 2a                   >        db      test_num
 
                            >
 
3b36 :                      >skip3356
 
 
33b9 : 28               [ 4]         plp
3b36 : 28               [ 4]         plp
                             ; decimal ADC / SBC (zp,x)
 
33ba : 08               [ 3]         php             ;save carry for subtract
 
33bb : a50d             [ 3]         lda ad1
 
33bd : 6144             [ 6]         adc (lo adi2-ad2,x) ;perform add
 
33bf : 08               [ 3]         php
 
33c0 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
33c2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
33c4 : 68               [ 4]         pla             ;check flags
                             ; decimal ADC / SBC (zp,x)
33c5 : 2901             [ 2]         and #1          ;mask carry
 
33c7 : c510             [ 3]         cmp adrh
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  246
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
3b37 : 08               [ 3]         php             ;save carry for subtract
 
3b38 : a5b3             [ 3]         lda ad1
 
3b3a : 6144             [ 6]         adc (lo adi2-ad2,x) ;perform add
 
3b3c : 08               [ 3]         php
 
3b3d : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3b3f : f002             [ 3]>        beq skip3358
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b41 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b42 : 2a                   >        db      test_num
 
                            >
 
3b43 :                      >skip3358
 
 
 
3b43 : 68               [ 4]         pla             ;check flags
 
3b44 : 2901             [ 2]         and #1          ;mask carry
 
3b46 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33c9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b48 : f002             [ 3]>        beq skip3360
 
                            >        trap           ;failed equal (zero)
33cb : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33cc : 08               [ 3]         php             ;save carry for next add
3b4a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33cd : a50d             [ 3]         lda ad1
3b4b : 2a                   >        db      test_num
33cf : e146             [ 6]         sbc (lo sbi2-ad2,x) ;perform subtract
                            >
33d1 : 08               [ 3]         php
3b4c :                      >skip3360
33d2 : c50f             [ 3]         cmp adrl        ;check result
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  375
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3b4c : 28               [ 4]         plp
 
3b4d : 08               [ 3]         php             ;save carry for next add
 
3b4e : a5b3             [ 3]         lda ad1
 
3b50 : e146             [ 6]         sbc (lo sbi2-ad2,x) ;perform subtract
 
3b52 : 08               [ 3]         php
 
3b53 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
33d4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b55 : f002             [ 3]>        beq skip3362
 
                            >        trap           ;failed equal (zero)
33d6 : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33d7 : 2901             [ 2]         and #1          ;mask carry
3b57 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33d9 : c510             [ 3]         cmp adrh
3b58 : 2a                   >        db      test_num
 
                            >
 
3b59 :                      >skip3362
 
 
 
3b59 : 68               [ 4]         pla             ;check flags
 
3b5a : 2901             [ 2]         and #1          ;mask carry
 
3b5c : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33db : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b5e : f002             [ 3]>        beq skip3364
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b60 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b61 : 2a                   >        db      test_num
 
                            >
 
3b62 :                      >skip3364
 
 
 
3b62 : 28               [ 4]         plp
 
 
33dd : 28               [ 4]         plp
 
                             ; decimal ADC / SBC (abs),y
                             ; decimal ADC / SBC (abs),y
33de : 08               [ 3]         php             ;save carry for subtract
 
33df : a50d             [ 3]         lda ad1
 
33e1 : 7156             [ 5]         adc (adiy2),y   ;perform add
 
33e3 : 08               [ 3]         php
 
33e4 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
33e6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
33e8 : 68               [ 4]         pla             ;check flags
3b63 : 08               [ 3]         php             ;save carry for subtract
33e9 : 2901             [ 2]         and #1          ;mask carry
3b64 : a5b3             [ 3]         lda ad1
33eb : c510             [ 3]         cmp adrh
3b66 : 71fc             [ 5]         adc (adiy2),y   ;perform add
 
3b68 : 08               [ 3]         php
 
3b69 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3b6b : f002             [ 3]>        beq skip3366
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b6d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b6e : 2a                   >        db      test_num
 
                            >
 
3b6f :                      >skip3366
 
 
 
3b6f : 68               [ 4]         pla             ;check flags
 
3b70 : 2901             [ 2]         and #1          ;mask carry
 
3b72 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33ed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b74 : f002             [ 3]>        beq skip3368
 
                            >        trap           ;failed equal (zero)
33ef : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33f0 : 08               [ 3]         php             ;save carry for next add
3b76 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33f1 : a50d             [ 3]         lda ad1
3b77 : 2a                   >        db      test_num
33f3 : f158             [ 5]         sbc (sbiy2),y   ;perform subtract
                            >
33f5 : 08               [ 3]         php
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  376
33f6 : c50f             [ 3]         cmp adrl        ;check result
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3b78 :                      >skip3368
 
 
 
3b78 : 28               [ 4]         plp
 
3b79 : 08               [ 3]         php             ;save carry for next add
 
3b7a : a5b3             [ 3]         lda ad1
 
3b7c : f1fe             [ 5]         sbc (sbiy2),y   ;perform subtract
 
3b7e : 08               [ 3]         php
 
3b7f : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
33f8 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b81 : f002             [ 3]>        beq skip3370
 
                            >        trap           ;failed equal (zero)
33fa : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
33fb : 2901             [ 2]         and #1          ;mask carry
3b83 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
33fd : c510             [ 3]         cmp adrh
3b84 : 2a                   >        db      test_num
 
                            >
 
3b85 :                      >skip3370
 
 
 
3b85 : 68               [ 4]         pla             ;check flags
 
3b86 : 2901             [ 2]         and #1          ;mask carry
 
3b88 : c5b6             [ 3]         cmp adrh
                                     trap_ne         ;bad carry
                                     trap_ne         ;bad carry
33ff : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3b8a : f002             [ 3]>        beq skip3372
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3b8c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3b8d : 2a                   >        db      test_num
 
                            >
 
3b8e :                      >skip3372
 
 
3401 : 28               [ 4]         plp
3b8e : 28               [ 4]         plp
3402 : 60               [ 6]         rts
3b8f : 60               [ 6]         rts
 
 
                             ; core subroutine of the full binary add/subtract test
                             ; core subroutine of the full binary add/subtract test
                             ; iterates through all combinations of operands and carry input
                             ; iterates through all combinations of operands and carry input
                             ; uses increments/decrements to predict result & result flags
                             ; uses increments/decrements to predict result & result flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  247
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3403 : a511             [ 3] chkadd  lda adrf        ;add V-flag if overflow
3b90 : a5b7             [ 3] chkadd  lda adrf        ;add V-flag if overflow
3405 : 2983             [ 2]         and #$83        ;keep N-----ZC / clear V
3b92 : 2983             [ 2]         and #$83        ;keep N-----ZC / clear V
3407 : 48               [ 3]         pha
3b94 : 48               [ 3]         pha
3408 : a50d             [ 3]         lda ad1         ;test sign unequal between operands
3b95 : a5b3             [ 3]         lda ad1         ;test sign unequal between operands
340a : 450e             [ 3]         eor ad2
3b97 : 45b4             [ 3]         eor ad2
340c : 300a             [ 3]         bmi ckad1       ;no overflow possible - operands have different sign
3b99 : 300a             [ 3]         bmi ckad1       ;no overflow possible - operands have different sign
340e : a50d             [ 3]         lda ad1         ;test sign equal between operands and result
3b9b : a5b3             [ 3]         lda ad1         ;test sign equal between operands and result
3410 : 450f             [ 3]         eor adrl
3b9d : 45b5             [ 3]         eor adrl
3412 : 1004             [ 3]         bpl ckad1       ;no overflow occured - operand and result have same sign
3b9f : 1004             [ 3]         bpl ckad1       ;no overflow occured - operand and result have same sign
3414 : 68               [ 4]         pla
3ba1 : 68               [ 4]         pla
3415 : 0940             [ 2]         ora #$40        ;set V
3ba2 : 0940             [ 2]         ora #$40        ;set V
3417 : 48               [ 3]         pha
3ba4 : 48               [ 3]         pha
3418 : 68               [ 4] ckad1   pla
3ba5 : 68               [ 4] ckad1   pla
3419 : 8511             [ 3]         sta adrf        ;save expected flags
3ba6 : 85b7             [ 3]         sta adrf        ;save expected flags
 
 
                             ; binary ADC / SBC zp
                             ; binary ADC / SBC zp
341b : 08               [ 3]         php             ;save carry for subtract
 
341c : a50d             [ 3]         lda ad1
 
341e : 650e             [ 3]         adc ad2         ;perform add
 
3420 : 08               [ 3]         php
 
3421 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3423 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3425 : 68               [ 4]         pla             ;check flags
3ba8 : 08               [ 3]         php             ;save carry for subtract
3426 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3ba9 : a5b3             [ 3]         lda ad1
3428 : c511             [ 3]         cmp adrf
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  377
                                     trap_ne         ;bad flags
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
342a : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
342c : 28               [ 4]         plp
3bab : 65b4             [ 3]         adc ad2         ;perform add
342d : 08               [ 3]         php             ;save carry for next add
3bad : 08               [ 3]         php
342e : a50d             [ 3]         lda ad1
3bae : c5b5             [ 3]         cmp adrl        ;check result
3430 : e512             [ 3]         sbc sb2         ;perform subtract
 
3432 : 08               [ 3]         php
 
3433 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
3435 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3bb0 : f002             [ 3]>        beq skip3374
 
                            >        trap           ;failed equal (zero)
3437 : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3438 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3bb2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
343a : c511             [ 3]         cmp adrf
3bb3 : 2a                   >        db      test_num
 
                            >
 
3bb4 :                      >skip3374
 
 
 
3bb4 : 68               [ 4]         pla             ;check flags
 
3bb5 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3bb7 : c5b7             [ 3]         cmp adrf
 
                                     trap_ne         ;bad flags
 
3bb9 : f002             [ 3]>        beq skip3376
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3bbb : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3bbc : 2a                   >        db      test_num
 
                            >
 
3bbd :                      >skip3376
 
 
 
3bbd : 28               [ 4]         plp
 
3bbe : 08               [ 3]         php             ;save carry for next add
 
3bbf : a5b3             [ 3]         lda ad1
 
3bc1 : e5b8             [ 3]         sbc sb2         ;perform subtract
 
3bc3 : 08               [ 3]         php
 
3bc4 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3bc6 : f002             [ 3]>        beq skip3378
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3bc8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3bc9 : 2a                   >        db      test_num
 
                            >
 
3bca :                      >skip3378
 
 
 
3bca : 68               [ 4]         pla             ;check flags
 
3bcb : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3bcd : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
343c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3bcf : f002             [ 3]>        beq skip3380
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3bd1 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3bd2 : 2a                   >        db      test_num
 
                            >
 
3bd3 :                      >skip3380
 
 
 
3bd3 : 28               [ 4]         plp
 
 
343e : 28               [ 4]         plp
 
                             ; binary ADC / SBC abs
                             ; binary ADC / SBC abs
343f : 08               [ 3]         php             ;save carry for subtract
 
3440 : a50d             [ 3]         lda ad1
 
3442 : 6d0302           [ 4]         adc ada2        ;perform add
 
3445 : 08               [ 3]         php
 
3446 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3448 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
344a : 68               [ 4]         pla             ;check flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  378
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  248
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
344b : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3bd4 : 08               [ 3]         php             ;save carry for subtract
344d : c511             [ 3]         cmp adrf
3bd5 : a5b3             [ 3]         lda ad1
 
3bd7 : 6d0302           [ 4]         adc ada2        ;perform add
 
3bda : 08               [ 3]         php
 
3bdb : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3bdd : f002             [ 3]>        beq skip3382
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3bdf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3be0 : 2a                   >        db      test_num
 
                            >
 
3be1 :                      >skip3382
 
 
 
3be1 : 68               [ 4]         pla             ;check flags
 
3be2 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3be4 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
344f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3be6 : f002             [ 3]>        beq skip3384
 
                            >        trap           ;failed equal (zero)
3451 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3452 : 08               [ 3]         php             ;save carry for next add
3be8 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3453 : a50d             [ 3]         lda ad1
3be9 : 2a                   >        db      test_num
3455 : ed0402           [ 4]         sbc sba2        ;perform subtract
                            >
3458 : 08               [ 3]         php
3bea :                      >skip3384
3459 : c50f             [ 3]         cmp adrl        ;check result
 
 
3bea : 28               [ 4]         plp
 
3beb : 08               [ 3]         php             ;save carry for next add
 
3bec : a5b3             [ 3]         lda ad1
 
3bee : ed0402           [ 4]         sbc sba2        ;perform subtract
 
3bf1 : 08               [ 3]         php
 
3bf2 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
345b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3bf4 : f002             [ 3]>        beq skip3386
 
                            >        trap           ;failed equal (zero)
345d : 68               [ 4]         pla             ;check flags
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
345e : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3bf6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3460 : c511             [ 3]         cmp adrf
3bf7 : 2a                   >        db      test_num
 
                            >
 
3bf8 :                      >skip3386
 
 
 
3bf8 : 68               [ 4]         pla             ;check flags
 
3bf9 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3bfb : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3462 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3bfd : f002             [ 4]>        beq skip3388
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3bff : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c00 : 2a                   >        db      test_num
 
                            >
 
3c01 :                      >skip3388
 
 
 
3c01 : 28               [ 4]         plp
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  379
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3464 : 28               [ 4]         plp
 
                             ; binary ADC / SBC #
                             ; binary ADC / SBC #
3465 : 08               [ 3]         php             ;save carry for subtract
 
3466 : a50e             [ 3]         lda ad2
 
3468 : 8d6e34           [ 4]         sta chkadi      ;self modify immediate
 
346b : a50d             [ 3]         lda ad1
 
346e =                       chkadi  = * + 1         ;operand of the immediate ADC
 
346d : 6900             [ 2]         adc #0          ;perform add
 
346f : 08               [ 3]         php
 
3470 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3472 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3474 : 68               [ 4]         pla             ;check flags
3c02 : 08               [ 3]         php             ;save carry for subtract
3475 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c03 : a5b4             [ 3]         lda ad2
3477 : c511             [ 3]         cmp adrf
3c05 : 8d0b3c           [ 4]         sta chkadi      ;self modify immediate
 
3c08 : a5b3             [ 3]         lda ad1
 
 
 
3c0b =                       chkadi  = * + 1         ;operand of the immediate ADC
 
 
 
3c0a : 6900             [ 2]         adc #0          ;perform add
 
3c0c : 08               [ 3]         php
 
3c0d : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3c0f : f002             [ 3]>        beq skip3390
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c11 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c12 : 2a                   >        db      test_num
 
                            >
 
3c13 :                      >skip3390
 
 
 
3c13 : 68               [ 4]         pla             ;check flags
 
3c14 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3c16 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3479 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c18 : f002             [ 3]>        beq skip3392
 
                            >        trap           ;failed equal (zero)
347b : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
347c : 08               [ 3]         php             ;save carry for next add
3c1a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
347d : a512             [ 3]         lda sb2
3c1b : 2a                   >        db      test_num
347f : 8d8534           [ 4]         sta chksbi      ;self modify immediate
                            >
3482 : a50d             [ 3]         lda ad1
3c1c :                      >skip3392
3485 =                       chksbi  = * + 1         ;operand of the immediate SBC
 
3484 : e900             [ 2]         sbc #0          ;perform subtract
3c1c : 28               [ 4]         plp
3486 : 08               [ 3]         php
3c1d : 08               [ 3]         php             ;save carry for next add
3487 : c50f             [ 3]         cmp adrl        ;check result
3c1e : a5b8             [ 3]         lda sb2
 
3c20 : 8d263c           [ 4]         sta chksbi      ;self modify immediate
 
3c23 : a5b3             [ 3]         lda ad1
 
 
 
3c26 =                       chksbi  = * + 1         ;operand of the immediate SBC
 
 
 
3c25 : e900             [ 2]         sbc #0          ;perform subtract
 
3c27 : 08               [ 3]         php
 
3c28 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
3489 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c2a : f002             [ 3]>        beq skip3394
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c2c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c2d : 2a                   >        db      test_num
 
                            >
 
3c2e :                      >skip3394
 
 
348b : 68               [ 4]         pla             ;check flags
3c2e : 68               [ 4]         pla             ;check flags
348c : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c2f : 29c3             [ 2]         and #$c3        ;mask NV----ZC
348e : c511             [ 3]         cmp adrf
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  380
                                     trap_ne         ;bad flags
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  249
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3490 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c31 : c5b7             [ 3]         cmp adrf
 
                                     trap_ne         ;bad flags
 
3c33 : f002             [ 3]>        beq skip3396
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c35 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c36 : 2a                   >        db      test_num
 
                            >
 
3c37 :                      >skip3396
 
 
 
3c37 : 28               [ 4]         plp
 
 
3492 : 28               [ 4]         plp
 
                             ; binary ADC / SBC zp,x
                             ; binary ADC / SBC zp,x
3493 : 08               [ 3]         php             ;save carry for subtract
 
3494 : a50d             [ 3]         lda ad1
 
3496 : 7500             [ 4]         adc 0,x         ;perform add
 
3498 : 08               [ 3]         php
 
3499 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
349b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
349d : 68               [ 4]         pla             ;check flags
3c38 : 08               [ 3]         php             ;save carry for subtract
349e : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c39 : a5b3             [ 3]         lda ad1
34a0 : c511             [ 3]         cmp adrf
3c3b : 7500             [ 4]         adc 0,x         ;perform add
 
3c3d : 08               [ 3]         php
 
3c3e : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3c40 : f002             [ 3]>        beq skip3398
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c42 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c43 : 2a                   >        db      test_num
 
                            >
 
3c44 :                      >skip3398
 
 
 
3c44 : 68               [ 4]         pla             ;check flags
 
3c45 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3c47 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
34a2 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c49 : f002             [ 3]>        beq skip3400
 
                            >        trap           ;failed equal (zero)
34a4 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
34a5 : 08               [ 3]         php             ;save carry for next add
3c4b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
34a6 : a50d             [ 3]         lda ad1
3c4c : 2a                   >        db      test_num
34a8 : f504             [ 4]         sbc sb2-ad2,x   ;perform subtract
                            >
34aa : 08               [ 3]         php
3c4d :                      >skip3400
34ab : c50f             [ 3]         cmp adrl        ;check result
 
 
3c4d : 28               [ 4]         plp
 
3c4e : 08               [ 3]         php             ;save carry for next add
 
3c4f : a5b3             [ 3]         lda ad1
 
3c51 : f504             [ 4]         sbc sb2-ad2,x   ;perform subtract
 
3c53 : 08               [ 3]         php
 
3c54 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
34ad : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c56 : f002             [ 3]>        beq skip3402
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c58 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c59 : 2a                   >        db      test_num
 
                            >
 
3c5a :                      >skip3402
 
 
34af : 68               [ 4]         pla             ;check flags
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  381
34b0 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
34b2 : c511             [ 3]         cmp adrf
 
 
3c5a : 68               [ 4]         pla             ;check flags
 
3c5b : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3c5d : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
34b4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c5f : f002             [ 3]>        beq skip3404
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c61 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c62 : 2a                   >        db      test_num
 
                            >
 
3c63 :                      >skip3404
 
 
 
3c63 : 28               [ 4]         plp
 
 
34b6 : 28               [ 4]         plp
 
                             ; binary ADC / SBC abs,x
                             ; binary ADC / SBC abs,x
34b7 : 08               [ 3]         php             ;save carry for subtract
 
34b8 : a50d             [ 3]         lda ad1
 
34ba : 7df501           [ 4]         adc ada2-ad2,x  ;perform add
 
34bd : 08               [ 3]         php
 
34be : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
34c0 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
34c2 : 68               [ 4]         pla             ;check flags
3c64 : 08               [ 3]         php             ;save carry for subtract
34c3 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c65 : a5b3             [ 3]         lda ad1
34c5 : c511             [ 3]         cmp adrf
3c67 : 7d4f01           [ 4]         adc ada2-ad2,x  ;perform add
 
3c6a : 08               [ 3]         php
 
3c6b : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3c6d : f002             [ 3]>        beq skip3406
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c6f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c70 : 2a                   >        db      test_num
 
                            >
 
3c71 :                      >skip3406
 
 
 
3c71 : 68               [ 4]         pla             ;check flags
 
3c72 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3c74 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
34c7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c76 : f002             [ 3]>        beq skip3408
 
                            >        trap           ;failed equal (zero)
34c9 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
34ca : 08               [ 3]         php             ;save carry for next add
3c78 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
34cb : a50d             [ 3]         lda ad1
3c79 : 2a                   >        db      test_num
34cd : fdf601           [ 4]         sbc sba2-ad2,x  ;perform subtract
                            >
34d0 : 08               [ 3]         php
3c7a :                      >skip3408
34d1 : c50f             [ 3]         cmp adrl        ;check result
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  250
3c7a : 28               [ 4]         plp
 
3c7b : 08               [ 3]         php             ;save carry for next add
 
3c7c : a5b3             [ 3]         lda ad1
 
3c7e : fd5001           [ 4]         sbc sba2-ad2,x  ;perform subtract
 
3c81 : 08               [ 3]         php
 
3c82 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3c84 : f002             [ 3]>        beq skip3410
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c86 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c87 : 2a                   >        db      test_num
 
                            >
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  382
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     trap_ne         ;bad result
3c88 :                      >skip3410
34d3 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
34d5 : 68               [ 4]         pla             ;check flags
3c88 : 68               [ 4]         pla             ;check flags
34d6 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c89 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
34d8 : c511             [ 3]         cmp adrf
3c8b : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
34da : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3c8d : f002             [ 3]>        beq skip3412
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c8f : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c90 : 2a                   >        db      test_num
 
                            >
 
3c91 :                      >skip3412
 
 
 
3c91 : 28               [ 4]         plp
 
 
34dc : 28               [ 4]         plp
 
                             ; binary ADC / SBC abs,y
                             ; binary ADC / SBC abs,y
34dd : 08               [ 3]         php             ;save carry for subtract
 
34de : a50d             [ 3]         lda ad1
 
34e0 : 790401           [ 4]         adc ada2-$ff,y  ;perform add
 
34e3 : 08               [ 3]         php
 
34e4 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
34e6 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
34e8 : 68               [ 4]         pla             ;check flags
3c92 : 08               [ 3]         php             ;save carry for subtract
34e9 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3c93 : a5b3             [ 3]         lda ad1
34eb : c511             [ 3]         cmp adrf
3c95 : 790401           [ 4]         adc ada2-$ff,y  ;perform add
 
3c98 : 08               [ 3]         php
 
3c99 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3c9b : f002             [ 3]>        beq skip3414
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3c9d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3c9e : 2a                   >        db      test_num
 
                            >
 
3c9f :                      >skip3414
 
 
 
3c9f : 68               [ 4]         pla             ;check flags
 
3ca0 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3ca2 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
34ed : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3ca4 : f002             [ 3]>        beq skip3416
 
                            >        trap           ;failed equal (zero)
34ef : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
34f0 : 08               [ 3]         php             ;save carry for next add
3ca6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
34f1 : a50d             [ 3]         lda ad1
3ca7 : 2a                   >        db      test_num
34f3 : f90501           [ 4]         sbc sba2-$ff,y  ;perform subtract
                            >
34f6 : 08               [ 3]         php
3ca8 :                      >skip3416
34f7 : c50f             [ 3]         cmp adrl        ;check result
 
 
3ca8 : 28               [ 4]         plp
 
3ca9 : 08               [ 3]         php             ;save carry for next add
 
3caa : a5b3             [ 3]         lda ad1
 
3cac : f90501           [ 4]         sbc sba2-$ff,y  ;perform subtract
 
3caf : 08               [ 3]         php
 
3cb0 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
34f9 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3cb2 : f002             [ 3]>        beq skip3418
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3cb4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  383
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
34fb : 68               [ 4]         pla             ;check flags
3cb5 : 2a                   >        db      test_num
34fc : 29c3             [ 2]         and #$c3        ;mask NV----ZC
                            >
34fe : c511             [ 3]         cmp adrf
3cb6 :                      >skip3418
 
 
 
3cb6 : 68               [ 4]         pla             ;check flags
 
3cb7 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3cb9 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3500 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3cbb : f002             [ 3]>        beq skip3420
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3cbd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3cbe : 2a                   >        db      test_num
 
                            >
 
3cbf :                      >skip3420
 
 
 
3cbf : 28               [ 4]         plp
 
 
3502 : 28               [ 4]         plp
 
                             ; binary ADC / SBC (zp,x)
                             ; binary ADC / SBC (zp,x)
3503 : 08               [ 3]         php             ;save carry for subtract
 
3504 : a50d             [ 3]         lda ad1
 
3506 : 6144             [ 6]         adc (lo adi2-ad2,x) ;perform add
 
3508 : 08               [ 3]         php
 
3509 : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
350b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
350d : 68               [ 4]         pla             ;check flags
3cc0 : 08               [ 3]         php             ;save carry for subtract
350e : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3cc1 : a5b3             [ 3]         lda ad1
3510 : c511             [ 3]         cmp adrf
3cc3 : 6144             [ 6]         adc (lo adi2-ad2,x) ;perform add
 
3cc5 : 08               [ 3]         php
 
3cc6 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3cc8 : f002             [ 3]>        beq skip3422
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3cca : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ccb : 2a                   >        db      test_num
 
                            >
 
3ccc :                      >skip3422
 
 
 
3ccc : 68               [ 4]         pla             ;check flags
 
3ccd : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3ccf : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3512 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3cd1 : f002             [ 3]>        beq skip3424
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  251
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3cd3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3cd4 : 2a                   >        db      test_num
 
                            >
 
3cd5 :                      >skip3424
 
 
 
3cd5 : 28               [ 4]         plp
 
3cd6 : 08               [ 3]         php             ;save carry for next add
 
3cd7 : a5b3             [ 3]         lda ad1
 
3cd9 : e146             [ 6]         sbc (lo sbi2-ad2,x) ;perform subtract
 
3cdb : 08               [ 3]         php
 
3cdc : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3cde : f002             [ 3]>        beq skip3426
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  384
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ce0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ce1 : 2a                   >        db      test_num
 
                            >
 
3ce2 :                      >skip3426
 
 
3514 : 28               [ 4]         plp
3ce2 : 68               [ 4]         pla             ;check flags
3515 : 08               [ 3]         php             ;save carry for next add
3ce3 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3516 : a50d             [ 3]         lda ad1
3ce5 : c5b7             [ 3]         cmp adrf
3518 : e146             [ 6]         sbc (lo sbi2-ad2,x) ;perform subtract
 
351a : 08               [ 3]         php
 
351b : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
351d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
351f : 68               [ 4]         pla             ;check flags
 
3520 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3522 : c511             [ 3]         cmp adrf
 
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3524 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3ce7 : f002             [ 3]>        beq skip3428
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ce9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3cea : 2a                   >        db      test_num
 
                            >
 
3ceb :                      >skip3428
 
 
 
3ceb : 28               [ 4]         plp
 
 
3526 : 28               [ 4]         plp
 
                             ; binary ADC / SBC (abs),y
                             ; binary ADC / SBC (abs),y
3527 : 08               [ 3]         php             ;save carry for subtract
 
3528 : a50d             [ 3]         lda ad1
 
352a : 7156             [ 5]         adc (adiy2),y   ;perform add
 
352c : 08               [ 3]         php
 
352d : c50f             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
352f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
 
 
 
3531 : 68               [ 4]         pla             ;check flags
3cec : 08               [ 3]         php             ;save carry for subtract
3532 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
3ced : a5b3             [ 3]         lda ad1
3534 : c511             [ 3]         cmp adrf
3cef : 71fc             [ 5]         adc (adiy2),y   ;perform add
 
3cf1 : 08               [ 3]         php
 
3cf2 : c5b5             [ 3]         cmp adrl        ;check result
 
                                     trap_ne         ;bad result
 
3cf4 : f002             [ 3]>        beq skip3430
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3cf6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3cf7 : 2a                   >        db      test_num
 
                            >
 
3cf8 :                      >skip3430
 
 
 
3cf8 : 68               [ 4]         pla             ;check flags
 
3cf9 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3cfb : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3536 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3cfd : f002             [ 4]>        beq skip3432
 
                            >        trap           ;failed equal (zero)
3538 : 28               [ 4]         plp
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3539 : 08               [ 3]         php             ;save carry for next add
3cff : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
353a : a50d             [ 3]         lda ad1
3d00 : 2a                   >        db      test_num
353c : f158             [ 5]         sbc (sbiy2),y   ;perform subtract
                            >
353e : 08               [ 3]         php
3d01 :                      >skip3432
353f : c50f             [ 3]         cmp adrl        ;check result
 
 
3d01 : 28               [ 4]         plp
 
3d02 : 08               [ 3]         php             ;save carry for next add
 
3d03 : a5b3             [ 3]         lda ad1
 
3d05 : f1fe             [ 5]         sbc (sbiy2),y   ;perform subtract
 
3d07 : 08               [ 3]         php
 
3d08 : c5b5             [ 3]         cmp adrl        ;check result
                                     trap_ne         ;bad result
                                     trap_ne         ;bad result
3541 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  385
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
3543 : 68               [ 4]         pla             ;check flags
3d0a : f002             [ 3]>        beq skip3434
3544 : 29c3             [ 2]         and #$c3        ;mask NV----ZC
                            >        trap           ;failed equal (zero)
3546 : c511             [ 3]         cmp adrf
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d0c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d0d : 2a                   >        db      test_num
 
                            >
 
3d0e :                      >skip3434
 
 
 
3d0e : 68               [ 4]         pla             ;check flags
 
3d0f : 29c3             [ 2]         and #$c3        ;mask NV----ZC
 
3d11 : c5b7             [ 3]         cmp adrf
                                     trap_ne         ;bad flags
                                     trap_ne         ;bad flags
3548 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d13 : f002             [ 3]>        beq skip3436
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d15 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d16 : 2a                   >        db      test_num
 
                            >
 
3d17 :                      >skip3436
 
 
354a : 28               [ 4]         plp
3d17 : 28               [ 4]         plp
354b : 60               [ 6]         rts
3d18 : 60               [ 6]         rts
 
 
                             ; target for the jump absolute test
                             ; target for the jump absolute test
354c : 88               [ 2]         dey
 
354d : 88               [ 2]         dey
 
354e :                       test_far
 
354e : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  252
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
354f : 88               [ 2]         dey
3d19 : 88               [ 2]         dey
3550 : 88               [ 2]         dey
3d1a : 88               [ 2]         dey
3551 : 88               [ 2]         dey
3d1b :                       test_far
3552 : 28               [ 4]         plp
3d1b : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
3d1c : 88               [ 2]         dey
 
3d1d : 88               [ 2]         dey
 
3d1e : 88               [ 2]         dey
 
3d1f : 28               [ 4]         plp
                                     trap_cs         ;flags loaded?
                                     trap_cs         ;flags loaded?
3553 : b0fe             [ 3]>        bcs *           ;failed carry set
3d20 : 9002             [ 3]>        bcc skip3438
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d22 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d23 : 2a                   >        db      test_num
 
                            >
 
3d24 :                      >skip3438
 
 
                                     trap_vs
                                     trap_vs
3555 : 70fe             [ 3]>        bvs *           ;failed overflow set
3d24 : 5002             [ 3]>        bvc skip3440
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d26 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d27 : 2a                   >        db      test_num
 
                            >
 
3d28 :                      >skip3440
 
 
                                     trap_mi
                                     trap_mi
3557 : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
3d28 : 1002             [ 3]>        bpl skip3442
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  386
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3d2a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d2b : 2a                   >        db      test_num
 
                            >
 
3d2c :                      >skip3442
 
 
                                     trap_eq
                                     trap_eq
3559 : f0fe             [ 3]>        beq *           ;failed equal (zero)
3d2c : d002             [ 3]>        bne skip3444
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d2e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d2f : 2a                   >        db      test_num
 
                            >
 
3d30 :                      >skip3444
 
 
355b : c946             [ 2]         cmp #'F'        ;registers loaded?
3d30 : c946             [ 2]         cmp #'F'        ;registers loaded?
                                     trap_ne
                                     trap_ne
355d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d32 : f002             [ 3]>        beq skip3446
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d34 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d35 : 2a                   >        db      test_num
 
                            >
 
3d36 :                      >skip3446
 
 
355f : e041             [ 2]         cpx #'A'
3d36 : e041             [ 2]         cpx #'A'
                                     trap_ne
                                     trap_ne
3561 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d38 : f002             [ 3]>        beq skip3448
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d3a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d3b : 2a                   >        db      test_num
 
                            >
 
3d3c :                      >skip3448
 
 
3563 : c04f             [ 2]         cpy #('R'-3)
3d3c : c04f             [ 2]         cpy #('R'-3)
                                     trap_ne
                                     trap_ne
3565 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d3e : f002             [ 3]>        beq skip3450
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d40 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d41 : 2a                   >        db      test_num
 
                            >
 
3d42 :                      >skip3450
 
 
3567 : 48               [ 3]         pha             ;save a,x
3d42 : 48               [ 3]         pha             ;save a,x
3568 : 8a               [ 2]         txa
3d43 : 8a               [ 2]         txa
3569 : 48               [ 3]         pha
3d44 : 48               [ 3]         pha
356a : ba               [ 2]         tsx
3d45 : ba               [ 2]         tsx
356b : e0fd             [ 2]         cpx #$fd        ;check SP
3d46 : e0fd             [ 2]         cpx #$fd        ;check SP
                                     trap_ne
                                     trap_ne
356d : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d48 : f002             [ 3]>        beq skip3452
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d4a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d4b : 2a                   >        db      test_num
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  387
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
                            >
 
3d4c :                      >skip3452
 
 
356f : 68               [ 4]         pla             ;restore x
3d4c : 68               [ 4]         pla             ;restore x
3570 : aa               [ 2]         tax
3d4d : aa               [ 2]         tax
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
3571 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3d4e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
3573 : 48               [ 3]>            pha         ;use stack to load status
3d50 : 48               [ 3]>            pha         ;use stack to load status
3574 : 28               [ 4]>            plp
3d51 : 28               [ 4]>            plp
 
 
3575 : 68               [ 4]         pla             ;restore a
3d52 : 68               [ 4]         pla             ;restore a
3576 : e8               [ 2]         inx             ;return registers with modifications
3d53 : e8               [ 2]         inx             ;return registers with modifications
3577 : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
3d54 : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
3579 : 4cf707           [ 3]         jmp far_ret
3d56 : 4ca808           [ 3]         jmp far_ret
 
 
                             ; target for the jump indirect test
                             ; target for the jump indirect test
                                     align
 
357c : 8535                  ptr_tst_ind dw test_ind
 
357e : 4c08                  ptr_ind_ret dw ind_ret
 
                                     trap            ;runover protection
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  253
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3580 : 4c8035           [ 3]>        jmp *           ;failed anyway
3d59 : 00                            align
 
 
 
3d5a : 623d                  ptr_tst_ind dw test_ind
 
3d5c : 1f09                  ptr_ind_ret dw ind_ret
 
 
3583 : 88               [ 2]         dey
                                     trap            ;runover protection
3584 : 88               [ 2]         dey
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
3585 :                       test_ind
3d5e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
3585 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
3d5f : 2a                   >        db      test_num
3586 : 88               [ 2]         dey
 
3587 : 88               [ 2]         dey
3d60 : 88               [ 2]         dey
3588 : 88               [ 2]         dey
3d61 : 88               [ 2]         dey
3589 : 28               [ 4]         plp
3d62 :                       test_ind
 
3d62 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
3d63 : 88               [ 2]         dey
 
3d64 : 88               [ 2]         dey
 
3d65 : 88               [ 2]         dey
 
3d66 : 28               [ 4]         plp
                                     trap_cs         ;flags loaded?
                                     trap_cs         ;flags loaded?
358a : b0fe             [ 3]>        bcs *           ;failed carry set
3d67 : 9002             [ 3]>        bcc skip3457
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d69 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d6a : 2a                   >        db      test_num
 
                            >
 
3d6b :                      >skip3457
 
 
                                     trap_vs
                                     trap_vs
358c : 70fe             [ 3]>        bvs *           ;failed overflow set
3d6b : 5002             [ 3]>        bvc skip3459
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d6d : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d6e : 2a                   >        db      test_num
 
                            >
 
3d6f :                      >skip3459
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  388
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     trap_mi
                                     trap_mi
358e : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
3d6f : 1002             [ 3]>        bpl skip3461
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d71 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d72 : 2a                   >        db      test_num
 
                            >
 
3d73 :                      >skip3461
 
 
                                     trap_eq
                                     trap_eq
3590 : f0fe             [ 3]>        beq *           ;failed equal (zero)
3d73 : d002             [ 3]>        bne skip3463
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d75 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d76 : 2a                   >        db      test_num
 
                            >
 
3d77 :                      >skip3463
 
 
3592 : c949             [ 2]         cmp #'I'        ;registers loaded?
3d77 : c949             [ 2]         cmp #'I'        ;registers loaded?
                                     trap_ne
                                     trap_ne
3594 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d79 : f002             [ 3]>        beq skip3465
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d7b : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d7c : 2a                   >        db      test_num
 
                            >
 
3d7d :                      >skip3465
 
 
3596 : e04e             [ 2]         cpx #'N'
3d7d : e04e             [ 2]         cpx #'N'
                                     trap_ne
                                     trap_ne
3598 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d7f : f002             [ 3]>        beq skip3467
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d81 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d82 : 2a                   >        db      test_num
 
                            >
 
3d83 :                      >skip3467
 
 
359a : c041             [ 2]         cpy #('D'-3)
3d83 : c041             [ 2]         cpy #('D'-3)
                                     trap_ne
                                     trap_ne
359c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d85 : f002             [ 3]>        beq skip3469
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d87 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d88 : 2a                   >        db      test_num
 
                            >
 
3d89 :                      >skip3469
 
 
359e : 48               [ 3]         pha             ;save a,x
3d89 : 48               [ 3]         pha             ;save a,x
359f : 8a               [ 2]         txa
3d8a : 8a               [ 2]         txa
35a0 : 48               [ 3]         pha
3d8b : 48               [ 3]         pha
35a1 : ba               [ 2]         tsx
3d8c : ba               [ 2]         tsx
35a2 : e0fd             [ 2]         cpx #$fd        ;check SP
3d8d : e0fd             [ 2]         cpx #$fd        ;check SP
                                     trap_ne
                                     trap_ne
35a4 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3d8f : f002             [ 3]>        beq skip3471
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  389
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
35a6 : 68               [ 4]         pla             ;restore x
                            >        trap           ;failed equal (zero)
35a7 : aa               [ 2]         tax
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3d91 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3d92 : 2a                   >        db      test_num
 
                            >
 
3d93 :                      >skip3471
 
 
 
3d93 : 68               [ 4]         pla             ;restore x
 
3d94 : aa               [ 2]         tax
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
35a8 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3d95 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
35aa : 48               [ 3]>            pha         ;use stack to load status
3d97 : 48               [ 3]>            pha         ;use stack to load status
35ab : 28               [ 4]>            plp
3d98 : 28               [ 4]>            plp
 
 
35ac : 68               [ 4]         pla             ;restore a
 
35ad : e8               [ 2]         inx             ;return registers with modifications
 
35ae : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
 
35b0 : 6c7e35           [ 6]         jmp (ptr_ind_ret)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  254
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
3d99 : 68               [ 4]         pla             ;restore a
 
3d9a : e8               [ 2]         inx             ;return registers with modifications
 
3d9b : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
 
3d9d : 6c5c3d           [ 6]         jmp (ptr_ind_ret)
                                     trap            ;runover protection
                                     trap            ;runover protection
35b3 : 4cb335           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3da0 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3da1 : 2a                   >        db      test_num
 
 
 
 
                             ; target for the jump subroutine test
                             ; target for the jump subroutine test
35b6 : 88               [ 2]         dey
 
35b7 : 88               [ 2]         dey
3da2 : 88               [ 2]         dey
35b8 :                       test_jsr
3da3 : 88               [ 2]         dey
35b8 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
3da4 :                       test_jsr
35b9 : 88               [ 2]         dey
3da4 : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
35ba : 88               [ 2]         dey
3da5 : 88               [ 2]         dey
35bb : 88               [ 2]         dey
3da6 : 88               [ 2]         dey
35bc : 28               [ 4]         plp
3da7 : 88               [ 2]         dey
 
3da8 : 28               [ 4]         plp
                                     trap_cs         ;flags loaded?
                                     trap_cs         ;flags loaded?
35bd : b0fe             [ 3]>        bcs *           ;failed carry set
3da9 : 9002             [ 3]>        bcc skip3476
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3dab : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3dac : 2a                   >        db      test_num
 
                            >
 
3dad :                      >skip3476
 
 
                                     trap_vs
                                     trap_vs
35bf : 70fe             [ 3]>        bvs *           ;failed overflow set
3dad : 5002             [ 3]>        bvc skip3478
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3daf : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3db0 : 2a                   >        db      test_num
 
                            >
 
3db1 :                      >skip3478
 
 
                                     trap_mi
                                     trap_mi
35c1 : 30fe             [ 3]>        bmi *           ;failed minus (bit 7 set)
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  390
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
3db1 : 1002             [ 3]>        bpl skip3480
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3db3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3db4 : 2a                   >        db      test_num
 
                            >
 
3db5 :                      >skip3480
 
 
                                     trap_eq
                                     trap_eq
35c3 : f0fe             [ 3]>        beq *           ;failed equal (zero)
3db5 : d002             [ 3]>        bne skip3482
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3db7 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3db8 : 2a                   >        db      test_num
 
                            >
 
3db9 :                      >skip3482
 
 
35c5 : c94a             [ 2]         cmp #'J'        ;registers loaded?
3db9 : c94a             [ 2]         cmp #'J'        ;registers loaded?
                                     trap_ne
                                     trap_ne
35c7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3dbb : f002             [ 3]>        beq skip3484
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3dbd : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3dbe : 2a                   >        db      test_num
 
                            >
 
3dbf :                      >skip3484
 
 
35c9 : e053             [ 2]         cpx #'S'
3dbf : e053             [ 2]         cpx #'S'
                                     trap_ne
                                     trap_ne
35cb : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3dc1 : f002             [ 3]>        beq skip3486
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3dc3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3dc4 : 2a                   >        db      test_num
 
                            >
 
3dc5 :                      >skip3486
 
 
35cd : c04f             [ 2]         cpy #('R'-3)
3dc5 : c04f             [ 2]         cpy #('R'-3)
                                     trap_ne
                                     trap_ne
35cf : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3dc7 : f002             [ 3]>        beq skip3488
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3dc9 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3dca : 2a                   >        db      test_num
 
                            >
 
3dcb :                      >skip3488
 
 
35d1 : 48               [ 3]         pha             ;save a,x
3dcb : 48               [ 3]         pha             ;save a,x
35d2 : 8a               [ 2]         txa
3dcc : 8a               [ 2]         txa
35d3 : 48               [ 3]         pha
3dcd : 48               [ 3]         pha
35d4 : ba               [ 2]         tsx             ;sp -4? (return addr,a,x)
3dce : ba               [ 2]         tsx             ;sp -4? (return addr,a,x)
35d5 : e0fb             [ 2]         cpx #$fb
3dcf : e0fb             [ 2]         cpx #$fb
                                     trap_ne
                                     trap_ne
35d7 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3dd1 : f002             [ 3]>        beq skip3490
 
                            >        trap           ;failed equal (zero)
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  391
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
35d9 : adff01           [ 4]         lda $1ff        ;propper return on stack
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
35dc : c908             [ 2]         cmp #hi(jsr_ret)
3dd3 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
                                     trap_ne
3dd4 : 2a                   >        db      test_num
35de : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
                            >
 
3dd5 :                      >skip3490
 
 
35e0 : adfe01           [ 4]         lda $1fe
3dd5 : adff01           [ 4]         lda $1ff        ;propper return on stack
35e3 : c982             [ 2]         cmp #lo(jsr_ret)
3dd8 : c909             [ 2]         cmp #hi(jsr_ret)
                                     trap_ne
                                     trap_ne
35e5 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3dda : f002             [ 3]>        beq skip3492
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3ddc : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3ddd : 2a                   >        db      test_num
 
                            >
 
3dde :                      >skip3492
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  255
3dde : adfe01           [ 4]         lda $1fe
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
3de1 : c967             [ 2]         cmp #lo(jsr_ret)
 
                                     trap_ne
 
3de3 : f002             [ 3]>        beq skip3494
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3de5 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3de6 : 2a                   >        db      test_num
 
                            >
 
3de7 :                      >skip3494
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
35e7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3de7 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
35e9 : 48               [ 3]>            pha         ;use stack to load status
3de9 : 48               [ 3]>            pha         ;use stack to load status
35ea : 28               [ 4]>            plp
3dea : 28               [ 4]>            plp
 
 
35eb : 68               [ 4]         pla             ;pull x,a
3deb : 68               [ 4]         pla             ;pull x,a
35ec : aa               [ 2]         tax
3dec : aa               [ 2]         tax
35ed : 68               [ 4]         pla
3ded : 68               [ 4]         pla
35ee : e8               [ 2]         inx             ;return registers with modifications
3dee : e8               [ 2]         inx             ;return registers with modifications
35ef : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
3def : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1
35f1 : 60               [ 6]         rts
3df1 : 60               [ 6]         rts
                                     trap            ;runover protection
                                     trap            ;runover protection
35f2 : 4cf235           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3df2 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3df3 : 2a                   >        db      test_num
 
 
 
 
                             ;trap in case of unexpected IRQ, NMI, BRK, RESET - BRK test target
                             ;trap in case of unexpected IRQ, NMI, BRK, RESET - BRK test target
35f5 :                       nmi_trap
 
 
3df4 :                       nmi_trap
                                     trap            ;check stack for conditions at NMI
                                     trap            ;check stack for conditions at NMI
35f5 : 4cf535           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3df4 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3df5 : 2a                   >        db      test_num
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  392
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
35f8 :                       res_trap
3df6 :                       res_trap
                                     trap            ;unexpected RESET
                                     trap            ;unexpected RESET
35f8 : 4cf835           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3df6 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3df7 : 2a                   >        db      test_num
 
 
 
 
 
3df8 : 88               [ 2]         dey
 
3df9 : 88               [ 2]         dey
 
3dfa :                       irq_trap                ;BRK test or unextpected BRK or IRQ
 
3dfa : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
3dfb : 88               [ 2]         dey
 
3dfc : 88               [ 2]         dey
 
3dfd : 88               [ 2]         dey
 
 
35fb : 88               [ 2]         dey
 
35fc : 88               [ 2]         dey
 
35fd :                       irq_trap                ;BRK test or unextpected BRK or IRQ
 
35fd : 08               [ 3]         php             ;either SP or Y count will fail, if we do not hit
 
35fe : 88               [ 2]         dey
 
35ff : 88               [ 2]         dey
 
3600 : 88               [ 2]         dey
 
                                     ;next 4 traps could be caused by unexpected BRK or IRQ
                                     ;next 4 traps could be caused by unexpected BRK or IRQ
                                     ;check stack for BREAK and originating location
                                     ;check stack for BREAK and originating location
                                     ;possible jump/branch into weeds (uninitialized space)
                                     ;possible jump/branch into weeds (uninitialized space)
3601 : c942             [ 2]         cmp #'B'        ;registers loaded?
 
 
3dfe : c942             [ 2]         cmp #'B'        ;registers loaded?
                                     trap_ne
                                     trap_ne
3603 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e00 : f002             [ 3]>        beq skip3501
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e02 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e03 : 2a                   >        db      test_num
 
                            >
 
3e04 :                      >skip3501
 
 
3605 : e052             [ 2]         cpx #'R'
3e04 : e052             [ 2]         cpx #'R'
                                     trap_ne
                                     trap_ne
3607 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e06 : f002             [ 3]>        beq skip3503
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e08 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e09 : 2a                   >        db      test_num
 
                            >
 
3e0a :                      >skip3503
 
 
3609 : c048             [ 2]         cpy #('K'-3)
3e0a : c048             [ 2]         cpy #('K'-3)
                                     trap_ne
                                     trap_ne
360b : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e0c : f002             [ 3]>        beq skip3505
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e0e : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e0f : 2a                   >        db      test_num
 
                            >
 
3e10 :                      >skip3505
 
 
360d : 850a             [ 3]         sta irq_a       ;save registers during break test
3e10 : 85b0             [ 3]         sta irq_a       ;save registers during break test
360f : 860b             [ 3]         stx irq_x
3e12 : 86b1             [ 3]         stx irq_x
3611 : ba               [ 2]         tsx             ;test break on stack
3e14 : ba               [ 2]         tsx             ;test break on stack
3612 : bd0201           [ 4]         lda $102,x
3e15 : bd0201           [ 4]         lda $102,x
                                     cmp_flag 0      ;break test should have B=1
                                     cmp_flag 0      ;break test should have B=1
3615 : c930             [ 2]>            cmp #(0      |fao)&m8    ;expected flags + always on bits
3e18 : c930             [ 2]>            cmp #(0      |fao)&m8    ;expected flags + always on bits
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  256
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  393
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
 
 
                                     trap_ne         ; - no break flag on stack
                                     trap_ne         ; - no break flag on stack
3617 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e1a : f002             [ 3]>        beq skip3508
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e1c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e1d : 2a                   >        db      test_num
 
                            >
 
3e1e :                      >skip3508
 
 
3619 : 68               [ 4]         pla
3e1e : 68               [ 4]         pla
361a : c934             [ 2]         cmp #$34        ;should have added interrupt disable
3e1f : c934             [ 2]         cmp #$34        ;should have added interrupt disable
                                     trap_ne
                                     trap_ne
361c : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e21 : f002             [ 3]>        beq skip3510
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e23 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e24 : 2a                   >        db      test_num
 
                            >
 
3e25 :                      >skip3510
 
 
361e : ba               [ 2]         tsx
3e25 : ba               [ 2]         tsx
361f : e0fc             [ 2]         cpx #$fc        ;sp -3? (return addr, flags)
3e26 : e0fc             [ 2]         cpx #$fc        ;sp -3? (return addr, flags)
                                     trap_ne
                                     trap_ne
3621 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e28 : f002             [ 3]>        beq skip3512
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e2a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e2b : 2a                   >        db      test_num
 
                            >
 
3e2c :                      >skip3512
 
 
3623 : adff01           [ 4]         lda $1ff        ;propper return on stack
3e2c : adff01           [ 4]         lda $1ff        ;propper return on stack
3626 : c908             [ 2]         cmp #hi(brk_ret)
3e2f : c909             [ 2]         cmp #hi(brk_ret)
                                     trap_ne
                                     trap_ne
3628 : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e31 : f002             [ 3]>        beq skip3514
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e33 : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e34 : 2a                   >        db      test_num
 
                            >
 
3e35 :                      >skip3514
 
 
362a : adfe01           [ 4]         lda $1fe
3e35 : adfe01           [ 4]         lda $1fe
                             ;        cmp #lo(brk_ret)
                             ;        cmp #lo(brk_ret)
362d : c9b8             [ 2]         cmp #lo(brk_ret - 1)    ; M65C02 treats JSR and traps (NMI, BRK/IRQ, RST) the same; add one to
3e38 : c9ba             [ 2]         cmp #lo(brk_ret - 1)    ; M65C02 treats JSR and traps (NMI, BRK/IRQ, RST) the same; add one to
                                     trap_ne
                                     trap_ne
362f : d0fe             [ 3]>        bne *           ;failed not equal (non zero)
3e3a : f002             [ 3]>        beq skip3516
 
                            >        trap           ;failed equal (zero)
 
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e3c : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e3d : 2a                   >        db      test_num
 
                            >
 
3e3e :                      >skip3516
 
 
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  394
 
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     set_stat $ff
                                     set_stat $ff
                            >            load_flag $ff
                            >            load_flag $ff
3631 : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
3e3e : a9ff             [ 2]>            lda #$ff             ;allow test to change I-flag (no mask)
                            >
                            >
3633 : 48               [ 3]>            pha         ;use stack to load status
3e40 : 48               [ 3]>            pha         ;use stack to load status
3634 : 28               [ 4]>            plp
3e41 : 28               [ 4]>            plp
 
 
3635 : a60b             [ 3]         ldx irq_x
3e42 : a6b1             [ 3]         ldx irq_x
3637 : e8               [ 2]         inx             ;return registers with modifications
3e44 : e8               [ 2]         inx             ;return registers with modifications
3638 : a50a             [ 3]         lda irq_a
3e45 : a5b0             [ 3]         lda irq_a
363a : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1 but original flags should be restored
3e47 : 49aa             [ 2]         eor #$aa        ;N=1, V=1, Z=0, C=1 but original flags should be restored
363c : 40               [ 6]         rti
3e49 : 40               [ 6]         rti
                                     trap            ;runover protection
                                     trap            ;runover protection
363d : 4c3d36           [ 3]>        jmp *           ;failed anyway
                            >;        db      $db         ; M65C02/M65C02A SToP instruction
 
3e4a : 00               [ 7]>        brk                 ; Use BRK to return to the monitor
 
3e4b : 2a                   >        db      test_num
 
 
 
 
                             ;copy of data to initialize BSS segment
                             ;copy of data to initialize BSS segment
 
 
                                 if load_data_direct != 1
                                 if load_data_direct != 1
                             zp_init
 
                             zp1_    db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
3e4c :                       zp_init
                             zp7f_   db  $7f             ;test pattern for compare
3e4c : c3824100              zp1_    db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
 
3e50 : 7f                    zp7f_   db  $7f             ;test pattern for compare
 
 
                             ;logical zeropage operands
                             ;logical zeropage operands
                             zpOR_   db  0,$1f,$71,$80   ;test pattern for OR
 
                             zpAN_   db  $0f,$ff,$7f,$80 ;test pattern for AND
3e51 : 001f7180              zpOR_   db  0,$1f,$71,$80   ;test pattern for OR
                             zpEO_   db  $ff,$0f,$8f,$8f ;test pattern for EOR
3e55 : 0fff7f80              zpAN_   db  $0f,$ff,$7f,$80 ;test pattern for AND
 
3e59 : ff0f8f8f              zpEO_   db  $ff,$0f,$8f,$8f ;test pattern for EOR
 
 
                             ;indirect addressing pointers
                             ;indirect addressing pointers
                             ind1_   dw  abs1            ;indirect pointer to pattern in absolute memory
 
                                     dw  abs1+1
3e5d : 0802                  ind1_   dw  abs1            ;indirect pointer to pattern in absolute memory
                                     dw  abs1+2
3e5f : 0902                          dw  abs1+1
                                     dw  abs1+3
3e61 : 0a02                          dw  abs1+2
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  257
3e63 : 0b02                          dw  abs1+3
 
3e65 : 0c02                          dw  abs7f
 
3e67 : 1001                  inw1_   dw  abs1-$f8        ;indirect pointer for wrap-test pattern
 
3e69 : 0302                  indt_   dw  abst            ;indirect pointer to store area in absolute memory
 
3e6b : 0402                          dw  abst+1
 
3e6d : 0502                          dw  abst+2
 
3e6f : 0602                          dw  abst+3
 
3e71 : 0b01                  inwt_   dw  abst-$f8        ;indirect pointer for wrap-test store
 
3e73 : 3f02                  indAN_  dw  absAN           ;indirect pointer to AND pattern in absolute memory
 
3e75 : 4002                          dw  absAN+1
 
3e77 : 4102                          dw  absAN+2
 
3e79 : 4202                          dw  absAN+3
 
3e7b : 4302                  indEO_  dw  absEO           ;indirect pointer to EOR pattern in absolute memory
 
3e7d : 4402                          dw  absEO+1
 
3e7f : 4502                          dw  absEO+2
 
3e81 : 4602                          dw  absEO+3
 
3e83 : 3b02                  indOR_  dw  absOR           ;indirect pointer to OR pattern in absolute memory
 
3e85 : 3c02                          dw  absOR+1
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  395
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                                     dw  abs7f
3e87 : 3d02                          dw  absOR+2
                             inw1_   dw  abs1-$f8        ;indirect pointer for wrap-test pattern
3e89 : 3e02                          dw  absOR+3
                             indt_   dw  abst            ;indirect pointer to store area in absolute memory
 
                                     dw  abst+1
 
                                     dw  abst+2
 
                                     dw  abst+3
 
                             inwt_   dw  abst-$f8        ;indirect pointer for wrap-test store
 
                             indAN_  dw  absAN           ;indirect pointer to AND pattern in absolute memory
 
                                     dw  absAN+1
 
                                     dw  absAN+2
 
                                     dw  absAN+3
 
                             indEO_  dw  absEO           ;indirect pointer to EOR pattern in absolute memory
 
                                     dw  absEO+1
 
                                     dw  absEO+2
 
                                     dw  absEO+3
 
                             indOR_  dw  absOR           ;indirect pointer to OR pattern in absolute memory
 
                                     dw  absOR+1
 
                                     dw  absOR+2
 
                                     dw  absOR+3
 
                             ;add/subtract indirect pointers
                             ;add/subtract indirect pointers
                             adi2_   dw  ada2            ;indirect pointer to operand 2 in absolute memory
 
                             sbi2_   dw  sba2            ;indirect pointer to complemented operand 2 (SBC)
3e8b : 0302                  adi2_   dw  ada2            ;indirect pointer to operand 2 in absolute memory
                             adiy2_  dw  ada2-$ff        ;with offset for indirect indexed
3e8d : 0402                  sbi2_   dw  sba2            ;indirect pointer to complemented operand 2 (SBC)
                             sbiy2_  dw  sba2-$ff
3e8f : 0401                  adiy2_  dw  ada2-$ff        ;with offset for indirect indexed
                             zp_end
3e91 : 0501                  sbiy2_  dw  sba2-$ff
 
3e93 :                       zp_end
 
 
                                 if (zp_end - zp_init) != (zp_bss_end - zp_bss)
                                 if (zp_end - zp_init) != (zp_bss_end - zp_bss)
 
 
                                     ;force assembler error if size is different
                                     ;force assembler error if size is different
                                     ERROR ERROR ERROR   ;mismatch between bss and zeropage data
                                     ERROR ERROR ERROR   ;mismatch between bss and zeropage data
 
 
                                 endif
                                 endif
                             data_init
 
                             abs1_   db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
3e93 :                       data_init
                             abs7f_  db  $7f             ;test pattern for compare
3e93 : c3824100              abs1_   db  $c3,$82,$41,0   ;test patterns for LDx BIT ROL ROR ASL LSR
 
3e97 : 7f                    abs7f_  db  $7f             ;test pattern for compare
 
 
                             ;loads
                             ;loads
                             fLDx_   db  fn,fn,0,fz      ;expected flags for load
 
 
3e98 : 80800002              fLDx_   db  fn,fn,0,fz      ;expected flags for load
 
 
                             ;shifts
                             ;shifts
                             rASL_                       ;expected result ASL & ROL -carry
 
                             rROL_   db  $86,$04,$82,0   ; "
3e9c :                       rASL_                       ;expected result ASL & ROL -carry
                             rROLc_  db  $87,$05,$83,1   ;expected result ROL +carry
3e9c : 86048200              rROL_   db  $86,$04,$82,0   ; "
                             rLSR_                       ;expected result LSR & ROR -carry
3ea0 : 87058301              rROLc_  db  $87,$05,$83,1   ;expected result ROL +carry
                             rROR_   db  $61,$41,$20,0   ; "
3ea4 :                       rLSR_                       ;expected result LSR & ROR -carry
                             rRORc_  db  $e1,$c1,$a0,$80 ;expected result ROR +carry
3ea4 : 61412000              rROR_   db  $61,$41,$20,0   ; "
                             fASL_                       ;expected flags for shifts
3ea8 : e1c1a080              rRORc_  db  $e1,$c1,$a0,$80 ;expected result ROR +carry
                             fROL_   db  fnc,fc,fn,fz    ;no carry in
3eac :                       fASL_                       ;expected flags for shifts
                             fROLc_  db  fnc,fc,fn,0     ;carry in
3eac : 81018002              fROL_   db  fnc,fc,fn,fz    ;no carry in
                             fLSR_
3eb0 : 81018000              fROLc_  db  fnc,fc,fn,0     ;carry in
                             fROR_   db  fc,0,fc,fz      ;no carry in
3eb4 :                       fLSR_
                             fRORc_  db  fnc,fn,fnc,fn   ;carry in
3eb4 : 01000102              fROR_   db  fc,0,fc,fz      ;no carry in
 
3eb8 : 81808180              fRORc_  db  fnc,fn,fnc,fn   ;carry in
 
 
                             ;increments (decrements)
                             ;increments (decrements)
                             rINC_   db  $7f,$80,$ff,0,1 ;expected result for INC/DEC
 
                             fINC_   db  0,fn,fn,fz,0    ;expected flags for INC/DEC
3ebc : 7f80ff0001            rINC_   db  $7f,$80,$ff,0,1 ;expected result for INC/DEC
 
3ec1 : 0080800200            fINC_   db  0,fn,fn,fz,0    ;expected flags for INC/DEC
 
 
                             ;logical memory operand
                             ;logical memory operand
                             absOR_  db  0,$1f,$71,$80   ;test pattern for OR
 
                             absAN_  db  $0f,$ff,$7f,$80 ;test pattern for AND
3ec6 : 001f7180              absOR_  db  0,$1f,$71,$80   ;test pattern for OR
                             absEO_  db  $ff,$0f,$8f,$8f ;test pattern for EOR
3eca : 0fff7f80              absAN_  db  $0f,$ff,$7f,$80 ;test pattern for AND
 
3ece : ff0f8f8f              absEO_  db  $ff,$0f,$8f,$8f ;test pattern for EOR
 
 
                             ;logical accu operand
                             ;logical accu operand
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  258
 
 
3ed2 : 00f11f00              absORa_ db  0,$f1,$1f,0     ;test pattern for OR
 
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page  396
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
 
 
                             absORa_ db  0,$f1,$1f,0     ;test pattern for OR
3ed6 : f0ffffff              absANa_ db  $f0,$ff,$ff,$ff ;test pattern for AND
                             absANa_ db  $f0,$ff,$ff,$ff ;test pattern for AND
3eda : fff0f00f              absEOa_ db  $ff,$f0,$f0,$0f ;test pattern for EOR
                             absEOa_ db  $ff,$f0,$f0,$0f ;test pattern for EOR
 
                             ;logical results
                             ;logical results
                             absrlo_ db  0,$ff,$7f,$80
 
                             absflo_ db  fz,fn,0,fn
3ede : 00ff7f80              absrlo_ db  0,$ff,$7f,$80
                             data_end
3ee2 : 02800080              absflo_ db  fz,fn,0,fn
 
 
 
3ee6 :                       data_end
 
 
                                 if (data_end - data_init) != (data_bss_end - data_bss)
                                 if (data_end - data_init) != (data_bss_end - data_bss)
 
 
                                     ;force assembler error if size is different
                                     ;force assembler error if size is different
                                     ERROR ERROR ERROR   ;mismatch between bss and data
                                     ERROR ERROR ERROR   ;mismatch between bss and data
 
 
                                 endif
                                 endif
 
                                     code
 
3ffa =                               org $3FFA
 
3ffa :                       vec_init
 
3ffa : f43d                          dw  nmi_trap
 
3ffc : f63d                          dw  res_trap
 
3ffe : fa3d                          dw  irq_trap
 
fffa =                       vec_bss equ $fffa
 
 
 
                                 endif                   ;end of RAM init data
 
 
 
                                 if (load_data_direct = 1) & (ROM_vectors = 1)
 
 
 
                                     org $fffa       ;vectors
 
 
                             vec_init
 
                                     dw  nmi_trap
                                     dw  nmi_trap
                                     dw  res_trap
                                     dw  res_trap
                                     dw  irq_trap
                                     dw  irq_trap
                             vec_bss equ $fffa
 
                                 endif                   ;end of RAM init data
 
 
 
                                 if (load_data_direct = 1) & (ROM_vectors = 1)
 
fffa =                               org $fffa       ;vectors
 
fffa : f535                          dw  nmi_trap
 
fffc : f835                          dw  res_trap
 
fffe : fd35                          dw  irq_trap
 
                                 endif
                                 endif
 
 
fffa =                               end start
fffa =                               end start
 
 
No errors in pass 2.
No errors in pass 2.
Wrote binary from address $0000 through $ffff.
Wrote binary from address $0000 through $3fff.
Total size 65536 bytes.
Total size 16384 bytes.
Program start address is at $0400 (1024).
Program start address is at $0400 (1024).


 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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