On 19 Apr 2007 at 12:19, Jim Battle wrote:
One of the most wasteful features in the 8080
instruction set, I
thought, were the 8 conditional calls and 8 conditional returns. I
would have much rather they had only unconditional call and
unconditional return only and used those 16 opcodes for something more
useful. Sure, they were useful once in a while, but not so often that
they should use up 6% of the single byte opcode space.
Opcode density wasn't an issue on the 8080. Consider, for example,
the useless MOV instructions (MOV A,A, MOV B,B etc.). I suspect the
conditional call and returns were essentially "freebies" that came
out of the conditional jump code logic (note that the opcode grouping
is very logical). Note that the 8008 had a similar setup with
conditional calls and returns.
For its time it was pretty remarkable.
Cheers,
Chuck