I would like to confirm my understanding of the differences in the various 6502 instruction sets. I am currently using the Kingswood AS65 assembler, and it distinguishes between the 6502 instruction set, and an extended instruction set which it refers to as the 65SC02 instruction set. I've been unable to locate an original or scanned copy of user's or programmer's guide for the 65SC02. I've assumed, from information gathered on various sites (including this one), that the 65SC02 instruction set is the instruction set of the first WDC 65C02. I've always thought of that original processor as the W65C02, whose instruction set does not include the four zero page bit instructions introduced by Rockwell. Furthermore, the original W65C02 did not include the WAI and STP instructions introduced by WDC on the W65C816/W65C802 processors. In contrast, the current 65C02 instruction set is generally accepted to be the instruction set of the WDC W65C02S. Thus, the 65C02 instruction set is essentially the Rockwell R65C02 plus the WAI and STP instructions.
In the two figures below, I have tabulated the instruction set implemented by my FPGA core (on
GitHUB). It is not cycle compatible with any of the existing processors, but it also differs in that unimplemented instructions are all treated as single cycle NOPs. In other words, it does not implement multi-cycle NOPs and skip over bytes in the instruction stream like a current 65C02, i.e. the W65C02S. Because of its microprogrammed instruction decoder and sequencer, it is easy to extend the core to support this mode of operation, but it was not intended to do so. Further, the core has additional logic for address computations so it does not incur additional memory cycles when indexed memory address calculations cross a page boundary.
In the two figures, each half of the full instruction set map, instructions in a black font indicate an instruction and addressing mode supported by the original 6502. Instructions and addressing modes I believe were added by WDC in the original 65C02 are shown in a red font. Instructions and addressing modes added to the original 65C02 by Rockwell and WDC are shown in a blue font.
If anyone sees an error in these tables, I would appreciate a reply or PM.
Attachment:
File comment: M65C02 Instruction Set Map: $00..$7F.
M65C02_Instruction_Set_Map_Lo.JPG [ 165.29 KiB | Viewed 2380 times ]
Attachment:
File comment: M65C02 Instruction Set Map: $80..$FF.
M65C02_Instruction_Set_Map_Hi.JPG [ 162.69 KiB | Viewed 2380 times ]