MOS Technology 6502

Last updated
MOS Technology 6502
MOS 6502AD 4585 top.jpg
A MOS 6502 processor in a DIP-40 plastic package. The four-digit date code indicates it was made in the 45th week of 1985
Produced1975;44 years ago (1975)
Common manufacturer(s)
Max. CPU clock rate 1 MHz to 3 MHz
Instruction set MOS 6502
Transistors3,510, [1] 3,218 [2]
Data width8
Address width16

The MOS Technology 6502 (typically "sixty-five-oh-two" or "six-five-oh-two") [3] is an 8-bit microprocessor that was designed by a small team led by Chuck Peddle for MOS Technology. When it was introduced in 1975, the 6502 was, by a considerable margin, the least expensive microprocessor on the market. It initially sold for less than one-sixth the cost of competing designs from larger companies, such as Motorola and Intel, and caused rapid decreases in pricing across the entire processor market. Along with the Zilog Z80, it sparked a series of projects that resulted in the home computer revolution of the early 1980s.

In computer architecture, 8-bit integers, memory addresses, or other data units are those that are 8 bits wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 8-bit is also a generation of microcomputers in which 8-bit microprocessors were the norm.

Microprocessor Computer processor contained on an integrated-circuit chip

A microprocessor is a computer processor that incorporates the functions of a central processing unit on a single integrated circuit (IC), or at most a few integrated circuits. The microprocessor is a multipurpose, clock driven, register based, digital integrated circuit that accepts binary data as input, processes it according to instructions stored in its memory and provides results as output. Microprocessors contain both combinational logic and sequential digital logic. Microprocessors operate on numbers and symbols represented in the binary number system.

Chuck Peddle American electrical engineer

Charles Ingerham Peddle is an American electrical engineer best known as the main designer of the MOS Technology 6502 microprocessor, as well as the KIM-1 SBC and its successor the Commodore PET PC, both based on the 6502.


Popular home video game consoles and computers, such as the Atari 2600, Atari 8-bit family, Apple II, Nintendo Entertainment System, Commodore 64, Atari Lynx, BBC Micro and others, used the 6502 or variations of the basic design. Soon after the 6502's introduction, MOS Technology was purchased outright by Commodore International, who continued to sell the microprocessor and licenses to other manufacturers. In the early days of the 6502, it was second-sourced by Rockwell and Synertek, and later licensed to other companies. In its CMOS form, which was developed by the Western Design Center, the 6502 family continues to be widely used in embedded systems, with estimated production volumes in the hundreds of millions. [4]

A video game console is a computer device that outputs a video signal or visual image to display a video game that one or more people can play.

Atari 2600 Video game console

The Atari 2600, originally branded as the Atari Video Computer System or Atari VCS for short until November 1982, is a home video game console from Atari, Inc. Released on September 11, 1977, it is credited with popularizing the use of microprocessor-based hardware and games stored on ROM cartridges instead of dedicated hardware with games physically built into the unit. The 2600 was bundled with two joystick controllers, a conjoined pair of paddle controllers, and a game cartridge: initially Combat, and later Pac-Man.

Atari 8-bit family series of 8-bit home computers introduced in 1979

The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 and manufactured until 1992. All of the machines in the family are technically similar and differ primarily in packaging. They are based on the MOS Technology 6502 CPU running at 1.79 MHz, and were the first home computers designed with custom co-processor chips. This architecture enabled graphics and sound capabilities more advanced than most contemporary machines, and gaming on the platform was a major draw. The first-person space combat simulator Star Raiders is considered the platform's killer app. The systems launched with a series of plug and play peripherals that used the Atari SIO serial bus system, an early analog of USB.

History and use

Origins at Motorola

Motorola 6800 demonstration board built by Chuck Peddle and John Buchanan in 1974 Motorola 6800 proto board.jpg
Motorola 6800 demonstration board built by Chuck Peddle and John Buchanan in 1974

The 6502 was designed by many of the same engineers that had designed the Motorola 6800 microprocessor family. [5] Motorola started the 6800 microprocessor project in 1971 with Tom Bennett as the main architect. The chip layout began in late 1972, the first 6800 chips were fabricated in February 1974 and the full family was officially released in November 1974. [6] [7] John Buchanan was the designer of the 6800 chip [8] [9] and Rod Orgill, who later did the 6501, assisted Buchanan with circuit analyses and chip layout. [10] Bill Mensch joined Motorola in June 1971 after graduating from the University of Arizona (at age 26). [11] His first assignment was helping define the peripheral ICs for the 6800 family and later he was the principal designer of the 6820 Peripheral Interface Adapter (PIA). [12] Motorola's engineers could run analog and digital simulations on an IBM 370-165 mainframe computer. [13] Bennett hired Chuck Peddle in 1973 to do architectural support work on the 6800 family products already in progress. [14] He contributed in many areas, including the design of the 6850 ACIA (serial interface). [15]

Motorola 6800 8-bit microprocessor

The 6800 is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System that also included serial and parallel interface ICs, RAM, ROM and other support chips. A significant design feature was that the M6800 family of ICs required only a single five-volt power supply at a time when most other microprocessors required three voltages. The M6800 Microcomputer System was announced in March 1974 and was in full production by the end of that year.

Bill Mensch American computer chip engineer

William (Bill) David Mensch, Jr., is an American electrical engineer born in Quakertown, Pennsylvania. He was a major contributor to the design of the Motorola 6800 8-bit microprocessor, was part of the small team led by Chuck Peddle that created the MOS Technology 6502, and he designed the 16-bit successor to the 6502, the 65816.

Peripheral Interface Adapter integrated circuit

A Peripheral Interface Adapter (PIA) is a peripheral integrated circuit providing parallel I/O interfacing for microprocessor systems.

Motorola's target customers were established electronics companies such as Hewlett-Packard, Tektronix, TRW, and Chrysler. [16] In May 1972, Motorola's engineers began visiting select customers and sharing the details of their proposed 8-bit microprocessor system with ROM, RAM, parallel and serial interfaces. [17] In early 1974, they provided engineering samples of the chips so that customers could prototype their designs. Motorola's "total product family" strategy did not focus on the price of the microprocessor, but on reducing the customer's total design cost. They offered development software on a timeshare computer, the "EXORciser" debugging system, onsite training and field application engineer support. [18] [19] Both Intel and Motorola had initially announced a $360 price for a single microprocessor. [20] [21] The actual price for production quantities was much less. Motorola offered a design kit containing the 6800 with six support chips for $300. [22]

Hewlett-Packard American information technology company

The Hewlett-Packard Company or Hewlett-Packard was an American multinational information technology company headquartered in Palo Alto, California. It developed and provided a wide variety of hardware components as well as software and related services to consumers, small- and medium-sized businesses (SMBs) and large enterprises, including customers in the government, health and education sectors. In 2015, it was split into two separate companies, HP Inc.. and Hewlett Packard Enterprise.

Tektronix American test and measurement devices company

Tektronix, Inc., historically widely known as Tek, is an American company best known for manufacturing test and measurement devices such as oscilloscopes, logic analyzers, and video and mobile test protocol equipment.

TRW Inc. was an American corporation involved in a variety of businesses, mainly aerospace, automotive, and credit reporting. It was a pioneer in multiple fields including electronic components, integrated circuits, computers, software and systems engineering. TRW built many spacecraft, including Pioneer 1, Pioneer 10, and several space-based observatories. It was #57 on the 1986 Fortune 500 list, and had 122,258 employees. In 1958 the company was called Thompson Ramo Wooldridge, after three prominent leaders. This was later shortened to TRW.

Peddle, who would accompany the sales people on customer visits, found that customers were put off by the high cost of the microprocessor chips. To lower the price, the IC chip size would have to shrink so that more chips could be produced on each silicon wafer. This could be done by removing inessential features in the 6800 and using a newer fabrication technology, "depletion-mode" MOS transistors. Peddle and other team members started outlining the design of an improved feature, reduced size microprocessor. At that time, Motorola's new semiconductor fabrication facility in Austin, Texas, was having difficulty producing MOS chips, and mid-1974 was the beginning of a year-long recession in the semiconductor industry. Also, many of the Mesa, Arizona, employees were displeased with the upcoming relocation to Austin. [23]

Wafer (electronics) thin slice of semiconductor material used in the fabrication of integrated circuits

In electronics, a wafer is a thin slice of semiconductor, such as a crystalline silicon (c-Si), used for the fabrication of integrated circuits and, in photovoltaics, to manufacture solar cells. The wafer serves as the substrate for microelectronic devices built in and upon the wafer. It undergoes many microfabrication processes, such as doping, ion implantation, etching, thin-film deposition of various materials, and photolithographic patterning. Finally, the individual microcircuits are separated by wafer dicing and packaged as an integrated circuit.

MOSFET Transistor used for amplifying or switching electronic signals.

The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET), also known as the metal–oxide–silicon transistor (MOS transistor, or MOS), is a type of field-effect transistor that is fabricated by the controlled oxidation of a semiconductor, typically silicon. It has a covered gate, whose voltage determines the conductivity of the device. This ability to change conductivity with the amount of applied voltage can be used for amplifying or switching electronic signals. The MOSFET was invented by Egyptian engineer Mohamed M. Atalla and Korean engineer Dawon Kahng at Bell Labs in November 1959. It is the basic building block of modern electronics, and the most widely manufactured device in history, with an estimated total of 13 sextillion (1.3 × 1022) MOSFETs manufactured between 1960 and 2018.

Motorola's Semiconductor Products Division management was overwhelmed with problems and showed no interest in Peddle's low-cost microprocessor proposal. Chuck Peddle was frustrated with Motorola's management for missing this new opportunity. In a November 1975 interview, Motorola's Chairman, Robert Galvin, agreed. He said, "We did not choose the right leaders in the Semiconductor Products division." The division was reorganized and the management replaced. New group vice-president John Welty said, "The semiconductor sales organization lost its sensitivity to customer needs and couldn't make speedy decisions." [24]

Peddle began looking outside Motorola for a source of funding for this new project and found a small semiconductor company in Pennsylvania. In August 1974, Chuck Peddle, Bill Mensch, Rod Orgill, Harry Bawcom, Ray Hirt, Terry Holdt and Wil Mathys left Motorola to join MOS Technology. (Mike James joined later.) Of the seventeen chip designers and layout people on the 6800 team, seven left. There were 30 to 40 other marketers, application engineers and system engineers on the 6800 team. [25] That December, Gary Daniels transferred into the 6800 microprocessor group. Tom Bennett did not want to leave the Phoenix area so Daniels took over the microprocessor development in Austin. His first project was a "depletion-mode" version of the 6800; this cut the chip area nearly in half and doubled the speed. The faster parts were available in July 1976. [26] This was followed by the 6802 which added 128 bytes of RAM and an on-chip clock oscillator circuit. [27]

Moving to MOS Technology

A 1973 MOS Technology advertisement highlighting their custom integrated circuit capabilities MOS Technology ad April 26 1973.jpg
A 1973 MOS Technology advertisement highlighting their custom integrated circuit capabilities
MOS Technology MCS6501 6501chip.jpg
MOS Technology MCS6501

MOS Technology was formed in 1969 by three executives from General Instrument, Mort Jaffe, Don McLaughlin, and John Paivinen, to produce metal-oxide-semiconductor (MOS) integrated circuits. Allen-Bradley, a supplier of electronic components and industrial controls, acquired a majority interest in 1970. [28] The company designed and fabricated custom ICs for customers and had developed a line of calculator chips. [29]

On August 19, 1974, the former Motorola employees moved into MOS Technology's headquarters at Valley Forge, Pennsylvania. The goal was to design and produce a low cost microprocessor for embedded applications and to target as wide as possible a customer base. This would be possible only if the microprocessor was low costand in the semiconductor business, chip size determined cost. The size goal required n-channel "depletion-load" MOS transistors, a more advanced process than MOS Technology's calculator chips used. John Paivinen was able to have the fabrication process ready by June 1975. [30] Chuck Peddle, Rod Orgill, and Wil Mathys designed the initial architecture of the new processors. There would be two microprocessors: the 6501 would plug into the same socket as the Motorola 6800, while the 6502 would work with 6800 family peripherals and have an on-chip clock oscillator. These processors would not run 6800 software because they had a different instruction set, different registers, and mostly different addressing modes. [31] A September 1975 article in EDN magazine gives this summary of the design:

The MOS Technology 650X family represents a conscious attempt of eight former Motorola employees who worked on the development of the 6800 system to put out a part that would replace and outperform the 6800, yet undersell it. With the benefit of hindsight gained on the 6800 project, the MOS Technology team headed by Chuck Peddle, made the following architectural changes in the Motorola CPU… [32]

The second "B" accumulator was omitted. The 16-bit 6800 index register with an 8-bit offset in the instruction was replaced with two 8-bit index registers with an 8-bit or 16-bit offset. Three-state control was eliminated from the address bus outputs. A clock generator was included on the chip. The address bus was always active so the VMA (valid-memory address) output was eliminated. An "8080-type" RDY signal for single-cycle stepping was added.

The chip high level design had to be turned into drawings of transistors and interconnects. At MOS Technology, the "layout" was a very manual process done with color pencils and vellum paper. The layout consisted of thousands of polygon shapes on six different drawings; one for each layer of the semiconductor fabrication process. Rod Orgill was responsible for the 6501 design; he had assisted John Buchanan at Motorola on the 6800. Bill Mensch did the 6502; he was the designer of the 6820 Peripheral Interface Adapter (PIA) at Motorola. Harry Bawcom, Mike James and Sydney-Anne Holt helped with the layout.

The size goal for the 6502 chip was 153 x 168 mils (3.9 x 4.3 mm) or an area of 16.6 mm2. [32] At that time the technical literature would state the length and width of each chip in "mils" (0.001 inch). A smaller chip area means more chips per silicon wafer and greater yield as defects are generally randomly but uniformly scattered across the wafer area. So the more chips per wafer, the smaller the ratio of defective chips to total wafer chips. The original 6800 chips were intended to be 180 x 180 mils but layout was completed at 212 x 212 mils (5.4 x 5.4 mm) or an area of 29.0 mm2. [33] The first 6502 chips were 168 x 183 mils (4.3 x 4.7 mm) or an area of 19.8 mm2. The Rotate Right instruction (ROR) did not work in the first silicon, so the instruction was temporarily omitted from the published documents, but the next iteration of the design shrank the chip and fixed the Rotate Right instruction, which was then included in revised documentation. [34]

Introducing the 6501 and 6502

Introductory advertisement for the MOS Technology MCS6501 and MCS6502 microprocessors. MOS 6501 6502 Ad Sept 1975.jpg
Introductory advertisement for the MOS Technology MCS6501 and MCS6502 microprocessors.

MOS Technology's microprocessor introduction was quite different from the traditional months-long product launch. The first run of a new integrated circuit is normally used for internal testing and shared with select customers as "engineering samples". These chips often have a minor design defect or two that will be corrected before production begins. Chuck Peddle's goal was to sell the first run 6501 and 6502 chips to the attendees at the Wescon trade show in San Francisco beginning on September 16, 1975. Peddle was a very effective spokesman and the MOS Technology microprocessors were extensively covered in the trade press. One of the earliest was a full-page story on the MCS6501 and MCS6502 microprocessors in the July 24, 1975 issue of Electronics magazine. [35] Stories also ran in EE Times (August 24, 1975), [36] EDN (September 20, 1975), Electronic News (November 3, 1975), Byte (November 1975) [37] and Microcomputer Digest (November 1975). [38] Advertisements for the 6501 appeared in several publications the first week of August 1975. The 6501 would be for sale at Wescon for $20 each. [39] In September 1975, the advertisements included both the 6501 and the 6502 microprocessors. The 6502 would cost only $25. [40]

When MOS Technology arrived at Wescon, they found that exhibitors were not permitted to sell anything on the show floor. They rented the MacArthur Suite at the St. Francis Hotel and directed customers there to purchase the processors. At the suite, the processors were stored in large jars to imply that the chips were in production and readily available. The customers did not know the bottom half of each jar contained non-functional chips. [41] The chips were $20 and $25 while the documentation package was an additional $10. Users were encouraged to make photocopies of the documents, an inexpensive way for MOS Technology to distribute product information. The processors were supposed to have 56 instructions, but the Rotate Right (ROR) instruction did not work correctly on these chips, so the preliminary data sheets listed just 55 instructions. The reviews in Byte and EDN noted the lack of the ROR instruction. The next revision of the layout fixed this problem and the May 1976 datasheet listed 56 instructions. Peddle wanted every interested engineer and hobbyist to have access to the chips and documentation; other semiconductor companies only wanted to deal with "serious" customers. For example, Signetics was introducing the 2650 microprocessor and its advertisements asked readers to write for information on their company letterhead. [42]

Pinout differences
3∅1 (in)∅1 (in)∅1 (out)
5Valid Memory AddressValid Memory AddressN.C.
7Bus AvailableBus AvailableSYNC
36Data Bus EnableData Bus EnableN.C.
37∅2 (in)∅2 (in)∅0 (in)
38N.C.N.C.Set Overflow Flag
39Three-State ControlN.C.∅2 (out)

Motorola lawsuit

The May 1976 datasheet omitted the 6501 microprocessor that was in the August 1975 version. MCS6500 Datasheet May 1976 cover.jpg
The May 1976 datasheet omitted the 6501 microprocessor that was in the August 1975 version.

The 6501/6502 introduction in print and at Wescon was an enormous success. The downside was that the extensive press coverage got Motorola's attention. In October 1975, Motorola reduced the price of a single 6800 microprocessor from $175 to $69. The $300 system design kit was reduced to $150 and it now came with a printed circuit board. [43] On November 3, 1975, Motorola sought an injunction in Federal Court to stop MOS Technology from making and selling microprocessor products. They also filed a lawsuit claiming patent infringement and misappropriation of trade secrets. Motorola claimed that seven former employees joined MOS Technology to create that company's microprocessor products. [44]

Motorola was a billion-dollar company with a plausible case and lawyers. On October 30, 1974, Motorola had filed numerous patent applications on the microprocessor family and was granted twenty-five patents. The first was in June 1976 and the second was to Bill Mensch on July 6, 1976, for the 6820 PIA chip layout. These patents covered the 6800 bus and how the peripheral chips interfaced with the microprocessor. [45] Motorola began making transistors in 1950 and had a portfolio of semiconductor patents. Allen-Bradley decided not to fight this case and sold their interest in MOS Technology back to the founders. Four of the former Motorola engineers were named in the suit: Chuck Peddle, Will Mathys, Bill Mensch and Rod Orgill. All were named inventors in the 6800 patent applications. During the discovery process, Motorola found that one engineer, Mike James, had ignored Peddle's instructions and brought his 6800 design documents to MOS Technology. [46] In March 1976, the now independent MOS Technology was running out of money and had to settle the case. They agreed to drop the 6501 processor, pay Motorola $200,000 and return the documents that Motorola contended were confidential. Both companies agreed to cross-license microprocessor patents. [47] That May, Motorola dropped the price of a single 6800 microprocessor to $35. By November, Commodore had acquired MOS Technology. [48] [49]

Computers and games

With legal troubles behind them, MOS was still left with the problem of getting developers to try their processor, prompting Chuck Peddle to design the MDT-650 ("microcomputer development terminal") single-board computer. Another group inside the company designed the KIM-1, which was sold semi-complete and could be turned into a usable system with the addition of a 3rd party computer terminal and compact cassette drive. Much to their amazement, the KIM-1 sold well to hobbyists and tinkerers, as well as to the engineers to which it had been targeted. The related Rockwell AIM 65 control/training/development system also did well. The software in the AIM 65 was based on that in the MDT. Another roughly similar product was the Synertek SYM-1.

One of the first "public" uses for the design was the Apple I microcomputer, introduced in 1976. The 6502 was next used in the Commodore PET and the Apple II, [50] both released in 1977. It was later used in the Atari 8-bit family and Acorn Atom home computers, the BBC Micro, [50] Commodore VIC-20 and other designs both for home computers and business, such as Ohio Scientific and Oric. The 6510, a direct successor of the 6502 with a digital I/O port and a tri-state address bus, was the CPU utilized in the best-selling [51] [52] Commodore 64 home computer. Commodore's floppy disk drive, the 1541, had a processor of its ownit too was a 6502.

Another important use of the 6500 family was in video games. The first to make use of the processor design was the Atari VCS, later renamed the Atari 2600. The VCS used an offshoot of the 6502 called the 6507, which had fewer pins and, as a result, could address only 8  KB of memory. Millions of the Atari consoles would be sold, each with a MOS processor. Another significant use was by the Nintendo Entertainment System and Famicom. The 6502 used in the NES was a second source version by Ricoh, a partial system-on-a-chip, that lacked the binary-coded decimal mode but added 22 memory-mapped registers and on-die hardware for sound generation, joypad reading, and sprite list DMA. Called 2A03 in NTSC consoles and 2A07 in PAL consoles (the difference being the memory divider ratio and a lookup table for audio sample rates), this processor was produced exclusively for Nintendo. The Atari Lynx used a 4 MHz version of the chip, the 65SC02.

In the 1980s, a popular electronics magazine Elektor/Elektuur used the processor in its microprocessor development board Junior Computer.

Technical description

6502 Pin configuration (40-Pin DIP) MOS6502.svg
6502 Pin configuration (40-Pin DIP)
MOS 6502 registers
15141312111009080706050403020100(bit position)
Main registers
Index registers
 XX index
 YY index
0  0  0  0  0  0  0  1SPStack Pointer
Program counter
PCProgram Counter
Status register
  N V - B D I Z C P Processor flags

The 6502 is a little-endian 8-bit processor with a 16-bit address bus. The original versions were fabricated using an 8 µm [54] process technology chip with an advertised die size of 153 mils × 168 mils (3.9 mm × 4.3 mm), or an area of 16.6 mm2. [32]

The internal logic runs at the same speed as the external clock rate, but despite the low clock speeds (typically in the neighborhood of 1 to 2  MHz), the 6502's performance was competitive with other contemporary CPUs using significantly faster clocks. This is partly due to a simple state machine implemented by combinational (clockless) logic to a greater extent than in many other designs; the two-phase clock (supplying two synchronizations per cycle) can thereby control the whole machine-cycle directly. Typical instructions might take half as many cycles to complete on the 6502 than contemporary designs. Like most simple CPUs of the era, the dynamic NMOS 6502 chip is not sequenced by a microcode ROM but uses a PLA (which occupied about 15% of the chip area) for instruction decoding and sequencing. As in most 8-bit microprocessors, the chip does some limited overlapping of fetching and execution.

The low clock frequency moderated the speed requirement of memory and peripherals attached to the CPU, as only about 50% of the clock cycle was available for memory access (due to the asynchronous design, this fraction varied strongly among chip versions). This was critical at a time when affordable memory had access times in the range 250–450 ns. The original NMOS 6502 was minimalistically engineered and efficiently manufactured, and therefore cheapan important factor in getting design wins in the very price-sensitive game-console and home-computer markets.


Like its precursor, the 6800, the 6502 has very few registers. The 6502's registers include one 8-bit accumulator register (A), two 8-bit index registers (X and Y), 7 processor status flag bits (P), an 8-bit stack pointer (S), and a 16-bit program counter (PC). This compares to a typical design of the same era, the Z80, which has eight general-purpose 8-bit registers, which can be combined into four 16-bit ones.

In order to make up somewhat for the lack of registers, the 6502 included a zero-page addressing mode that uses one address byte in the instruction instead of the two needed to address the full 64 KB of memory. This provides fast access to the first 256 bytes of RAM by using shorter instructions. Chuck Peddle has said in interviews that the specific intention was to allow these first 256 bytes of RAM to be used like registers.[ citation needed ]

The stack address space is hardwired to memory page $01, i.e. the address range $0100$01FF (256511). Software access to the stack is done via four implied addressing mode instructions, whose functions are to push or pop (pull) the accumulator or the processor status register. The same stack is also used for subroutine calls via the JSR (jump to subroutine) and RTS (return from subroutine) instructions and for interrupt handling.


The chip uses the index and stack registers effectively with several addressing modes, including a fast "direct page" or "zero page" mode, similar to that found on the PDP-8, that accesses memory locations from addresses 0 to 255 with a single 8-bit address (saving the cycle normally required to fetch the high-order byte of the address)code for the 6502 uses the zero page much as code for other processors would use registers. On some 6502-based microcomputers with an operating system, the OS uses most of zero page, leaving only a handful of locations for the user.

Addressing modes also include implied (1-byte instructions); absolute (3 bytes); indexed absolute (3 bytes); indexed zero-page (2 bytes); relative (2 bytes); accumulator (1); indirect,x and indirect,y (2); and immediate (2). Absolute mode is a general-purpose mode. Branch instructions use a signed 8-bit offset relative to the instruction after the branch; the numerical range −128..127 therefore translates to 128 bytes backward and 127 bytes forward from the instruction following the branch (which is 126 bytes backward and 129 bytes forward from the start of the branch instruction). Accumulator mode uses the accumulator as an effective address and does not need any operand data. Immediate mode uses an 8-bit literal operand.

Indirect addressing

The indirect modes are useful for array processing and other looping. With the 5/6 cycle "(indirect),y" mode, the 8-bit Y register is added to a 16-bit base address read from zero page, which is located by a single byte following the opcode. The Y register is therefore an index register in the sense that it is used to hold an actual index (as opposed to the X register in the 6800, where a base address was directly stored and to which an immediate offset could be added). Incrementing the index register to walk the array byte-wise takes only two additional cycles. With the less frequently used "(indirect,x)" mode the effective address for the operation is found at the zero page address formed by adding the second byte of the instruction to the contents of the X register. Using the indexed modes, the zero page effectively acts as a set of up to 128 additional (though very slow) address registers.

The 6502 is capable of performing addition and subtraction in binary or binary-coded decimal. Placing the CPU into BCD mode with the SED (set D flag) instruction results in decimal arithmetic, in which $99 + $01 would result in $00 and the carry (C) flag being set. In binary mode (CLD, clear D flag), the same operation would result in $9A and the carry flag being cleared. Other than Atari BASIC, BCD mode was seldom used in home-computer applications.

See the Hello world! article for a simple but characteristic example of 6502 assembly language.

Instructions and opcodes

6502 instruction operation codes (opcodes) are eight-bits long and have the general form aaabbbcc, where aaa and cc define the opcode, and bbb defines the addressing mode. [55]

For instance, consider the ORA instruction, which performs a bitwise OR on the bits in the accumulator with another value. The instruction opcode is of the form 000bbb01, where bbb may be 010 for an immediate mode value (constant), 001 for zero page fixed address, 011 for an absolute address, and so on. [55]

This pattern is not absolute and there are a number of exceptions. However, where it does apply it allows one to easily deconstruct opcode values back to assembler mnemonics for the majority of instructions, handling the edge cases with special-purpose code. [55]

Of the 256 possible opcodes available using an 8-bit pattern, the original 6502 uses 151 of them, organized into 56 instructions with (possibly) multiple addressing modes. Depending on the instruction and addressing mode, the opcode may require zero, one or two additional bytes for operands. Hence 6502 machine instructions vary in length from one to three bytes. [56] [57] The operand is stored in the 6502's customary little-endian format.

The 65C816, the 16-bit CMOS version of the 6502, also supports 24-bit addressing, which results in instructions being assembled with three-byte operands, also arranged in little-endian format.

The remaining 105 opcodes are undefined. In the original design, instructions where the low-order 4-bits (nibble) were 3, 7, B or F were not used, providing room for future expansion. Likewise, the $2xxx column had only a single entry, LDX #constant. The remaining 25 empty slots were distributed. Some of the empty slots were used in the 65C02 to provide both new instructions as well as variations on existing ones with new addressing modes. The $Fxxx instructions were initially left free to allow 3rd party vendors to add their own instructions, but later versions of the 65C02 standardized a set of bit fiddling instructions developed by Rockwell Semiconductor.

Assembly language

A 6502 assembly language statement consists of a three-character instruction mnemonic, followed by any operands. Instructions that do not take a separate operand but target a single register based on the addressing mode combine the target register in the instruction mnemonic, so the assembler uses INX as opposed to INC X to increment the X register.

Instruction table

Detailed behavior

The processor's non-maskable interrupt (NMI) input is edge sensitive, which means that the interrupt is triggered by the falling edge of the signal rather than its level. The implication of this feature is that a wired-OR interrupt circuit is not readily supported. However, this also prevents nested NMI interrupts from occurring until the hardware makes the NMI input inactive again, often under control of the NMI interrupt handler.

The simultaneous assertion of the NMI and IRQ (maskable) hardware interrupt lines causes IRQ to be ignored. However, if the IRQ line remains asserted after the servicing of the NMI, the processor will immediately respond to IRQ, as IRQ is level sensitive. Thus a sort of built-in interrupt priority was established in the 6502 design.

The "Break" flag of the processor is very different from the other flag bits. It has no flag setting, resetting, or testing instructions of its own, and is not affected by the PHP and PLP instructions. It exists only on the stack, where BRK and PHP always write a 1, while IRQ and NMI always write a 0.

The "SO" input pin, when asserted, will set the processor's overflow status bit (deasserting it does not clear the overflow bit, however). This can be used by a high-speed polling device driver, which can poll the hardware once in only three cycles by using a Branch-on-oVerflow-Clear (BVC) instruction that branches to itself. For example, the Commodore 1541 and other Commodore floppy disk drives use this technique to detect without delay whether the serializer is ready to accept or provide another byte of disk data. Obviously great care must be used in the device driver and the associated system design, as spurious assertion of the overflow bit could ruin arithmetic processing.

Variations and derivatives

There were several variants of the NMOS 6502:

6512, 6513, 6514, & 6515

The MOS Technology 6512, 6513, 6514, and 6515 each rely on an external clock, instead of using an internal clock generator like the 650x (e.g. 6502). This was used to advantage in some designs where the clocks could be run asymmetrically, increasing overall CPU performance.

The 6512 was used in the BBC Micro B+64.

16-bit derivatives

The Western Design Center designed and currently produces the W65C816S processor, a 16-bit, static-core successor to the 65C02, with greatly enhanced features. The W65C816S is a newer variant of the 65C816, which was the core of the Apple IIGS computer and was the basis of the Ricoh 5A22 processor that powered the popular Super Nintendo Entertainment System. The W65C816S incorporates minor improvements over the 65C816 that make the newer chip not an exact hardware-compatible replacement for the earlier one. Currently available through electronics distributors as of September 2019, the W65C816S is rated for 14-megahertz operation.

The Western Design Center also designed and produced the 65C802, which was a 65C816 core with a 64-kilobyte address space in a 65(C)02 pin-compatible package. The 65C802 could be retrofitted to a 6502 board and would function as a 65C02 on power-up, operating in "emulation mode." As with the 65C816, a two-instruction sequence would switch the 65C802 to "native mode" operation, exposing its 16 bit accumulator and index registers, as well as other 65C816 enhanced features. The 65C802 was not widely used: new designs almost always were built around the 65C816, resulting in 65C802 production being discontinued.

Example code

The following 6502 assembly language source code is for a subroutine named TOLOWER, which copies a null-terminated character string from one location to another, converting upper-case letter characters to lower-case letters. The string being copied is the "source", and the string into which the converted source is stored is the "destination".

; TOLOWER:;;   Convert a null-terminated character string to all lower case.;   Maximum string length is 255 characters, plus the null term-;   inator.;; Parameters:;;   SRC - Source string address;   DST - Destination string address;ORG$0080;SRC.WORD$0400;source string pointer ($40)DST.WORD$0500;destination string pointer ($42);ORG$0600;execution start address;TOLOWERLDY#$00;starting index;LOOPLDA(SRC),Y;get from source stringBEQDONE;end of string;CMP#'A';if lower than UC alphabet...BCCSKIP;copy unchanged;CMP#'Z'+1;if greater than UC alphabet...BCSSKIP;copy unchanged;ORA#%00100000;convert to lower case;SKIPSTA(DST),Y;store to destination stringINY;bump indexBNELOOP;next character;; NOTE: If Y wraps the destination string will be left in an undefined;  state.  We set carry to indicate this to the calling function.;SEC;report string too long error &...RTS;return to caller;DONESTA(DST),Y;terminate destination stringCLC;report conversion completed &...RTS;return to caller;.END

Bugs and quirks

The 6502 had several bugs and quirks, which had to be accounted for when programming it.

See also

Works cited

Related Research Articles

Intel 8080 8-bit microprocessor

The Intel 8080 ("eighty-eighty") was the second 8-bit microprocessor designed and manufactured by Intel and was released in April 1974. It is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility. The initial specified clock rate or frequency limit was 2 MHz, and with common instructions using 4, 5, 7, 10, or 11 cycles this meant that it operated at a typical speed of a few hundred thousand instructions per second. A faster variant 8080A-1 became available later with clock frequency limit up to 3.125 MHz.

Intel 8088 microprocessor model

The Intel 8088 microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 had an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range were unchanged, however. In fact, according to the Intel documentation, the 8086 and 8088 have the same execution unit (EU)—only the bus interface unit (BIU) is different. The original IBM PC was based on the 8088, as were its clones.

Motorola 68000 Microprocessor

The Motorola 68000 is a 16/32-bit CISC microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector.

The MOS Technology 65xx series is a family of 8-bit microprocessors from MOS Technology, based on the Motorola 6800. The 65xx family included the 6502, used in home computers such as the Commodore PET and VIC-20, the Apple II, the Atari 800, and the British BBC Micro.

MOS Technology 6510 8-bit microprocessor

The MOS Technology 6510 is an 8-bit microprocessor designed by MOS Technology. It is a modified form of the very successful 6502. The 6510 was only widely used in the Commodore 64 home computer and its variants.

Motorola 6809 8-bit microprocessor

The Motorola 6809 ("sixty-eight-oh-nine") is an 8-bit microprocessor CPU with some 16-bit features from Motorola. It was designed by Terry Ritter and Joel Boney and introduced in 1978. It was a major advance over both its predecessor, the Motorola 6800, and the related MOS Technology 6502. Among the systems to use the 6809 are the Dragon home computers, TRS-80 Color Computer, the Vectrex home console, and early 1980s arcade machines including Defender, Robotron: 2084, Joust, and Gyruss. More modern systems that utilize a synthesized 6809 core (HDL) are the CoCo3FPGA, Matchbox CoCo, CoCoDEV and Multicomp.

MOS Technology semiconductor design and fabrication company

MOS Technology, Inc., later known as CSG , was a semiconductor design and fabrication company based in Norristown, Pennsylvania, in the United States. It is most famous for its 6502 microprocessor and various designs for Commodore International's range of home computers.

Zilog Z80 8-bit microprocessor

The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were delivered in March 1976, and it was officially introduced on the market in July 1976. With the revenue from the Z80, the company built its own chip factories and grew to over a thousand employees over the following two years.

MOS Technology 6507 8-bit microprocessor

The 6507 is an 8-bit microprocessor from MOS Technology, Inc. It is a version of their 6502 packaged in a 28-pin DIP, which makes it cheaper to package and integrate in systems. The reduction in pin count is achieved by reducing the address bus from 16 bits to 13, limiting memory from 64 kB to only 8 kB, and removing a number of other pins only needed in certain applications.

KIM-1 personal computer

The KIM-1, short for Keyboard Input Monitor, is a small 6502-based single-board computer developed and produced by MOS Technology, Inc. and launched in 1976. It was very successful in that period, due to its low price and easy-access expandability.

In computer engineering, Halt and Catch Fire, known by the assembly mnemonic HCF, is an idiom referring to a computer machine code instruction that causes the computer's central processing unit (CPU) to cease meaningful operation, typically requiring a restart of the computer. It originally referred to a fictitious instruction in IBM System/360 computers, making a joke about its numerous non-obvious instruction mnemonics.

Signetics 2650 8-bit microprocessor

The Signetics 2650 was an 8-bit microprocessor introduced in mid-1975. According to Adam Osborne's book An Introduction to Microprocessors Vol 2: Some Real Products, it was "the most minicomputer-like" of the microprocessors available at the time.

WDC 65C02 CMOS microprocessor

The Western Design Center (WDC) 65C02 microprocessor is an enhanced CMOS version of the popular NMOS-based 8-bit MOS Technology 6502. The 65C02 fixed several problems in the original 6502 and added a small number of new commands. However, its main feature was greatly lowered power usage, on the order of 10 times less than the 6502 running at the same speed. This made it useful in portable computer roles and microcontroller systems in industrial settings. It has been used in some home computers, as well as in embedded applications, including medical-grade implanted devices.

The CSG 65CE02 is an 8/16-bit microprocessor developed by Commodore Semiconductor Group in 1988. It is a member of the MOS Technology 6502 family, developed from the CMOS WDC 65C02 released by the Western Design Center in 1983.

The 65xx family of microprocessors, consisting of the MOS Technology 6502 and its derivatives, the WDC 65C02, WDC 65C802 and WDC 65C816, and CSG 65CE02, all handle interrupts in a similar fashion. There are three hardware interrupt signals common to all 65xx processors and one software interrupt, the BRK instruction. The WDC 65C816 adds a fourth hardware interrupt—ABORT, useful for implementing virtual memory architectures—and the COP software interrupt instruction, intended for use in a system with a coprocessor of some type.

WDC 65C816 16-bit microprocessor

The W65C816S is an 8/16-bit microprocessor (MPU) developed and sold by the Western Design Center (WDC). Introduced in 1983, the W65C816S is an enhanced version of the WDC 65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. The 65816 was the CPU for the Apple IIGS and Super Nintendo Entertainment System.


  1. "The MOS 6502 and the Best Layout Guy in the World". 2011-01-03. Retrieved 2014-08-09.
  2. "MOnSter6502". 2017. Retrieved 2017-05-01.
  3. William Mensch, Rob Walker (October 9, 1995). Interview with William Mensch (Web video). Atherton, California: Silicon Genesis, Stanford University Libraries. Archived from the original on May 14, 2012. Retrieved June 4, 2012. William Mensch and the moderator both pronounce the 6502 microprocessor as "sixty-five-oh-two".
  4. "Western Design Center (WDC) Home of 65xx Microprocessor Technology". Retrieved 2019-04-08.
  5. "Motorola Sues MOS Technology" (PDF). Microcomputer Digest. Cupertino CA: Microcomputer Associates. 2 (6): 11. December 1975.
  6. "Motorola joins microprocessor race with 8-bit entry". Electronics. New York: McGraw-Hill. 47 (5): 29–30. March 7, 1974.
  7. Motorola 6800 Oral History (2008), p. 9
  8. Buchanan, John K., "MOS DC Voltage booster circuit", US Patent 3942047, issued March 2, 1976.
  9. Buchanan, John K., "Chip topography for MOS integrated circuitry microprocessor chip", US Patent 3987418, issued October 19, 1976.
  10. Motorola 6800 Oral History (2008), p. 8
  11. Mensch Oral History (1995) Mensch earned an Associate degree from Temple University in 1966 and then worked at Philco Ford as an electronics technician before attending the University of Arizona.
  12. Mensch, William D., "Chip topography for MOS interface circuit", US Patent 3968478, issued July 6, 1976.
  13. Jenkins, Francis; Lane, E.; Lattin, W.; Richardson, W. (November 1973). "MOS-device modeling for computer implementation". IEEE Transactions on Circuit Theory. IEEE. 20 (6): 649–658. doi:10.1109/tct.1973.1083758. ISSN   0018-9324. All of the authors were with Motorola's Semiconductor Products Division.
  14. Donohue, James F. (October 27, 1988). "The microprocessor first two decades: The way it was". EDN. Cahners Publishing. 33 (22A): 18–32. ISSN   0012-7515. Page 30. Bennett already was at work on what became the 6800. "He hired me," Peddle says of Bennett, "to do the architectural support work for the product he'd already started." … Peddle says. "Motorola tried to kill it several times. Without Bennett, the 6800 would not have happened, and a lot of the industry would not have happened, either."
  15. Hepworth, Edward C., Rodney J. Means, Charles I. Peddle, "Asynchronous Communication Interface Adaptor", Patent 3975712, issued August 17, 1976. Note: Motorola typically listed inventors in alphabetical order.
  16. Motorola (August 5, 1976). "They stay out front with Motorola's M6800 Family". Electronics. McGraw-Hill. 49 (16): 51. Advertisement showing three embedded applications from TRW, HP and RUSCO.
  17. Motorola 6800 Oral History (2008), p. 89
  18. "It's the total product family". Electronics. New York: McGraw Hill. 48 (1): 37. January 9, 1975. Motorola advertisement emphasizing their complete set of peripheral chips and development tools. This shorten the customers product design cycle.
  19. Motorola 6800 Oral History (2008) p. 18
  20. "Motorola microprocessor set is 1 MHz n-MOS". Control Engineering. 21 (11): 11. November 1974. MC6800 microprocessor price was $360. The MC6850 asynchronous communications interface adaptor (ACIA) was slated for first quarter 1975 introduction.
  21. Intel Corporation (1984). Kaye, Glynnis Thompson (ed.). A Revolution in Progress - A History to Date of Intel (PDF). Intel Corporation. p. 14. Order number:231295. Archived (PDF) from the original on 23 October 2012. Retrieved 30 December 2016. "Shima implemented the 8080 in about a year and the new device was introduced in April 1974 for $360."
  22. "Motorola mounts M6800 drive". Electronics. New York: McGraw-Hill. 48 (8): 25. April 17, 1975. "Distributors are being stocked with the M6800 family, and the division is also offering an introductory kit that includes the family's six initial parts, plus applications and programming manuals, for $300."
  23. Bagnall (2010), p. 11. Peddle's new offer came at an opportune time for the 6800 developers. "They didn't want to go to Austin, Texas," explains Mensch.
  24. Waller, Larry (November 13, 1975). "Motorola seeks to end skid". Electronics. New York: McGraw-Hill. 48 (23): 96–98. Summary: Semiconductor Products split into two parts, integrated circuits and discrete components. Semiconductor losses for the last four quarters exceeded $30 million. The sales organization lost its sensitivity to customer needs, "delays in responding to price cuts meant that customers bought elsewhere." Technical problems plagued IC production. The troubles are "not in design, but in chip and die yields." Problems have been solved. The MC6800 microprocessor "arrived in November 1974."
  25. Motorola 6800 Oral History (2008), p. 13
  26. "Electronics Newsletter: 6800 gains speed, lower prices by summer". Electronics. New York: McGraw-Hill. 49 (5): 25. March 4, 1976.
  27. Daniels, R. Gary (December 1996). "A Participant's Perspective". IEEE Micro. IEEE Computer Society. 16 (5): 21–31. doi:10.1109/40.546562. Daniels, "My first assignment was to lead a small team to redesign the 6800 MPU to make it more manufacturable and so that higher speed versions could be selected."
  28. Bagnall (2010), p. 13.
  29. MOS Technology (November 14, 1974). "The First Single Chip Scientific Calculator Arrays". Electronics. McGraw-Hill. 47 (23): 90–91.
  30. Bagnall (2010), p. 19 "Paivinen promised Peddle he would have the n-channel process ready. He was true to his word."
  31. Stanford University, Silicon Genesis project: videotaped oral history interview of Willam Mensch
  32. 1 2 3 Cushman, Robert H. (September 20, 1975). "2-1/2 Generation μP's -$10 Parts That Perform Like Low-End Mini's" (PDF). EDN. Boston: Cahners Publishing. 20 (17): 36–42."
  33. Motorola 6800 Oral History (2008), p. 10
  34. The August 1975 datasheet had 55 instructions with no ROR, the May 1976 datasheet had the ROR and 56 instructions. File:MCS650x Instruction Set.jpg
  35. "Microprocessor line offers 4, 8,16 bits". Electronics. New York: McGraw-Hill. 48 (15): 118. July 24, 1975. The article covers the 6501 and 6502 plus the 28 pin versions that would only address 4K of memory. It also covered future devices such as "a design that Peddle calls a pseudo 16".
  36. Sugarman, Robert (25 August 1975). "Does the Country Need A Good $20 Microprocessor?" (PDF). EE Times. Manhasset, New York: CMP Publications: 25.
  37. Fylstra, Daniel (November 1975). "Son of Motorola (or the $20 CPU Chip)". Byte. Peterborough, NH: Green Publishing. 1 (3): 56–62. Comparison of the 6502 and the 6800 microprocessors. Author visited MOS Technology in August 1975.
  38. "3rd Generation Microprocessor" (PDF). Microcomputer Digest. Cupertino, CA: Microcomputer Associates. 2 (2): 1–3. August 1975.
  39. "MOS 6501 Microprocessor beats 'em all". Electronics. New York: McGraw-Hill. 48 (16): 60–61. August 7, 1975.
  40. "MOS 6502 the second of a low cost high performance microprocessor family". Computer. IEEE Computer Society. 8 (9): 38–39. September 1975. doi:10.1109/C-M.1975.219074.
  41. Bagnall (2010), pp. 33-35
  42. Signetics (October 30, 1975). "Easiest-to-use microprocessor". Electronics. McGraw-Hill. 48 (22): 114–115 via Wikimedia Commons.
  43. Motorola (October 30, 1975). "All this and unbundled $69 microprocessor". Electronics. McGraw-Hill. 48 (22): 11. The quantity one price for the MC6800 was reduced from $175 to $69. The previous price for 50 to 99 units was $125.
  44. Waller, Larry (November 13, 1975). "News briefs: Motorola seeks to stop microprocessor foe". Electronics. New York: McGraw-Hill. 48 (23): 38."Motorola said last week it would seek an immediate injunction to stop MOS Technology Inc., Norristown, Pa., from making and selling microprocessor products, including its MCS6500." (This issue was published on November 7.)
  45. Motorola was awarded the following US Patents on the 6800 microprocessor family: 3962682, 3968478, 3975712, 3979730, 3979732, 3987418, 4003028, 4004281, 4004283, 4006457, 4010448, 4016546, 4020472, 4030079, 4032896, 4037204, 4040035, 4069510, 4071887, 4086627, 4087855, 4090236, 4145751, 4218740, 4263650.
  46. Bagnall (2010), p. 53–54. "He [Mike James] had all his original work from the 6800 and hid it from Motorola…
  47. "Motorola, MOS Technology settle patent suit". Electronics. New York: McGraw-Hill. 49 (7): 39. April 1, 1975. "MOS Technology Inc. of Norristown, Pa. has agreed to withdraw its MCS6501 microprocessor from the market and to pay Motorola Inc. $200000 ..." "MOS Technology and eight former Motorola employees have given back, under court order documents that Motorola contends are confidential." "…both companies have agreed to a cross license relating to patents in the microprocessor field."
  48. Bagnall (2010), pp. 55-56
  49. "Mergers and Acquisitions". Mini-Micro Systems. Cahners. 9 (11): 19. November 1976." Commodore International … is buying MOS Technology (Norristown, PA). This saves the six-year-old semiconductor house from impending disaster."
  50. 1 2 Goodwins, Rupert (December 4, 2010). "Intel's victims: Eight would-be giant killers". ZDNet . Retrieved March 7, 2012.
  51. Reimer, Jeremy. "Personal Computer Market Share: 1975-2004". Archived from the original on 6 June 2012. Retrieved 2009-07-17.
  52. "How many Commodore 64 computers were sold?". Archived from the original on 2016-03-06. Retrieved 2011-02-01.
  53. "Code Execution on a Tamagotchi". 7 May 2013. Archived from the original on 2018-08-31. Retrieved 2018-12-23.
  54. Corder, Mike (Spring 1999). "Big Things in Small Packages". Pioneers' Progress with picoJava Technology. Sun Microelectronics. Archived from the original on 2006-03-12. Retrieved April 23, 2012. The first 6502 was fabricated with 8 micron technology, ran at one megahertz and had a maximum memory of 64k.
  55. 1 2 3 Parker, Neil. "The 6502/65C02/65C816 Instruction Set Decoded". Neil Parker's Apple II page.
  56. 6502 Instruction Set.
  57. NMOS 6502 Opcodes Archived 2016-01-14 at the Wayback Machine .
  58. 1 2 3 4 5 6 7 8 9 1982 MOS Technology Data Catalog (pdf obtained from
  59. AtariAge: A2600 clone, 6591 chip pinout
  60. Hackaday: The teensiest Atari 2600 ever
  61. Randy M. Dumse. "The R65F11 and F68K Single-Chip Forth Computers". [ permanent dead link ] Archived 2014-12-02 at the Wayback Machine 1984.
  62. Ed Schmauch. "A Computerized Corrosion Monitoring System" [ permanent dead link ]. 1986.
  63. Lawrence P. Forsley. "Embedded systems: 1990 Rochester Forth Conference : June 12 - 16th, 1990 University of Rochester". p. 51.
  64. Rockwell. "RSC-Forth User's Manual". 1983.
  65. "Archived copy" (PDF). Archived from the original (PDF) on 2016-05-15. Retrieved 2014-10-26.CS1 maint: archived copy as title (link)
  66. "rockwell :: dataBooks :: 1985 Rockwell Data Book" via Internet Archive.
  67. "Measuring the ROR Bug in the Early MOS 6502" . Retrieved 8 May 2011.
  68. Moser, Carl W. (January 1979). "Add a Trap Vector for Unimplemented 6502 Opcodes" (PDF). Dr. Dobb's Journal of Computer Calisthenics and Orthodontia. No. 31. Menlo Park, California. p. 32. Retrieved 2017-01-07.
  69. Harrod, Dennette A. (October 1980). "The 6502 Gets Microprogrammable Instructions". BYTE. Vol. 5 no. 10. Peterborough, New Hampshire. p. 282. Retrieved 2017-01-07.
  70. Draco (19 June 1997). "65c02, 6502, 65816 ??? CPU sells but who's buying..." Archived from the original on 2 January 2008.
  71. Andrews, Mark (1984). "6". Atari Roots - A Guide To Atari Assembly Language. ISBN   0-88190-171-7.

Further reading

Datasheets and manuals
Reference cards
Simulators / Emulators

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.