Motorola 6800

From Fox Labs Wiki
Jump to navigation Jump to search
Motorola 6800
General information
Launched1974
Common manufacturer(s)
Performance
Max. CPU clock rate1 MHz to 2 MHz
Data width8 bits
Address width16 bits
Architecture and classification
Instruction set6800
History
Successor(s)

The Motorola 6800 is an 8-bit processor developed by entirely by Motorola starting in 1971. It was a popular microprocessor that saw a wide range of uses from point-of-sale terminals to arcade games.

Design

Registers

Motorola 6800 registers
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
Main registers
  A A accumulator
  B B accumulator
Index registers
IX Index register
SP Stack Pointer
Program counter
PC Program Counter
Status register
  1 1 H I N Z V C Flags

The 6800 has very few registers which included two 8-bit accumulators (A and B respectively), a 16-bit index register (I), a 16-bit stack pointer (SP), a 16-bit program counter (PC) and an 8-bit status register.

Flags

The processor maintains an internal status register for storing bit flags representing the state of arithmetic and logic operations.

  • Half-carry (H), set if a carry or borrow has been generated out of a BCD operation.
  • Interrupt (I), set if the processor will respond to masked interrupt requests.
  • Negative (N), set if the result is negative.
  • Zero (Z), set if the result is zero.
  • Carry (C), set if the last addition operation resulted in a carry, or the last subtraction operation resulted in a borrow.