from
The Free On-line Dictionary of Computing (8 July 2008)
6502
<hardware> An eight-bit {microprocessor} designed by {MOS
Technologies} 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 {CPU}s, 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 {Atari} {personal
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 <[email protected]>
which supports {macros} and conditional features and can be
used for linkage editing of object files. It requires
{Pascal}.
See also {cross-assembler}, {RTI}, {Small-C}.
(2001-01-02)