The 6800 had an 8-bit bidirectional data bus, a 16-bit address bus that could address 64 KB of memory, and came in a 40-pin DIP package. The 6800 had two 8-bit accumulators, a 16-bit index register, and a 16-bit stack pointer. The direct addressing mode allowed fast access to the first 256 bytes of memory. I/O devices were addressed as memory so there were no special I/O instructions. When the 6800 was reset, it loaded the program counter from the highest address and started execution at the memory location stored there.