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

Only display areas with differences | Details | Blame | View Log

Rev 2 Rev 3
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    1
AS65 Assembler for R6502 [1.42].  Copyright 1994-2007, Frank A. Kingswood                                                 Page    1
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- 65c02_ft.a65 -----------------------------------------------------------
---------------------------------------------------------- Symbol Table -----------------------------------------------------------
---------------------------------------------------------- Symbol Table -----------------------------------------------------------
              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
                             ;
                             ;
                             ; Copyright (C) 2012-2013  Klaus Dormann
                             ; Copyright (C) 2012-2013  Klaus Dormann
                             ;
                             ;
                             ; This program is free software: you can redistribute it and/or modify
                             ; This program is free software: you can redistribute it and/or modify
                             ; it under the terms of the GNU General Public License as published by
                             ; it under the terms of the GNU General Public License as published by
                             ; the Free Software Foundation, either version 3 of the License, or
                             ; the Free Software Foundation, either version 3 of the License, or
                             ; (at your option) any later version.
                             ; (at your option) any later version.
                             ;
                             ;
                             ; This program is distributed in the hope that it will be useful,
                             ; This program is distributed in the hope that it will be useful,
                             ; but WITHOUT ANY WARRANTY; without even the implied warranty of
                             ; but WITHOUT ANY WARRANTY; without even the implied warranty of
                             ; 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
                             ; contact info at http://2m5.de or email K@2m5.de
                             ; contact info at http://2m5.de or email K@2m5.de
                             ;
                             ;
                             ; assembled with AS65 from http://www.kingswood-consulting.co.uk/assemblers/
                             ; assembled with AS65 from http://www.kingswood-consulting.co.uk/assemblers/
                             ; command line switches: -l -m -s2 -w -h0
                             ; command line switches: -l -m -s2 -w -h0
                             ;                         |  |  |   |  no page headers in listing
                             ;                         |  |  |   |  no page headers in listing
                             ;                         |  |  |   wide listing (133 char/col)
                             ;                         |  |  |   wide listing (133 char/col)
                             ;                         |  |  write intel hex file instead of binary
                             ;                         |  |  write intel hex file instead of binary
                             ;                         |  expand macros in listing
                             ;                         |  expand macros in listing
                             ;                         generate pass2 listing
                             ;                         generate pass2 listing
                             ;
                             ;
                             ; No IO - should be run from a monitor with access to registers.
                             ; No IO - should be run from a monitor with access to registers.
                             ; To run load intel hex image with a load command, than alter PC to 400 hex
                             ; To run load intel hex image with a load command, than alter PC to 400 hex
                             ; (code_segment) and enter a go command.
                             ; (code_segment) and enter a go command.
                             ; Loop on program counter determines error or successful completion of test.
                             ; Loop on program counter determines error or successful completion of test.
                             ; Check listing for relevant traps (jump/branch *).
                             ; Check listing for relevant traps (jump/branch *).
                             ; Please note that in early tests some instructions will have to be used before
                             ; Please note that in early tests some instructions will have to be used before
                             ; they are actually tested!
                             ; they are actually tested!
                             ;
                             ;
                             ; RESET, NMI or IRQ should not occur and will be trapped if vectors are enabled.
                             ; RESET, NMI or IRQ should not occur and will be trapped if vectors are enabled.
                             ; Tests documented behavior of the original NMOS 6502 only! No unofficial
                             ; Tests documented behavior of the original NMOS 6502 only! No unofficial
                             ; opcodes. Additional opcodes of newer versions of the CPU (65C02, 65816) will
                             ; opcodes. Additional opcodes of newer versions of the CPU (65C02, 65816) will
                             ; not be tested. Decimal ops will only be tested with valid BCD operands and
                             ; not be tested. Decimal ops will only be tested with valid BCD operands and
                             ; N V Z flags will be ignored.
                             ; N V Z flags will be ignored.
                             ;
                             ;
                             ; Debugging hints:
                             ; Debugging hints:
                             ;     Most of the code is written sequentially. if you hit a trap, check the
                             ;     Most of the code is written sequentially. if you hit a trap, check the
                             ;   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:
                             ;   28-jul-2012  1st version distributed for testing
                             ;   28-jul-2012  1st version distributed for testing
                             ;   29-jul-2012  fixed references to location 0, now #0
                             ;   29-jul-2012  fixed references to location 0, now #0
                             ;                added license - GPLv3
                             ;                added license - GPLv3
                             ;   30-jul-2012  added configuration options
                             ;   30-jul-2012  added configuration options
                             ;   01-aug-2012  added trap macro to allow user to change error handling
                             ;   01-aug-2012  added trap macro to allow user to change error handling
                             ;   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
0040 =                       fv      equ overfl
0040 =                       fv      equ overfl
0042 =                       fvz     equ overfl+zero
0042 =                       fvz     equ overfl+zero
0080 =                       fn      equ minus
0080 =                       fn      equ minus
0081 =                       fnc     equ minus+carry
0081 =                       fnc     equ minus+carry
0082 =                       fnz     equ minus+zero
0082 =                       fnz     equ minus+zero
0083 =                       fnzc    equ minus+zero+carry
0083 =                       fnzc    equ minus+zero+carry
00c0 =                       fnv     equ minus+overfl
00c0 =                       fnv     equ minus+overfl
0030 =                       fao     equ break+reserv    ;bits always on after PHP, BRK
0030 =                       fao     equ break+reserv    ;bits always on after PHP, BRK
0034 =                       fai     equ fao+intdis      ;+ forced interrupt disable
0034 =                       fai     equ fao+intdis      ;+ forced interrupt disable
00ff =                       m8      equ $ff             ;8 bit mask
00ff =                       m8      equ $ff             ;8 bit mask
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
                             set_a       macro       ;precharging accu & status
                             set_a       macro       ;precharging accu & status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         lda #\1     ;precharge accu
                                         lda #\1     ;precharge accu
                                         plp
                                         plp
                                         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
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         ldy #\1     ;precharge index y
                                         ldy #\1     ;precharge index y
                                         plp
                                         plp
                                         endm
                                         endm
                             set_ax      macro       ;precharging indexed accu & immediate status
                             set_ax      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,x    ;precharge accu
                                         lda \1,x    ;precharge accu
                                         plp
                                         plp
                                         endm
                                         endm
                             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
                                         lda \1,x    ;load to zeropage
                                         lda \1,x    ;load to zeropage
                                         sta zpt
                                         sta zpt
                                         plp
                                         plp
                                         endm
                                         endm
                             set_zx      macro       ;precharging zp,x & immediate status
                             set_zx      macro       ;precharging zp,x & immediate status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         lda \1,x    ;load to indexed zeropage
                                         lda \1,x    ;load to indexed zeropage
                                         sta zpt,x
                                         sta zpt,x
                                         plp
                                         plp
                                         endm
                                         endm
                             set_abs     macro       ;precharging indexed memory & immediate status
                             set_abs     macro       ;precharging indexed memory & immediate status
                                         load_flag \2
                                         load_flag \2
                                         pha         ;use stack to load status
                                         pha         ;use stack to load status
                                         lda \1,x    ;load to memory
                                         lda \1,x    ;load to memory
                                         sta abst
                                         sta abst
                                         plp
                                         plp
                                         endm
                                         endm
                             set_absx    macro       ;precharging abs,x & immediate status
                             set_absx    macro       ;precharging abs,x & immediate status
                                         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
                                         trap_ne
                                         trap_ne
                                         plp         ;restore status
                                         plp         ;restore status
                                         endm
                                         endm
                             tst_a       macro       ;testing result in accu & flags
                             tst_a       macro       ;testing result in accu & flags
                                         php         ;save flags
                                         php         ;save flags
                                         php
                                         php
                                         cmp #\1     ;test result
                                         cmp #\1     ;test result
                                         trap_ne
                                         trap_ne
                                         pla         ;load status
                                         pla         ;load status
                                         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
                                         pla         ;load status
                                         pla         ;load status
                                         cmp_flag \2
                                         cmp_flag \2
                                         trap_ne
                                         trap_ne
                                         plp         ;restore status
                                         plp         ;restore status
                                         endm
                                         endm
                             tst_y       macro       ;testing result in y index & flags
                             tst_y       macro       ;testing result in y index & flags
                                         php         ;save flags
                                         php         ;save flags
                                         php
                                         php
                                         cpy #\1     ;test result
                                         cpy #\1     ;test result
                                         trap_ne
                                         trap_ne
                                         pla         ;load status
                                         pla         ;load status
                                         cmp_flag \2
                                         cmp_flag \2
                                         trap_ne
                                         trap_ne
                                         plp         ;restore status
                                         plp         ;restore status
                                         endm
                                         endm
                             tst_ax      macro       ;indexed testing result in accu & flags
                             tst_ax      macro       ;indexed testing result in accu & flags
                                         php         ;save flags
                                         php         ;save flags
                                         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
                                         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     ;
                                         pla         ;load status
                                         pla         ;load status
                                         eor_flag \3
                                         eor_flag \3
                                         cmp \2,y    ;test flags
                                         cmp \2,y    ;test flags
                                         trap_ne
                                         trap_ne
                                         endm
                                         endm
                             tst_z       macro       ;indexed testing result in zp & flags
                             tst_z       macro       ;indexed testing result in zp & flags
                                         php         ;save flags
                                         php         ;save flags
                                         lda zpt
                                         lda zpt
                                         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
                                         cmp \2,x    ;test flags
                                         cmp \2,x    ;test flags
                                         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
                                         cmp \2,x    ;test flags
                                         cmp \2,x    ;test flags
                                         trap_ne
                                         trap_ne
                                         endm
                                         endm
                             tst_abs     macro       ;indexed testing result in memory & flags
                             tst_abs     macro       ;indexed testing result in memory & flags
                                         php         ;save flags
                                         php         ;save flags
                                         lda abst
                                         lda abst
                                         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
                                         cmp \2,x    ;test flags
                                         cmp \2,x    ;test flags
                                         trap_ne
                                         trap_ne
                                         endm
                                         endm
                             tst_absx    macro       ;testing result in abs,x & flags
                             tst_absx    macro       ;testing result in abs,x & flags
                                         php         ;save flags
                                         php         ;save flags
                                         lda abst,x
                                         lda abst,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
                                         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
                                         sta range_adr   ;reset self modifying code
                                         sta range_adr   ;reset self modifying code
                                         sta tandi1
                                         sta tandi1
                                         sta tandi2
                                         sta tandi2
                                         sta teori1
                                         sta teori1
                                         sta teori2
                                         sta teori2
                                         sta torai1
                                         sta torai1
                                         sta torai2
                                         sta torai2
                                         sta chkdadi
                                         sta chkdadi
                                         sta chkdsbi
                                         sta chkdsbi
                                         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\?
                                         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
                             ccs5\?      adc (zpt),y
                             ccs5\?      adc (zpt),y
                                         bcc ccs4\?
                                         bcc ccs4\?
                                         inc zpt+3       ;carry to high byte
                                         inc zpt+3       ;carry to high byte
                                         clc
                                         clc
                             ccs4\?      iny
                             ccs4\?      iny
                                         bne ccs5\?
                                         bne ccs5\?
                                         inx             ;advance RAM high address
                                         inx             ;advance RAM high address
                                         stx zpt+1
                                         stx zpt+1
                                         cpx #ram_top
                                         cpx #ram_top
                                         bne ccs5\?
                                         bne ccs5\?
                                         sta zpt+2       ;checksum low is
                                         sta zpt+2       ;checksum low is
                                         cmp ram_chksm   ;checksum low expected
                                         cmp ram_chksm   ;checksum low expected
                                         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
                                         trap_ne         ;test is out of sequence
                                         trap_ne         ;test is out of sequence
                             test_num = test_num + 1
                             test_num = test_num + 1
                                         lda #test_num   ;*** this tests' number
                                         lda #test_num   ;*** this tests' number
                                         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   ; "
021d : e1c1a080              rRORc   db  $e1,$c1,$a0,$80 ;expected result ROR +carry
021d : e1c1a080              rRORc   db  $e1,$c1,$a0,$80 ;expected result ROR +carry
0221 :                       fASL                        ;expected flags for shifts
0221 :                       fASL                        ;expected flags for shifts
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
                                     sta tandi2
                                     sta tandi2
                                     sta teori1
                                     sta teori1
                                     sta teori2
                                     sta teori2
                                     sta torai1
                                     sta torai1
                                     sta torai2
                                     sta torai2
                                     sta chkdadi
                                     sta chkdadi
                                     sta chkdsbi
                                     sta chkdsbi
                                     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
                             gcs3    adc zero_page,x
                             gcs3    adc zero_page,x
                                     bcc gcs2
                                     bcc gcs2
                                     inc ram_chksm+1 ;carry to high byte
                                     inc ram_chksm+1 ;carry to high byte
                                     clc
                                     clc
                             gcs2    inx
                             gcs2    inx
                                     bne gcs3
                                     bne gcs3
                                     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).
 
 

powered by: WebSVN 2.1.0

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