Comparing Datapoint 2200, 8008, 8080 and Z80 Instruction Sets

An interesting three-way comparison - or six-way comparison - between these related instruction sets:
https://bread80.com/2022/07/09/comparing-datapoint-2200-8008-8080-and-z80-instruction-sets/

At this point it’s worth looking at the Z80’s base opcode table to show at what point on the timeline each instruction was introduced, whether in the Datapoint 2200 version 1, Intel 8008, Intel 8080 or Zilog Z80.

Fig 5. The base Z80 opcode table showing the origins of each instruction.

I find it fascinating to see the large swathe of green Datapoint instructions which have carried through into the Z80.

See also the related threads
Datapoint 2200: Father of the Personal Computer
How the DP 2200 architecture motivated the Intel instruction set (righto.com)
8080/x86 MOV: why move instead of copy?

2 Likes

According to Wikipedia, the opcode for NOP on the Datapoint 2200 was C0h, not 00h: the 00h opcode was for the HALT instruction. Similarly, RET was 07h, not C9h. Generally, most of the opcodes map to different operations.

You could write some assembler code using a subset of the Z80 operations (the green ones in the above chart) - and that code would then run on both a 2020 and a Z80, but you’d need different assemblers to change the operation mnemonics into machine code for the different devices.

There are a few instructions, which became shuffled around. While there are definitely merits to the diagram provided above, as it provides a good overview of what was added when, Ken Shirriff’s charts do keep track more accurately:

1 Like