The Free On-line Dictionary of Computing (30 December 2018):
An eight-bit microprocessor designed by MOS
Technology around 1975 and made by Rockwell.
Unlike the Intel 8080 and its kind, the 6502 had very few
registers. It was an 8-bit processor, with 16-bit address
bus. Inside was one 8-bit data register (accumulator), two
8-bit index registers and an 8-bit stack pointer (stack
was preset from address 256 to 511). It used these index and
stack registers effectively, with more addressing modes,
including a fast zero-page mode that accessed memory locations
from address 0 to 255 with an 8-bit address (it didn't have to
fetch a second byte for the address).
Back when the 6502 was introduced, RAM was actually faster
than CPUs, so it made sense to optimise for RAM access
rather than increase the number of registers on a chip.
The 6502 was used in the BBC Microcomputer, Apple II,
Commodore, Apple Computer and Ataripersonal
computers. Steve Wozniak described it as the first chip
you could get for less than a hundred dollars (actually a
quarter of the 6800 price).
The 6502's indirect jump instruction, JMP (xxxx), was
broken. If the address was hexadecimal xxFF, the processor
would not access the address stored in xxFF and xxFF + 1, but
rather xxFF and xx00. The 6510 did not fix this bug, nor
was it fixed in any of the other NMOS versions of the 6502
such as the 8502. Bill Mensch at Western Design Center
was probably the first to fix it, in the 65C02.
The 6502 also had undocumented instructions.
The 65816 is an expanded version of the 6502.
There is a 6502 assembler by Doug Jones
which supports macros and conditional features and can be
used for linkage editing of object files. It requires
See also cross-assembler, RTI, Small-C.