URL
https://opencores.org/ocsvn/m65c02/m65c02/trunk
Subversion Repositories m65c02
[/] [m65c02/] [trunk/] [Src/] [M65C02-Test-Programs/] [m65c02_tst3.lst] - Rev 2
Compare with Previous | Blame | View Log
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 1
--------------------------------------------------------- m65c02_tst3.a65 ---------------------------------------------------------
---------------------------------------------------------- Symbol Table -----------------------------------------------------------
Symbol Value Decimal
Abs : $0200 512
AbsI_Dst : $f83c 63548
AbsX : $0201 513
AbsXI_Dst : $f840 63552
AbsY : $0202 514
Abs_Dst : $f838 63544
BBRx : <macro>
BBSx : <macro>
BCD_Tst : $fbdf 64479
Clr_MSB : $fcb8 64696
Continue : $f867 63591
DP : $0010 16
DPX : $0011 17
DPY : $0012 18
Err_BCC : $f84f 63567
Err_BCS : $f855 63573
Err_BCS2 : $f861 63585
Err_BEQ : $f857 63575
Err_BMI : $f84c 63564
Err_BNE : $f85e 63582
Err_BPL : $f848 63560
Err_BVC : $f853 63571
Err_BVS : $f85c 63580
Fwd : $f865 63589
Hi_Return : $0000 0
Init_RAM : $f815 63509
Interrupt : $f808 63496
IRQ_Off : $fff9 65529
IRQ_On : $fff8 65528
IRQ_Tst : $fbf6 64502
IRQ_Tst2 : $fbfe 64510
IRQ_Tst3 : $fc05 64517
IRQ_Tst4 : $fc08 64520
IRQ_Vector : $fffe 65534
ISR_End : $f814 63508
Jmp_AbsI : $f803 63491
Jmp_AbsXI : $f805 63493
Last_Addrs : $fcd8 64728
LBL0002 : $fc63 64611
LBL0004 : $fc68 64616
LBL0006 : $fc6d 64621
LBL0008 : $fc72 64626
LBL0010 : $fc77 64631
LBL0012 : $fc7c 64636
LBL0014 : $fc81 64641
LBL0016 : $fc86 64646
LBL0018 : $fc8b 64651
LBL0020 : $fc90 64656
LBL0022 : $fc95 64661
LBL0024 : $fc9a 64666
LBL0026 : $fc9f 64671
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 2
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
LBL0028 : $fca4 64676
LBL0030 : $fca9 64681
LBL0032 : $fcae 64686
LBL0033 : $fcb5 64693
LBL0035 : $fcba 64698
Lo_Return : $00ff 255
MSB_Clr : $fcbf 64703
MSB_Set : $fcbd 64701
Neg_Return : $0001 1
NMI_Vector : $fffa 65530
pDPI : $0008 8
pDPIY : $000c 12
pDPXI : $000a 10
Return : $f837 63543
RMBx : <macro>
ROM_Start : $f800 63488
RST_Vector : $fffc 65532
SMBx : <macro>
STP : <macro>
Start : $f800 63488
Test_Main : $f844 63556
Tst_BPL : $f846 63558
WAI : <macro>
__65SC02__ : $0001 1
69 labels used
1009 lines read, no errors in pass 1.
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 3
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Copyright 2012 by Michael A. Morris, dba M. A. Morris & Associates
;;
;; All rights reserved. The source code contained herein is publicly released
;; under the terms and conditions of the GNU Lesser Public License. No part of
;; this source code may be reproduced or transmitted in any form or by any
;; means, electronic or mechanical, including photocopying, recording, or any
;; information storage and retrieval system in violation of the license under
;; which the source code is released.
;;
;; The souce code contained herein is free; it may be redistributed and/or
;; modified in accordance with the terms of the GNU Lesser General Public
;; License as published by the Free Software Foundation; either version 2.1 of
;; the GNU Lesser General Public License, or any later version.
;;
;; The souce code contained herein is freely released WITHOUT ANY WARRANTY;
;; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
;; PARTICULAR PURPOSE. (Refer to the GNU Lesser General Public License for
;; more details.)
;;
;; A copy of the GNU Lesser General Public License should have been received
;; along with the source code contained herein; if not, a copy can be obtained
;; by writing to:
;;
;; Free Software Foundation, Inc.
;; 51 Franklin Street, Fifth Floor
;; Boston, MA 02110-1301 USA
;;
;; Further, no use of this source code is permitted in any form or means
;; without inclusion of this banner prominently in any derived works.
;;
;; Michael A. Morris
;; Huntsville, AL
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
; #------------------------------------------------------------------------#
; | |
; | M65C02_Tst2.A65 |
; | |
; | Test program for M65C02_Core.v |
; | |
; | Copyright 2012, Michael A. Morris |
; | |
; #------------------------------------------------------------------------#
;
; File created 11-Feb-2012
;
; Modified 09-Dec-2012 mam Changed to a "ROM" type of test program
; where the program is at the top of memory
; and includes the three vectors. Intent is to
; convert core so it indirectly jump through
; the normal processor vectors when an excep-
; is performed: Reset, NMI, or IRQ/BRK.
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 4
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
;
; To make this change need to add code to
; initialize page 0, 1, and 2 RAM locations.
;
; Modified 15-Dec-2012 mam Modified to remove Rockwell instruction op-
; codes from the NOP/Invalid instruction list.
;
title "M65C02_Core Test Program - all instructions"
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Define macros for the Rockwell instructions
;;
RMBx macro BitNum, ZP
db ((BitNum+0)*16)+7
db ZP
endm
;;
SMBx macro BitNum, ZP
db ((BitNum+8)*16)+7
db ZP
endm
;;
BBRx macro BitNum, ZP, Dst
LBL\? db ((BitNum+0)*16)+15
db ZP
if(Dst < LBL\?+3)
db -(Dst-LBL\?+1)
else
db (Dst-LBL\?-3)
endif
endm
;;
BBSx macro BitNum, ZP, Dst
LBL\? db ((BitNum+8)*16)+15
db ZP
if(Dst < LBL\?+3)
db -(Dst-LBL\?+1)
else
db (Dst-LBL\?-3)
endif
endm
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Define macros for the W65802/65816 instructions implemented in W65C02S
;;
STP macro
db $DB
endm
;;
WAI macro
db $CB
endm
;;
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 5
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
f800 = ROM_Start equ $F800 ;; Boot "ROM" Start Address
;;
fffa = NMI_Vector equ $FFFA ;; Normal Non-maskable Interrupt Vector
fffc = RST_Vector equ $FFFC ;; Normal Reset Vector
fffe = IRQ_Vector equ $FFFE ;; Normal Maskable Interrupt or BRK Vector
;;
fff8 = IRQ_On equ $FFF8 ;; Set External Interrupt Request
fff9 = IRQ_Off equ $FFF9 ;; Clr External Interrupt Request
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
bss
0000 = org $0000
;;
0000 = Hi_Return ds 1
0001 = Neg_Return ds 2
;;
0008 = org $0008
;;
0008 = pDPI ds 2 ;; DP = (pDPI)
000a = pDPXI ds 2 ;; DPX = (pDPI,X) {X = 2}
000c = pDPIY ds 2 ;; DPY = (pDPI),Y {Y = 2}
;;
0010 = org $0010
;;
0010 = DP ds 1 ;; DP; DP,X (X = 0); DP,Y (Y = 0)
0011 = DPX ds 1 ;; DPX; DP,X (X = 1); DP,Y (Y = 1)
0012 = DPY ds 1 ;; DPY; DP,X (X = 2); DP,Y (Y = 2)
;;
00ff = org $00FF
;;
00ff = Lo_Return ds 1
;;
bss
0100 = Stack_Page org $0100
;;
0200 = RAM_Start org $0200
;;
0200 = Abs ds 1
0201 = AbsX ds 1
0202 = AbsY ds 1
;;
code
f800 = org ROM_Start
f800 : 4c38f8 [ 3] Start jmp Abs_Dst
;;
f803 : 3cf8 Jmp_AbsI dw AbsI_Dst
f805 : 40f8 Jmp_AbsXI dw AbsXI_Dst
;;
f807 : 00 ds 1
;;
f808 : 48 [ 3] Interrupt pha ;; preserve Acc
f809 : 08 [ 3] php ;; push current PSW, on entry D cleared and
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 6
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f80a : 68 [ 4] pla ;; I should be set
f80b : 8908 [ 2] bit #$08 ;; check if BCD mode not set
f80d : d0fe [ 3] bne * ;; if <> 0, error
f80f : 8904 [ 2] bit #$04 ;; check is Interrupt Mask set
f811 : f0fe [ 3] beq * ;; if == 0, error
f813 : 68 [ 4] pla ;; restore Acc
f814 : 40 [ 6] ISR_End rti ;; Exit ISR
;;
f815 : a937 [ 2] Init_RAM lda #(lo Return)
f817 : 85ff [ 3] sta Lo_Return
f819 : a9f8 [ 2] lda #(hi Return)
f81b : 8500 [ 3] sta Hi_Return
;;
f81d : a9c9 [ 2] lda #(lo -Return)
f81f : 8501 [ 3] sta Hi_Return+1
f821 : a907 [ 2] lda #(hi -Return)
f823 : 8502 [ 3] sta Hi_Return+2
;;
f825 : a910 [ 2] lda #(lo DP)
f827 : 8508 [ 3] sta pDPI
f829 : 6409 [ 3] stz pDPI+1
;;
f82b : a911 [ 2] lda #(lo DPX)
f82d : 850a [ 3] sta pDPXI
f82f : 640b [ 3] stz pDPXI+1
;;
f831 : a912 [ 2] lda #(lo DPY)
f833 : 850c [ 3] sta pDPIY
f835 : 640d [ 3] stz pDPIY+1
;;
f837 : 60 [ 6] Return rts
;;
f838 : 6c03f8 [ 6] Abs_Dst jmp (Jmp_AbsI)
f83b : ea [ 2] nop
f83c : 7c05f8 [ 6] AbsI_Dst jmp (Jmp_AbsXI, x)
f83f : ea [ 2] nop
;;
f840 : 2037f8 [ 6] AbsXI_Dst jsr Return
f843 : ea [ 2] nop
f844 : 801f [ 3] Test_Main bra Fwd ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f846 : a980 [ 2] Tst_BPL lda #$80 ;; Imm, A = 0x80, P = 0xA4
f848 : 10fe [ 3] Err_BPL bpl Err_BPL ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f84a : 4980 [ 2] eor #$80 ;; Imm, A = 0x00, P = 0x26
f84c : 30fe [ 3] Err_BMI bmi Err_BMI ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f84e : 38 [ 2] sec ;; Imp, A = 0x00, P = 0x27
f84f : 90fe [ 3] Err_BCC bcc Err_BCC ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f851 : e980 [ 2] sbc #$80 ;; Imm, A = 0x80, P = 0xE4
f853 : 50fe [ 3] Err_BVC bvc Err_BVC ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f855 : b0fe [ 3] Err_BCS bcs Err_BCS ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f857 : f0fe [ 3] Err_BEQ beq Err_BEQ ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f859 : e97f [ 2] sbc #$7F ;; Imm, A = 0x00, P = 0x67
f85b : b8 [ 2] clv ;; Imp, A = 0x00, P = 0x27
f85c : 70fe [ 3] Err_BVS bvs Err_BVS ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f85e : d0fe [ 3] Err_BNE bne Err_BNE ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f860 : 18 [ 2] clc ;; Imp, A = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 7
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f861 : b0fe [ 3] Err_BCS2 bcs Err_BCS2 ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f863 : 8002 [ 3] bra Continue
f865 : 80df [ 3] Fwd bra Tst_BPL ;; Test Conditional Branch Instructions
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Implicit/Accumulator/Immediate Address Instructions
;;
f867 : ea [ 2] Continue nop ;; Imp, A = 0x00, P = 0x26
;;
f868 : 58 [ 2] cli ;; Imp, A = 0x00, P = 0x22
f869 : 08 [ 3] php ;; Psh, (S) = 0x22, P = 0x22
f86a : 68 [ 4] pla ;; Pop, A = 0x22, P = 0x20
f86b : 2904 [ 2] and #$04 ;; Imm, A = 0x00, P = 0x22
f86d : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x22
f86f : ea [ 2] nop ;; Imp, A = 0x00, P = 0x22
;;
f870 : 78 [ 2] sei ;; Imp, A = 0x00, P = 0x26
f871 : 08 [ 3] php ;; Psh, (S) = 0x26, P = 0x26
f872 : 68 [ 4] pla ;; Pop, A = 0x26, P = 0x24
f873 : 2904 [ 2] and #$04 ;; Imm, A = 0x04, P = 0x24
f875 : f0fe [ 3] beq * ;; Rel, A = 0x04, P = 0x24
f877 : ea [ 2] nop ;; Imp, A = 0x04, P = 0x24
;;
f878 : f8 [ 2] sed ;; Imp, A = 0x04, P = 0x2C
f879 : 08 [ 3] php ;; Psh, (S) = 0x2C, P = 0x2C
f87a : 68 [ 4] pla ;; Pop, A = 0x2C, P = 0x2C
f87b : 2908 [ 2] and #$08 ;; Imm, A = 0x08, P = 0x2C
f87d : f0fe [ 3] beq * ;; Rel, A = 0x08, P = 0x2C
f87f : ea [ 2] nop ;; Imp, A = 0x08, P = 0x2C
;;
f880 : d8 [ 2] cld ;; Imp, A = 0x08, P = 0x24
f881 : 08 [ 3] php ;; Psh, A = 0x08, P = 0x24
f882 : 68 [ 4] pla ;; Pop, A = 0x24, P = 0x24
f883 : 2908 [ 2] and #$08 ;; Imm, A = 0x00, P = 0x26
f885 : d0fe [ 3] bne * ;; Rel, P = {N, V, 1'b1, B, D, I, Z, C}
f887 : ea [ 2] nop ;; Imp, A = 0x00, P = 0x26
;;
f888 : a955 [ 2] lda #$55 ;; Imm, A = 0x55, P = 0x24
f88a : 09aa [ 2] ora #$AA ;; Imm, A = 0xFF, P = 0xA4
f88c : 48 [ 3] pha ;; Psh, A = 0xFF, P = 0xA4
f88d : 28 [ 4] plp ;; Pop, A = 0xFF, P = 0xEF
f88e : 50fe [ 3] bvc * ;; Stop if ~V
f890 : d0fe [ 3] bne * ;; Stop if ~Z
f892 : 90fe [ 3] bcc * ;; Stop if ~C
f894 : 10fe [ 3] bpl * ;; Stop if ~N
;;
f896 : c9ff [ 2] cmp #$FF ;; Imm, A = 0xFF, P = 0x6F Make sure A is -1
f898 : d0fe [ 3] bne * ;; Rel, A = 0xFF, P = 0x6F
f89a : 30fe [ 3] bmi * ;; Rel, A = 0xFF, P = 0x6F
f89c : 90fe [ 3] bcc * ;; Rel, A = 0xFF, P = 0x6F
;;
f89e : 18 [ 2] clc ;; Imp, A = 0xFF, P = 0x6E
f89f : d8 [ 2] cld ;; Imp, A = 0xFF, P = 0x66
f8a0 : b8 [ 2] clv ;; Imm, A = 0xFF, P = 0x66
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 8
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f8a1 : 6901 [ 2] adc #$01 ;; Imm, A = 0x00, P = 0x27
f8a3 : 0904 [ 2] ora #$04 ;; Imm, A = 0x04, P = 0x25
f8a5 : 48 [ 3] pha ;; Psh, A = 0x04, P = 0x25
f8a6 : 28 [ 4] plp ;; Pop, A = 0x04, P = 0x24
;;
f8a7 : a0aa [ 2] ldy #$AA ;; Imm, Y = 0xAA, P = 0xA4
f8a9 : c0aa [ 2] cpy #$AA ;; Imm, Y = 0xAA, P = 0x27
f8ab : d0fe [ 3] bne * ;; Rel, Y = 0xAA, P = 0x27
f8ad : 30fe [ 3] bmi * ;; Rel, Y = 0xAA, P = 0x27
f8af : 90fe [ 3] bcc * ;; Rel, Y = 0xAA, P = 0x27
f8b1 : 5a [ 3] phy
;;
f8b2 : a255 [ 2] ldx #$55 ;; Imm, X = 0x55, P = 0x25
f8b4 : e055 [ 2] cpx #$55 ;; Imm, X = 0x55, P = 0x27
f8b6 : d0fe [ 3] bne * ;; Rel, X = 0x55, P = 0x27
f8b8 : 30fe [ 3] bmi * ;; Rel, X = 0x55, P = 0x27
f8ba : 90fe [ 3] bcc * ;; Rel, X = 0x55, P = 0x27
f8bc : da [ 3] phx
;;
f8bd : 7a [ 4] ply ;; Imm, Y = 0x55, P = 0x25
f8be : c055 [ 2] cpy #$55 ;; Imm, Y = 0x55, P = 0x27
f8c0 : d0fe [ 3] bne * ;; Rel, Y = 0x55, P = 0x27
f8c2 : 30fe [ 3] bmi * ;; Rel, Y = 0x55, P = 0x27
f8c4 : 90fe [ 3] bcc * ;; Rel, Y = 0x55, P = 0x27
;;
f8c6 : fa [ 4] plx ;; Imm, X = 0xAA, P = 0xA5
f8c7 : e0aa [ 2] cpx #$AA ;; Imm, X = 0xAA, P = 0x27
f8c9 : d0fe [ 3] bne * ;; Rel, X = 0xAA, P = 0x27
f8cb : 30fe [ 3] bmi * ;; Rel, X = 0xAA, P = 0x27
f8cd : 90fe [ 3] bcc * ;; Rel, X = 0xAA, P = 0x27
;;
f8cf : 8904 [ 2] bit #$04 ;; Imm, A = 0x04, P = 0x25
f8d1 : f0fe [ 3] beq * ;; Rel, A = 0x04, P = 0x25
f8d3 : 8900 [ 2] bit #$00 ;; Imm, A = 0x04, P = 0x27
f8d5 : d0fe [ 3] bne * ;; Rel, A = 0x04, P = 0x27
;;
f8d7 : 98 [ 2] tya ;; Imm, A = 0x55, P = 0x25
f8d8 : c955 [ 2] cmp #$55 ;; Imm, A = 0x55, P = 0x27
f8da : d0fe [ 3] bne * ;; Rel, A = 0x55, P = 0x27
f8dc : 30fe [ 3] bmi * ;; Rel, A = 0x55, P = 0x27
f8de : 90fe [ 3] bcc * ;; Rel, A = 0x55, P = 0x27
;;
f8e0 : a8 [ 2] tay ;; Imm, Y = 0x55, P = 0x25
f8e1 : c055 [ 2] cpy #$55 ;; Imm, Y = 0x55, P = 0x27
f8e3 : d0fe [ 3] bne * ;; Rel, Y = 0x55, P = 0x27
f8e5 : 30fe [ 3] bmi * ;; Rel, Y = 0x55, P = 0x27
f8e7 : 90fe [ 3] bcc * ;; Rel, Y = 0x55, P = 0x27
;;
f8e9 : 8a [ 2] txa ;; Imm, A = 0xAA, P = 0xA5
f8ea : c9aa [ 2] cmp #$AA ;; Imm, A = 0xAA, P = 0x27
f8ec : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x27
f8ee : 30fe [ 3] bmi * ;; Rel, A = 0xAA, P = 0x27
f8f0 : 90fe [ 3] bcc * ;; Rel, A = 0xAA, P = 0x27
;;
f8f2 : aa [ 2] tax ;; Imm, X = 0xAA, P = 0xA5
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 9
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f8f3 : e0aa [ 2] cpx #$AA ;; Imm, X = 0xAA, P = 0x27
f8f5 : d0fe [ 3] bne * ;; Rel, X = 0xAA, P = 0x27
f8f7 : 30fe [ 3] bmi * ;; Rel, X = 0xAA, P = 0x27
f8f9 : 90fe [ 3] bcc * ;; Rel, X = 0xAA, P = 0x27
;;
f8fb : ba [ 2] tsx ;; Imm, X = 0xFF, P = 0xA5
f8fc : 9a [ 2] txs ;; Imm, S = 0xFF, P = 0xA5
f8fd : e0ff [ 2] cpx #$FF ;; Imm, X = 0xFF, P = 0x27
f8ff : d0fe [ 3] bne * ;; Rel, X = 0xFF, P = 0x27
f901 : 30fe [ 3] bmi * ;; Rel, X = 0xFF, P = 0x27
f903 : 90fe [ 3] bcc * ;; Rel, X = 0xFF, P = 0x27
;;
f905 : 0a [ 2] asl a ;; Acc, A = 0x54, P = 0x25
f906 : 30fe [ 3] bmi * ;; Rel, A = 0x54, P = 0x25
f908 : 90fe [ 3] bcc * ;; Rel, A = 0x54, P = 0x25
f90a : c954 [ 2] cmp #$54 ;; Imm, A = 0x54, P = 0x27
f90c : d0fe [ 3] bne * ;; Rel, A = 0x54, P = 0x27
;;
f90e : 2a [ 2] rol a ;; Acc, A = 0xA9, P = 0xA5
f90f : 10fe [ 3] bpl * ;; Rel, A = 0xA9, P = 0xA4
f911 : b0fe [ 3] bcs * ;; Rel, A = 0xA9, P = 0xA4
f913 : c9a9 [ 2] cmp #$A9 ;; Imm, A = 0xA9, P = 0x26
f915 : d0fe [ 3] bne * ;; Rel, A = 0xA9, P = 0x26
;;
f917 : 4a [ 2] lsr a ;; Acc, A = 0x54, P = 0x25
f918 : 30fe [ 3] bmi * ;; Rel, A = 0x54, P = 0x25
f91a : 90fe [ 3] bcc * ;; Rel, A = 0x54, P = 0x25
f91c : c954 [ 2] cmp #$54 ;; Imm, A = 0x54, P = 0x27
f91e : d0fe [ 3] bne * ;; Rel, A = 0x54, P = 0x27
;;
f920 : 6a [ 2] ror a ;; Acc, A = 0xAA, P = 0xA4
f921 : 10fe [ 3] bpl * ;; Rel, A = 0xA9, P = 0xA4
f923 : b0fe [ 3] bcs * ;; Rel, A = 0xA9, P = 0xA4
f925 : c9aa [ 2] cmp #$AA ;; Imm, A = 0xAA, P = 0x27
f927 : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x27
;;
f929 : 1a [ 2] inc a ;; Acc, A = 0xAB, P = 0xA5
f92a : c9ab [ 2] cmp #$AB ;; Imm, A = 0xAB, P = 0x27
f92c : d0fe [ 3] bne * ;; Rel, A = 0xAB, P = 0x27
f92e : 30fe [ 3] bmi * ;; Rel, A = 0xAB, P = 0x27
f930 : 90fe [ 3] bcc * ;; Rel, A = 0xAB, P = 0x27
;;
f932 : e8 [ 2] inx ;; Imp, X = 0x00, P = 0x27
f933 : e000 [ 2] cpx #$00 ;; Imm, X = 0x00, P = 0x27
f935 : d0fe [ 3] bne * ;; Rel, X = 0x00, P = 0x27
f937 : 30fe [ 3] bmi * ;; Rel, X = 0x00, P = 0x27
f939 : 90fe [ 3] bcc * ;; Rel, X = 0x00, P = 0x27
;;
f93b : c8 [ 2] iny ;; Imp, Y = 0x56, P = 0x25
f93c : c056 [ 2] cpy #$56 ;; Imm, Y = 0x56, P = 0x27
f93e : d0fe [ 3] bne * ;; Rel, Y = 0x56, P = 0x27
f940 : 30fe [ 3] bmi * ;; Rel, Y = 0x56, P = 0x27
f942 : 90fe [ 3] bcc * ;; Rel, Y = 0x56, P = 0x27
;;
f944 : 3a [ 2] dec a ;; Acc, A = 0xAA, P = 0xA5
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 10
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f945 : c9aa [ 2] cmp #$AA ;; Imm, A = 0xAA, P = 0x27
f947 : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x27
f949 : 30fe [ 3] bmi * ;; Rel, A = 0xAA, P = 0x27
f94b : 90fe [ 3] bcc * ;; Rel, A = 0xAA, P = 0x27
;;
f94d : ca [ 2] dex ;; Imp, X = 0xFF, P = 0xA5
f94e : e0ff [ 2] cpx #$FF ;; Imm, X = 0xFF, P = 0x27
f950 : d0fe [ 3] bne * ;; Rel, X = 0xFF, P = 0x27
f952 : 30fe [ 3] bmi * ;; Rel, X = 0xFF, P = 0x27
f954 : 90fe [ 3] bcc * ;; Rel, X = 0xFF, P = 0x27
;;
f956 : 88 [ 2] dey ;; Imp, Y = 0x55, P = 0x25
f957 : c055 [ 2] cpy #$55 ;; Imm, Y = 0x55, P = 0x27
f959 : d0fe [ 3] bne * ;; Rel, Y = 0x55, P = 0x27
f95b : 30fe [ 3] bmi * ;; Rel, Y = 0x55, P = 0x27
f95d : 90fe [ 3] bcc * ;; Rel, Y = 0x55, P = 0x27
;;
f95f : a900 [ 2] lda #$00 ;; Imm, A = 0x00, P = 0x27
f961 : aa [ 2] tax ;; Imp, X = 0x00, P = 0x27
f962 : a8 [ 2] tay ;; Imp, Y = 0x00, P = 0x27
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page Instructions
;;
f963 : 3a [ 2] dec a ;; Acc, A = 0xFF, P = 0xA5
f964 : 8510 [ 3] sta DP ;; WO_DP, DP = 0xFF, P = 0xA5
f966 : 2a [ 2] rol a ;; Acc, A = 0xFF, P = 0xA5
f967 : 0510 [ 3] ora DP ;; RO_DP, A = 0xFF, P = 0xA5
f969 : c9ff [ 2] cmp #$FF ;; Imm, A = 0xFF, P = 0x27
f96b : d0fe [ 3] bne * ;; Rel, A = 0xFF, P = 0x27
;;
f96d : 6410 [ 3] stz DP ;; WO_DP, DP = 0x00, P = 0x27
f96f : 3a [ 2] dec a ;; Acc, A = 0xFE, P = 0xA5
f970 : a510 [ 3] lda DP ;; RO_DP, A = 0x00, P = 0x27
f972 : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x27
f974 : c510 [ 3] cmp DP ;; RO_DP, A = 0x00, P = 0x27
f976 : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x27
;;
f978 : 6410 [ 3] stz DP ;; WO_DP, DP = 0x00, p = 0x27
f97a : 88 [ 2] dey ;; Imp, Y = 0xFF, P = 0xA5
f97b : 8410 [ 3] sty DP ;; RO_DP, Y = 0xFF, P = 0xA5
f97d : c8 [ 2] iny ;; Imp, Y = 0x00, P = 0x27
f97e : a410 [ 3] ldy DP ;; RO_DP, Y = 0xFF, P = 0xA5
f980 : c0ff [ 2] cpy #$FF ;; Imm, Y = 0xFF, P = 0x27
f982 : d0fe [ 3] bne *
f984 : c410 [ 3] cpy DP ;; RO_DP, Y = 0xFF, P = 0x27
f986 : d0fe [ 3] bne *
;;
f988 : 6410 [ 3] stz DP ;; WO_DP, DP = 0x00, p = 0x27
f98a : ca [ 2] dex ;; Imp, X = 0xFF, P = 0xA5
f98b : 8610 [ 3] stx DP ;; RO_DP, DP = 0xFF, P = 0xA5
f98d : e8 [ 2] inx ;; Imp, X = 0x00, P = 0x27
f98e : a610 [ 3] ldx DP ;; RO_DP, X = 0xFF, P = 0xA5
f990 : e0ff [ 2] cpx #$FF ;; Imm, X = 0xFF, P = 0x27
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 11
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f992 : d0fe [ 3] bne *
f994 : e410 [ 3] cpx DP ;; RO_DP, X = 0xFF, P = 0x27
f996 : d0fe [ 3] bne *
;;
f998 : 8a [ 2] txa ;; Imp, A = 0xFF, P = 0xA5
f999 : 4510 [ 3] eor DP ;; RO_DP, A = 0x00, P = 0x27
f99b : d0fe [ 3] bne *
;;
f99d : a955 [ 2] lda #$55 ;; Imm, A = 0x55, P = 0x25
f99f : 8510 [ 3] sta DP ;; WO_DO, DP = 0x55, P = 0x25
f9a1 : a9ff [ 2] lda #$FF ;; Imm, A = 0xFF, P = 0xA5
f9a3 : 2510 [ 3] and DP ;; RO_DP, A = 0x55, P = 0x25
f9a5 : c955 [ 2] cmp #$55 ;; Imm, A = 0x55, P = 0x27
f9a7 : d0fe [ 3] bne *
;;
f9a9 : 6510 [ 3] adc DP ;; RO_DP, A = 0xAB, P = 0xE4
f9ab : c9ab [ 2] cmp #$AB ;; Imm, A = 0xAB, P = 0x67
f9ad : d0fe [ 3] bne *
f9af : e510 [ 3] sbc DP ;; RO_DP, A = 0x55, P = 0x65
f9b1 : c956 [ 2] cmp #$56 ;; Imm, A = 0x56, P = 0x67
f9b3 : d0fe [ 3] bne *
f9b5 : a982 [ 2] lda #$82 ;; Imm, A = 0x82, P = 0xE5
f9b7 : 2410 [ 3] bit DP ;; RO_DP A = 0x82, P = 0x67
f9b9 : 30fe [ 3] bmi *
f9bb : 50fe [ 3] bvc *
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page Indexed Instructions
;;
f9bd : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0x65
f9bf : 48 [ 3] pha ;; Imp, A = 0x24, P = 0x65
f9c0 : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
f9c1 : 6410 [ 3] stz DP ;; DP, DP = 0x00, P = 0x24
f9c3 : 6411 [ 3] stz DP+1 ;; DP, DPX = 0x00, P = 0x24
f9c5 : 6412 [ 3] stz DP+2 ;; DP, DPY = 0x00, P = 0x24
;;
f9c7 : a955 [ 2] lda #$55 ;; Imm, A = 0x55, P = 0x24
f9c9 : 8512 [ 3] sta DPY ;; DP, DPY = 0x55, P = 0x24
f9cb : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
f9cc : a611 [ 3] ldx DPX ;; DP, X = 0x00, P = 0x26
f9ce : a412 [ 3] ldy DPY ;; DP, Y = 0x55, P = 0x26
;;
f9d0 : e8 [ 2] inx ;; Imp, X = 0x01, P = 0x24
f9d1 : 9510 [ 4] sta DP,x ;; WO_DPX, DPX = 0xAA, P = 0x24
f9d3 : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
f9d4 : e8 [ 2] inx ;; Imp, X = 0x02, P = 0x24
f9d5 : 9510 [ 4] sta DP,x ;; WO_DPX, DPY = 0x55, P = 0x24
f9d7 : ca [ 2] dex ;; Imp, X = 0x01, P = 0x24
f9d8 : 1510 [ 4] ora DP,x ;; RO_DPX, A = 0xFF, P = 0xA4
f9da : 3510 [ 4] and DP,x ;; RO_DPX, A = 0xAA, P = 0xA4
f9dc : 5510 [ 4] eor DP,x ;; RO_DPX, A = 0x00, P = 0x26
f9de : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x26
f9e0 : 7410 [ 4] stz DP,x ;; WO_DPX, DPX = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 12
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
f9e2 : d510 [ 4] cmp DP,x ;; RO_DPX, A = 0x00, P = 0x27
f9e4 : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x27
f9e6 : 90fe [ 3] bcc * ;; Rel, A = 0x00, P = 0x27
f9e8 : e8 [ 2] inx ;; Imp, X = 0x02, P = 0x25
f9e9 : b410 [ 4] ldy DP,x ;; RO_DPX, Y = 0x55, P = 0x25
f9eb : 98 [ 2] tya ;; Imp, A = 0x55, P = 0x25
f9ec : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
f9ed : 3410 [ 4] bit DP,x ;; RO_DPX, A = 0xAA, M = 0x55, P = 0x66
f9ef : 30fe [ 3] bmi * ;; Rel, A = 0xAA, P = 0x66
f9f1 : 50fe [ 3] bvc * ;; Rel, A = 0xAA, P = 0x66
f9f3 : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x66
f9f5 : b8 [ 2] clv ;; Imp, A = 0xAA, P = 0x26
f9f6 : 38 [ 2] sec ;; Imp, A = 0xAA, P = 0x27
f9f7 : 7510 [ 4] adc DP,x ;; RO_DPX, A = 0x00, P = 0x27
f9f9 : 18 [ 2] clc
f9fa : f510 [ 4] sbc DP,x ;; RO_DPX, A = 0xAA, P = 0xA4
f9fc : 10fe [ 3] bpl * ;; Rel, A = 0xAA, P = 0xA4
f9fe : 70fe [ 3] bvs * ;; Rel, A = 0xAA, P = 0xA4
fa00 : f0fe [ 3] beq * ;; Rel, A = 0xAA, P = 0xA4
fa02 : b0fe [ 3] bcs * ;; Rel, A = 0xAA, P = 0xA4
;;
fa04 : b50e [ 4] lda DP-2,x ;; RO_DPX, A = 0x00, P = 0x26
fa06 : a8 [ 2] tay ;; Imp, Y = 0x00, P = 0x26
fa07 : 9410 [ 4] sty DP,x ;; WO_DPX, DPY = 0x00, P = 0x26
;;
fa09 : b610 [ 4] ldx DP,y ;; RO_DPY, X = 0x00, P = 0x26
fa0b : c8 [ 2] iny ;; Imp, Y = 0x01, P = 0x24
fa0c : 9610 [ 4] stx DP,y ;; WO_DPY, DPX = 0x00, P = 0x24
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Absolute Address Instructions
;;
fa0e : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0x67
fa10 : 48 [ 3] pha ;; Imp, A = 0x24, P = 0x67
fa11 : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
fa12 : 9c0002 [ 4] stz Abs ;; WO_Abs, Abs = 0x00, P = 0x24
fa15 : 9c0102 [ 4] stz Abs+1 ;; WO_Abs, AbsX = 0x00, P = 0x24
fa18 : 9c0202 [ 4] stz Abs+2 ;; WO_Abs, AbsY = 0x00, P = 0x24
;;
fa1b : a955 [ 2] lda #$55 ;; Imm, A = 0x55, P = 0x24
fa1d : 8d0202 [ 4] sta AbsY ;; WO_Abs, AbsY = 0x55, P = 0x24
fa20 : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
fa21 : ae0102 [ 4] ldx AbsX ;; RO_Abs, X = 0x00, P = 0x26
fa24 : ac0202 [ 4] ldy AbsY ;; RO_Abs, Y = 0x55, P = 0x26
;;
fa27 : 8d0102 [ 4] sta AbsX ;; WO_Abs, AbsX = 0xAA, P = 0x24
fa2a : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
fa2b : 8d0202 [ 4] sta AbsY ;; WO_Abs, AbsY = 0x55, P = 0x24
;;
fa2e : 0d0102 [ 4] ora AbsX ;; RO_Abs, A = 0xFF, P = 0xA4
fa31 : 2d0102 [ 4] and AbsX ;; RO_Abs, A = 0xAA, P = 0xA4
fa34 : 4d0102 [ 4] eor AbsX ;; RO_Abs, A = 0x00, P = 0x26
fa37 : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x26
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 13
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fa39 : 9c0102 [ 4] stz AbsX ;; WO_Abs, AbsX = 0x00, P = 0x26
fa3c : cd0102 [ 4] cmp AbsX ;; RO_Abs, A = 0x00, P = 0x27
fa3f : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x27
fa41 : 90fe [ 3] bcc * ;; Rel, A = 0x00, P = 0x27
fa43 : ac0202 [ 4] ldy AbsY ;; RO_Abs, Y = 0x55, P = 0x25
fa46 : 98 [ 2] tya ;; Imp, A = 0x55, P = 0x25
fa47 : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
fa48 : 2c0202 [ 4] bit AbsY ;; RO_Abs, A = 0xAA, M = 0x55, P = 0x66
fa4b : 30fe [ 3] bmi * ;; Rel, A = 0xAA, P = 0x66
fa4d : 50fe [ 3] bvc * ;; Rel, A = 0xAA, P = 0x66
fa4f : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x66
fa51 : b8 [ 2] clv ;; Imp, A = 0xAA, P = 0x26
fa52 : 38 [ 2] sec ;; Imp, A = 0xAA, P = 0x27
fa53 : 6d0202 [ 4] adc AbsY ;; RO_Abs, A = 0x00, P = 0x27
fa56 : 18 [ 2] clc
fa57 : ed0202 [ 4] sbc AbsY ;; RO_Abs, A = 0xAA, P = 0xA4
fa5a : 10fe [ 3] bpl * ;; Rel, A = 0xAA, P = 0xA4
fa5c : 70fe [ 3] bvs * ;; Rel, A = 0xAA, P = 0xA4
fa5e : f0fe [ 3] beq * ;; Rel, A = 0xAA, P = 0xA4
fa60 : b0fe [ 3] bcs * ;; Rel, A = 0xAA, P = 0xA4
;;
fa62 : ad0002 [ 4] lda Abs ;; RO_Abs, A = 0x00, P = 0x26
fa65 : a8 [ 2] tay ;; Imp, Y = 0x00, P = 0x26
fa66 : 8c0202 [ 4] sty AbsY ;; WO_Abs, AbsY = 0x00, P = 0x26
fa69 : cc0002 [ 4] cpy Abs ;; RO_Abs, Y = 0x00, Abs = 0x00, P = 0x26
fa6c : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x66
;;
fa6e : ae0002 [ 4] ldx Abs ;; RO_Abs, X = 0x00, P = 0x26
fa71 : 8e0102 [ 4] stx AbsX ;; WO_Abs, AbsX = 0x00, P = 0x26
fa74 : ec0002 [ 4] cpx Abs ;; RO_Abs, X = 0x00, Abs = 0x00, P = 0x26
fa77 : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x26
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Absolute Indexed Address Instructions
;;
fa79 : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0x67
fa7b : 48 [ 3] pha ;; Imp, A = 0x24, P = 0x67
fa7c : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
fa7d : 9c0002 [ 4] stz Abs ;; Abs, Abs = 0x00, P = 0x24
fa80 : 9c0102 [ 4] stz Abs+1 ;; Abs, AbsX = 0x00, P = 0x24
fa83 : 9c0202 [ 4] stz Abs+2 ;; Abs, AbsY = 0x00, P = 0x24
;;
fa86 : a955 [ 2] lda #$55 ;; Imm, A = 0x55, P = 0x24
fa88 : 8d0202 [ 4] sta AbsY ;; Abs, AbsY = 0x55, P = 0x24
fa8b : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
fa8c : ae0102 [ 4] ldx AbsX ;; Abs, X = 0x00, P = 0x26
fa8f : ac0202 [ 4] ldy AbsY ;; Abs, Y = 0x55, P = 0x26
;;
fa92 : e8 [ 2] inx ;; Imp, X = 0x01, P = 0x24
fa93 : 9d0002 [ 5] sta Abs,x ;; WO_AbsX, AbsX = 0xAA, P = 0x24
fa96 : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
fa97 : e8 [ 2] inx ;; Imp, X = 0x02, P = 0x24
fa98 : 9d0002 [ 5] sta Abs,x ;; WO_AbsX, AbsX = 0x55, P = 0x24
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 14
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fa9b : ca [ 2] dex ;; Imp, X = 0x01, P = 0x24
fa9c : 1d0002 [ 4] ora Abs,x ;; RO_AbsX, A = 0xFF, P = 0xA4
fa9f : 3d0002 [ 4] and Abs,x ;; RO_AbsX, A = 0xAA, P = 0xA4
faa2 : 5d0002 [ 4] eor Abs,x ;; RO_AbsX, A = 0x00, P = 0x26
faa5 : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x26
faa7 : 9e0002 [ 5] stz Abs,x ;; WO_AbsX, AbsX = 0x00, P = 0x26
faaa : dd0002 [ 4] cmp Abs,x ;; RO_AbsX, A = 0x00, P = 0x27
faad : d0fe [ 3] bne * ;; Rel, A = 0x00, P = 0x27
faaf : 90fe [ 3] bcc * ;; Rel, A = 0x00, P = 0x27
fab1 : e8 [ 2] inx ;; Imp, X = 0x02, P = 0x25
fab2 : bc0002 [ 4] ldy Abs,x ;; RO_AbsX, Y = 0x55, P = 0x25
fab5 : 98 [ 2] tya ;; Imp, A = 0x55, P = 0x25
fab6 : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
fab7 : 3c0002 [ 4] bit Abs,x ;; RO_AbsX, A = 0xAA, M = 0x55, P = 0x66
faba : 30fe [ 3] bmi * ;; Rel, A = 0xAA, P = 0x66
fabc : 50fe [ 3] bvc * ;; Rel, A = 0xAA, P = 0x66
fabe : d0fe [ 3] bne * ;; Rel, A = 0xAA, P = 0x66
fac0 : b8 [ 2] clv ;; Imp, A = 0xAA, P = 0x26
fac1 : 38 [ 2] sec ;; Imp, A = 0xAA, P = 0x27
fac2 : 7d0002 [ 4] adc Abs,x ;; RO_AbsX, A = 0x00, P = 0x27
fac5 : 18 [ 2] clc
fac6 : fd0002 [ 4] sbc Abs,x ;; RO_AbsX, A = 0xAA, P = 0xA4
fac9 : 10fe [ 3] bpl * ;; Rel, A = 0xAA, P = 0xA4
facb : 70fe [ 3] bvs * ;; Rel, A = 0xAA, P = 0xA4
facd : f0fe [ 3] beq * ;; Rel, A = 0xAA, P = 0xA4
facf : b0fe [ 3] bcs * ;; Rel, A = 0xAA, P = 0xA4
;;
fad1 : bdfe01 [ 4] lda Abs-2,x ;; RO_AbsX, A = 0x00, P = 0x26
fad4 : a8 [ 2] tay ;; Imp, Y = 0x00, P = 0x26
fad5 : 8c0202 [ 4] sty AbsY ;; WO_Abs, AbsY = 0x00, P = 0x26
;;
fad8 : be0002 [ 4] ldx Abs,y ;; RO_AbsY, X = 0x00, P = 0x26
fadb : 8e0102 [ 4] stx AbsX ;; WO_Abs, AbsX = 0x00, P = 0x24
;;
fade : a002 [ 2] ldy #$02 ;; Imm, Y = 0x02, P = 0x24
fae0 : a9aa [ 2] lda #$AA ;; Imm, A = 0xAA, P = 0xA4
;;
fae2 : 990002 [ 5] sta Abs,y ;; WO_AbsY, AbsY = 0xAA, P = 0xA4
fae5 : 590002 [ 4] eor Abs,y ;; RO_AbsY, A = 0x00, P = 0x26
fae8 : b90002 [ 4] lda Abs,y ;; RO_AbsY, A = 0xAA, P = 0xA4
faeb : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
faec : 190002 [ 4] ora Abs,y ;; RO_AbsY, A = 0xFF, P = 0xA4
faef : 390002 [ 4] and Abs,y ;; RO_AbsY, A = 0xAA, P = 0xA4
faf2 : d90002 [ 4] cmp Abs,y ;; RO_AbsY, A = 0xAA, P = 0x27
;;
faf5 : f90002 [ 4] sbc Abs,y ;; RO_AbsY, A = 0x00, P = 0x27
faf8 : 18 [ 2] clc ;; Imp, A = 0x00, P = 0x26
faf9 : 790002 [ 4] adc Abs,y ;; RO_AbsY, A = 0xAA, P = 0xA4
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page RMW Instructions
;;
fafc : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0xXX
fafe : 48 [ 3] pha ;; Imp, A = 0x24, P = 0xXX
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 15
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
faff : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
fb00 : a9aa [ 2] lda #$AA ;; Imm, A = 0xAA, P = 0xA4
fb02 : 8510 [ 3] sta DP ;; WO_DP, DP = 0xAA, P = 0xA4
;;
fb04 : 0610 [ 5] asl DP ;; RMW_DP, DP = 0x54, P = 0x25
fb06 : 2610 [ 5] rol DP ;; RMW_DP, DP = 0xA9, P = 0xA4
fb08 : 4610 [ 5] lsr DP ;; RMW_DP, DP = 0x54, P = 0x25
fb0a : 6610 [ 5] ror DP ;; RMW_DP, DP = 0xAA, P = 0xA4
;;
fb0c : c610 [ 5] dec DP ;; RMW_DP, DP = 0xA9, P = 0xA4
fb0e : e610 [ 5] inc DP ;; RMW_DP, DP = 0xAA, P = 0xA4
;;
fb10 : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
;;
fb11 : 0410 [ 2] tsb DP ;; RMW_DP, DP = 0xFF, P = 0x26
fb13 : 1410 [ 2] trb DP ;; RMW_DP, DP = 0xAA, P = 0x24
;;
fb15 : a201 [ 2] ldx #$01 ;; Imm, X = 0x01, P = 0x24
fb17 : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0x24
fb18 : 9510 [ 4] sta DP,x ;; WO_DPX, DPX = 0xAA, P = 0x24
;;
fb1a : 1610 [ 6] asl DP,x ;; RMW_DPX, DPX = 0x54, P = 0x25
fb1c : 3610 [ 6] rol DP,x ;; RMW_DPX, DPX = 0xA9, P = 0xA4
fb1e : 5610 [ 6] lsr DP,x ;; RMW_DPX, DPX = 0x54, P = 0x25
fb20 : 7610 [ 6] ror DP,x ;; RMW_DPX, DPX = 0xAA, P = 0xA4
;;
fb22 : d610 [ 6] dec DP,x ;; RMW_DPX, DPX = 0xA9, P = 0xA4
fb24 : f610 [ 6] inc DP,x ;; RMW_DPX, DPX = 0xAA, P = 0xA4
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Absolute Address RMW Instructions
;;
fb26 : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0xXX
fb28 : 48 [ 3] pha ;; Imp, A = 0x24, P = 0xXX
fb29 : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
fb2a : a9aa [ 2] lda #$AA ;; Imm, A = 0xAA, P = 0xA4
fb2c : 8d0002 [ 4] sta Abs ;; WO_Abs, Abs = 0xAA, P = 0xA4
;;
fb2f : 0e0002 [ 6] asl Abs ;; RMW_Abs, Abs = 0x54, P = 0x25
fb32 : 2e0002 [ 6] rol Abs ;; RMW_Abs, Abs = 0xA9, P = 0xA4
fb35 : 4e0002 [ 6] lsr Abs ;; RMW_Abs, Abs = 0x54, P = 0x25
fb38 : 6e0002 [ 6] ror Abs ;; RMW_Abs, Abs = 0xAA, P = 0xA4
;;
fb3b : ce0002 [ 6] dec Abs ;; RMW_Abs, Abs = 0xA9, P = 0xA5
fb3e : ee0002 [ 6] inc Abs ;; RMW_Abs, Abs = 0xAA, P = 0xA4
;;
fb41 : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
;;
fb42 : 0c0002 [ 3] tsb Abs ;; RMW_Abs, Abs = 0xFF, P = 0x26
fb45 : 1c0002 [ 3] trb Abs ;; RMW_Abs, Abs = 0xAA, P = 0x24
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 16
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
;;
;; Absolute Address Indexed RMW Instructions
;;
fb48 : a201 [ 2] ldx #$01 ;; Imm, X = 0x01, P = 0x24
fb4a : 0a [ 2] asl a ;; Acc, A = 0xAA, P = 0xA4
fb4b : 9d0002 [ 5] sta Abs,x ;; WO_AbsX, AbsX = 0xAA, P = 0xA4
;;
fb4e : 1e0002 [ 6] asl Abs,x ;; RMW_AbsX, AbsX = 0x54, P = 0x25
fb51 : 3e0002 [ 6] rol Abs,x ;; RMW_AbsX, AbsX = 0xA9, P = 0xA4
fb54 : 5e0002 [ 6] lsr Abs,x ;; RMW_AbsX, AbsX = 0x54, P = 0x25
fb57 : 7e0002 [ 6] ror Abs,x ;; RMW_AbsX, AbsX = 0xAA, P = 0xA4
;;
fb5a : de0002 [ 6] dec Abs,x ;; RMW_AbsX, AbsX = 0xA9, P = 0xA4
fb5d : fe0002 [ 6] inc Abs,x ;; RMW_AbsX, AbsX = 0xAA, P = 0xA4
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page Indirect Instructions
;;
fb60 : 2015f8 [ 6] jsr Init_RAM ;; Initialize RAM used for pointers
;;
fb63 : a924 [ 2] lda #$24 ;; Imm, A = 0x24, P = 0xXX
fb65 : 48 [ 3] pha ;; Imp, A = 0x24, P = 0xXX
fb66 : 28 [ 4] plp ;; Imp, A = 0x24, P = 0x24
;;
fb67 : a9aa [ 2] lda #$AA ;; Imm, A = 0xAA, P = 0xA4
fb69 : 8510 [ 3] sta DP ;; WO_DP, DP = 0xAA, P = 0xA4
fb6b : a900 [ 2] lda #$00 ;; Imm, A = 0x00, P = 0x26
;;
fb6d : 1208 [ 5] ora (pDPI) ;; RO_DPI A = 0xAA, P = 0xA4
fb6f : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
fb70 : 5208 [ 5] eor (pDPI) ;; RO_DPI, A = 0xFF, P = 0xA4
fb72 : 38 [ 2] sec ;; Imp, A = 0xFF, P = 0xA5
fb73 : 7208 [ 5] adc (pDPI) ;; RO_DPI, A = 0xAA, P = 0xA5
fb75 : 18 [ 2] clc ;; Imp, A = 0xAA, P = 0xA4
fb76 : f208 [ 5] sbc (pDPI) ;; RO_DPI, A = 0xFF, P = 0xA4
fb78 : 3208 [ 5] and (pDPI) ;; RO_DPI, A = 0xAA, P = 0xA4
fb7a : d208 [ 5] cmp (pDPI) ;; RO_DPI, A = 0xAA, P = 0x27
;;
fb7c : b208 [ 5] lda (pDPI) ;; RO_DPI, A = 0xAA, P = 0xA5
fb7e : 4a [ 2] lsr a ;; Acc, A = 0x55, P = 0x24
fb7f : 9208 [ 5] sta (pDPI) ;; WO_DPI DP = 0x55, P = 0x24
fb81 : c510 [ 3] cmp DP ;; RO_DP A = 0x55, P = 0x27
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page Pre-Indexed Indirect Instructions
;;
fb83 : a202 [ 2] ldx #$02 ;; Imm, X = 0x02, P = 0x25
fb85 : 0108 [ 6] ora (pDPI,x) ;; RO_DPXI, A = 0xFF, P = 0xA5
fb87 : 2108 [ 6] and (pDPI,x) ;; RO_DPXI, A = 0xAA, P = 0xA5
fb89 : 4108 [ 6] eor (pDPI,x) ;; RO_DPXI, A = 0x00, P = 0x27
fb8b : 18 [ 2] clc ;; Imp, A = 0x00, P = 0x26
fb8c : 6108 [ 6] adc (pDPI,x) ;; RO_DPXI, A = 0xAA, P = 0xA4
fb8e : c108 [ 6] cmp (pDPI,x) ;; RO_DPXI, A = 0xAA, P = 0x27
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 17
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fb90 : e108 [ 6] sbc (pDPI,x) ;; RO_DPXI, A = 0x00, P = 0x27
fb92 : a108 [ 6] lda (pDPI,x) ;; RO_DPXI, A = 0xAA, P = 0xA5
fb94 : a204 [ 2] ldx #$04 ;; Imm, X = 0x04, P = 0x25
fb96 : 8108 [ 6] sta (pDPI,x) ;; WO_DPXI, DPY = 0xAA, P = 0x25
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Direct/Zero Page Post-Indexed Indirect Instructions
;;
fb98 : a000 [ 2] ldy #$00 ;; Imm, Y = 0x00, P = 0x27
;;
fb9a : 1108 [ 5] ora (pDPI),y ;; RO_DPIY, A = 0xFF, P = 0xA5
fb9c : c8 [ 2] iny ;; Imp, Y = 0x01, P = 0x25
fb9d : 3108 [ 5] and (pDPI),y ;; RO_DPIY, A = 0xAA, P = 0xA5
fb9f : 88 [ 2] dey ;; Imp, Y = 0x00, P = 0x27
fba0 : 5108 [ 5] eor (pDPI),y ;; RO_DPIY, A = 0xFF, P = 0xA5
fba2 : 7108 [ 5] adc (pDPI),y ;; RO_DPIY, A = 0x55, P = 0x25
fba4 : d108 [ 5] cmp (pDPI),y ;; RO_DPIY, A = 0x55, P = 0x27
fba6 : f108 [ 5] sbc (pDPI),y ;; RO_DPIY, A = 0x00, P = 0x27
fba8 : c8 [ 2] iny ;; Imp, Y = 0x01, P = 0x25
fba9 : 9108 [ 5] sta (pDPI),y ;; WO_DPIY, DPX = 0x00, P = 0x25
fbab : 88 [ 2] dey ;; Imp, Y = 0x00, P = 0x26
fbac : b108 [ 5] lda (pDPI),y ;; RO_DPIY, A = 0x55, P = 0x24
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; All Unused Op-codes - Expected to execute in single cycle as NOPs.
;;
fbae : 0222426282c2e2 db $02, $22, $42, $62, $82, $C2, $E2
fbb5 : 0313233343536373 db $03, $13, $23, $33, $43, $53, $63, $73
fbbd : 8393a3b3c3d3e3f3 db $83, $93, $A3, $B3, $C3, $D3, $E3, $F3
fbc5 : 4454d4f4 db $44, $54, $D4, $F4
;; db $07, $17, $27, $37, $47, $57, $67, $77 ;; RMBx dp
;; db $87, $97, $A7, $B7, $C7, $D7, $E7, $F7 ;; SMBx dp
fbc9 : 0b1b2b3b4b5b6b7b db $0B, $1B, $2B, $3B, $4B, $5B, $6B, $7B
fbd1 : 8b9babbbebfb db $8B, $9B, $AB, $BB, $EB, $FB
fbd7 : 5cdcfc db $5C, $DC, $FC
;; db $0F, $1F, $2F, $3F, $4F, $5F, $6F, $7F ;; BBRx dp,rel
;; db $8F, $9F, $AF, $BF, $CF, $DF, $EF, $FF ;; BBSx dp,rel
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; BRK Instruction
;;
fbda : f8 [ 2] sed ;; Set Decimal Mode Flag
fbdb : 58 [ 2] cli ;; Clear Interrupt Mask
;;
fbdc : 00 [ 7] brk ;; Single Cycle, Nxt
fbdd : ff db $FF ;; Simple tag so ISR does not need to return PC
;;
fbde : 78 [ 2] sei
;;
fbdf : 18 [ 2] BCD_Tst: clc
fbe0 : a999 [ 2] lda #$99
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 18
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fbe2 : 6901 [ 2] adc #$01
fbe4 : 90fe [ 3] bcc *
fbe6 : d0fe [ 3] bne *
fbe8 : e901 [ 2] sbc #$01
fbea : f0fe [ 3] beq *
fbec : b0fe [ 3] bcs *
fbee : c999 [ 2] cmp #$99
fbf0 : d0fe [ 3] bne *
fbf2 : 18 [ 2] clc
;;
fbf3 : 9cf8ff [ 4] stz IRQ_On
;;
fbf6 : f8 [ 2] IRQ_Tst: sed
fbf7 : 58 [ 2] cli
fbf8 : ea [ 2] nop
fbf9 : 38 [ 2] sec
fbfa : a900 [ 2] lda #$00
fbfc : d007 [ 4] bne IRQ_Tst3
fbfe : e901 [ 2] IRQ_Tst2: sbc #$01
fc00 : 2037f8 [ 6] jsr Return
fc03 : 8003 [ 3] bra IRQ_Tst4
fc05 : 4cfefb [ 3] IRQ_Tst3: jmp IRQ_Tst2
fc08 : 78 [ 2] IRQ_Tst4: sei
fc09 : d8 [ 2] cld
;;
fc0a : 9cf9ff [ 4] stz IRQ_Off
;;
;; Test zp,x and zp,y page zero wrapping
;;
fc0d : a900 [ 2] lda #$00 ;; clear Accumulator
fc0f : a201 [ 2] ldx #$01 ;; Set X to test first page 0 index operation
fc11 : a002 [ 2] ldy #$02 ;; Set Y to test second index operation
;; tax ;; clear X
;; tay ;; clear Y
;; inx ;; increment X to test first index operation
;; iny ;; increment Y twice to force it to point to
;; iny ;; wrapped negative of the wrapped pointer.
;;
fc13 : 18 [ 2] clc ;; clear carry before summation
fc14 : b5fe [ 4] lda $FE,x ;; load low byte of the
fc16 : 79ffff [ 4] adc $FFFF,y ;; add low bytes of Return and -Return
;;
fc19 : d0fe [ 3] bne * ;; halt here if sum is not zero
;;
fc1b : e8 [ 2] inx ;; point to wrapped high bytes
fc1c : c8 [ 2] iny
fc1d : b5fe [ 4] lda $FE,x ;; load high byte of Return
fc1f : 79ffff [ 4] adc $FFFF,y ;; add high bytes of Return and -Return
;;
fc22 : d0fe [ 3] bne * ;; halt here if the sum is not zero
;;
fc24 : 88 [ 2] dey ;; point back to lsb
fc25 : b6ff [ 4] ldx $ff,y ;; load lsb of -Return value
fc27 : e0c9 [ 2] cpx #(lo -Return) ;; compare
;;
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 19
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fc29 : d0fe [ 3] bne * ;; halt here if the values are not equal
;;
fc2b : 8a [ 2] txa ;; complement value and store back
fc2c : 49ff [ 2] eor #$ff ;; pointer will point to location Return-1
fc2e : aa [ 2] tax ;; because of 1's complement math
fc2f : 96ff [ 4] stx $ff,y
;;
fc31 : c8 [ 2] iny ;; point to msb
fc32 : b6ff [ 4] ldx $ff,y ;; load msb of -Return value
fc34 : e007 [ 2] cpx #(hi -Return) ;; compare
;;
fc36 : d0fe [ 3] bne * ;; halt here if the values are not equal
;;
fc38 : 8a [ 2] txa ;; complement value and store back
fc39 : 49ff [ 2] eor #$ff ;; pointer will point to location Return-1
fc3b : aa [ 2] tax ;; because of 1's complement math
fc3c : 96ff [ 4] stx $ff,y
;;
;; Test (dp), (dp,x), and (dp,y) address mode page 0 wrapping
;;
fc3e : b2ff [ 5] lda ($ff) ;; load value stored in Return
fc40 : a001 [ 2] ldy #$01 ;; ptr stored at $0001 points to Return-1
fc42 : d101 [ 5] cmp ($01),y ;; compare
;;
fc44 : d0fe [ 3] bne * ;; halt here if the *($ff) <> *(*($01)+1)
;;
fc46 : a202 [ 2] ldx #$02 ;; increment pointer at $0001
fc48 : 18 [ 2] clc
fc49 : b5ff [ 4] lda $FF,x ;; load lsb from $0001
fc4b : 6901 [ 2] adc #$01 ;; increment
fc4d : 95ff [ 4] sta $FF,x ;; store lsb
fc4f : e8 [ 2] inx ;; point to msb
fc50 : b5ff [ 4] lda $FF,x ;; load lsb from $0002
fc52 : 6900 [ 2] adc #$00 ;; increment msb if carry out of lsb
fc54 : 95ff [ 4] sta $FF,x
;;
fc56 : ca [ 2] dex ;; point back to lsb
fc57 : a1ff [ 6] lda ($ff,x) ;; load opcode at Return
fc59 : c6ff [ 5] dec $ff ;; change pointer to point to Return-1
fc5b : d1ff [ 5] cmp ($ff),y ;; both pointers (after indexing) -> Return
;;
fc5d : d0fe [ 3] bne *
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Test Rockwell Instructions
;;
fc5f : 6480 [ 3] stz $80 ;; ZP location for Rockwell Instruction Test
;;
SMBx 0,$80
fc61 : 87 > db ((0+8)*16)+7
fc62 : 80 > db $80
BBRx 0,$80,$
fc63 : 0f >LBL0002 db ((0+0)*16)+15
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 20
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fc64 : 80 > db $80
> if($ < LBL0002+3)
fc65 : fd > db -($-LBL0002+1)
> else
> db ($-LBL0002-3)
> endif
RMBx 0,$80
fc66 : 07 > db ((0+0)*16)+7
fc67 : 80 > db $80
BBSx 0,$80,$
fc68 : 8f >LBL0004 db ((0+8)*16)+15
fc69 : 80 > db $80
> if($ < LBL0004+3)
fc6a : fd > db -($-LBL0004+1)
> else
> db ($-LBL0004-3)
> endif
;;
SMBx 1,$80
fc6b : 97 > db ((1+8)*16)+7
fc6c : 80 > db $80
BBRx 1,$80,$
fc6d : 1f >LBL0006 db ((1+0)*16)+15
fc6e : 80 > db $80
> if($ < LBL0006+3)
fc6f : fd > db -($-LBL0006+1)
> else
> db ($-LBL0006-3)
> endif
RMBx 1,$80
fc70 : 17 > db ((1+0)*16)+7
fc71 : 80 > db $80
BBSx 1,$80,$
fc72 : 9f >LBL0008 db ((1+8)*16)+15
fc73 : 80 > db $80
> if($ < LBL0008+3)
fc74 : fd > db -($-LBL0008+1)
> else
> db ($-LBL0008-3)
> endif
;;
SMBx 2,$80
fc75 : a7 > db ((2+8)*16)+7
fc76 : 80 > db $80
BBRx 2,$80,$
fc77 : 2f >LBL0010 db ((2+0)*16)+15
fc78 : 80 > db $80
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 21
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
> if($ < LBL0010+3)
fc79 : fd > db -($-LBL0010+1)
> else
> db ($-LBL0010-3)
> endif
RMBx 2,$80
fc7a : 27 > db ((2+0)*16)+7
fc7b : 80 > db $80
BBSx 2,$80,$
fc7c : af >LBL0012 db ((2+8)*16)+15
fc7d : 80 > db $80
> if($ < LBL0012+3)
fc7e : fd > db -($-LBL0012+1)
> else
> db ($-LBL0012-3)
> endif
;;
SMBx 3,$80
fc7f : b7 > db ((3+8)*16)+7
fc80 : 80 > db $80
BBRx 3,$80,$
fc81 : 3f >LBL0014 db ((3+0)*16)+15
fc82 : 80 > db $80
> if($ < LBL0014+3)
fc83 : fd > db -($-LBL0014+1)
> else
> db ($-LBL0014-3)
> endif
RMBx 3,$80
fc84 : 37 > db ((3+0)*16)+7
fc85 : 80 > db $80
BBSx 3,$80,$
fc86 : bf >LBL0016 db ((3+8)*16)+15
fc87 : 80 > db $80
> if($ < LBL0016+3)
fc88 : fd > db -($-LBL0016+1)
> else
> db ($-LBL0016-3)
> endif
;;
SMBx 4,$80
fc89 : c7 > db ((4+8)*16)+7
fc8a : 80 > db $80
BBRx 4,$80,$
fc8b : 4f >LBL0018 db ((4+0)*16)+15
fc8c : 80 > db $80
> if($ < LBL0018+3)
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 22
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
fc8d : fd > db -($-LBL0018+1)
> else
> db ($-LBL0018-3)
> endif
RMBx 4,$80
fc8e : 47 > db ((4+0)*16)+7
fc8f : 80 > db $80
BBSx 4,$80,$
fc90 : cf >LBL0020 db ((4+8)*16)+15
fc91 : 80 > db $80
> if($ < LBL0020+3)
fc92 : fd > db -($-LBL0020+1)
> else
> db ($-LBL0020-3)
> endif
;;
SMBx 5,$80
fc93 : d7 > db ((5+8)*16)+7
fc94 : 80 > db $80
BBRx 5,$80,$
fc95 : 5f >LBL0022 db ((5+0)*16)+15
fc96 : 80 > db $80
> if($ < LBL0022+3)
fc97 : fd > db -($-LBL0022+1)
> else
> db ($-LBL0022-3)
> endif
RMBx 5,$80
fc98 : 57 > db ((5+0)*16)+7
fc99 : 80 > db $80
BBSx 5,$80,$
fc9a : df >LBL0024 db ((5+8)*16)+15
fc9b : 80 > db $80
> if($ < LBL0024+3)
fc9c : fd > db -($-LBL0024+1)
> else
> db ($-LBL0024-3)
> endif
;;
SMBx 6,$80
fc9d : e7 > db ((6+8)*16)+7
fc9e : 80 > db $80
BBRx 6,$80,$
fc9f : 6f >LBL0026 db ((6+0)*16)+15
fca0 : 80 > db $80
> if($ < LBL0026+3)
fca1 : fd > db -($-LBL0026+1)
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 23
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
> else
> db ($-LBL0026-3)
> endif
RMBx 6,$80
fca2 : 67 > db ((6+0)*16)+7
fca3 : 80 > db $80
BBSx 6,$80,$
fca4 : ef >LBL0028 db ((6+8)*16)+15
fca5 : 80 > db $80
> if($ < LBL0028+3)
fca6 : fd > db -($-LBL0028+1)
> else
> db ($-LBL0028-3)
> endif
;;
SMBx 7,$80
fca7 : f7 > db ((7+8)*16)+7
fca8 : 80 > db $80
BBRx 7,$80,$
fca9 : 7f >LBL0030 db ((7+0)*16)+15
fcaa : 80 > db $80
> if($ < LBL0030+3)
fcab : fd > db -($-LBL0030+1)
> else
> db ($-LBL0030-3)
> endif
RMBx 7,$80
fcac : 77 > db ((7+0)*16)+7
fcad : 80 > db $80
BBSx 7,$80,$
fcae : ff >LBL0032 db ((7+8)*16)+15
fcaf : 80 > db $80
> if($ < LBL0032+3)
fcb0 : fd > db -($-LBL0032+1)
> else
> db ($-LBL0032-3)
> endif
;;
fcb1 : a9ff [ 2] lda #$ff
fcb3 : 8580 [ 3] sta $80
;;
BBSx 7,$80,MSB_Set
fcb5 : ff >LBL0033 db ((7+8)*16)+15
fcb6 : 80 > db $80
> if(MSB_Set < LBL0033+3)
> db -(MSB_Set-LBL0033+1)
> else
fcb7 : 05 > db (MSB_Set-LBL0033-3)
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 24
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
> endif
fcb8 : Clr_MSB:
RMBx 7,$80
fcb8 : 77 > db ((7+0)*16)+7
fcb9 : 80 > db $80
BBRx 7,$80,MSB_Clr
fcba : 7f >LBL0035 db ((7+0)*16)+15
fcbb : 80 > db $80
> if(MSB_Clr < LBL0035+3)
> db -(MSB_Clr-LBL0035+1)
> else
fcbc : 02 > db (MSB_Clr-LBL0035-3)
> endif
fcbd : 80f9 [ 3] MSB_Set bra Clr_MSB
fcbf : MSB_Clr:
WAI
fcbf : cb > db $CB
fcc0 : eaeaeaea [ 8] nop 4
fcc4 : 9cf8ff [ 4] stz IRQ_On
fcc7 : eaeaeaea [ 8] nop 4
fccb : 58 [ 2] cli
WAI
fccc : cb > db $CB
fccd : 78 [ 2] sei
fcce : 9cf9ff [ 4] stz IRQ_Off
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Prepare Registers for looping to start of the test program
;;
fcd1 : a900 [ 2] lda #$00 ;; Imm, A = 0x00, P = 0x26
fcd3 : aa [ 2] tax ;; Imp, X = 0x00, P = 0x26
fcd4 : a8 [ 2] tay ;; Imp, Y = 0x00, P = 0x26
;;
fcd5 : 4c00f8 [ 3] jmp Start ;; Imp, A = X = Y = 0x00, P = 0x26
;;
fcd8 : Last_Addrs:
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Vector Table
;;
fffa = Vect_Table org $FFFA
;;
fffa : 00f8 dw Start ;; NMI Interrupt Vector
fffc : 00f8 dw Start ;; Reset Vector
fffe : 08f8 dw Interrupt ;; IRQ/BRK Interrupt Vector
;;
end Start
No errors in pass 2.
AS65 Assembler for R6502 [1.42]. Copyright 1994-2007, Frank A. Kingswood Page 25
------------------------------------------- M65C02_Core Test Program - all instructions -------------------------------------------
Wrote binary from address $f800 through $ffff.
Total size 2048 bytes.