6502

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)
    

[email protected]