- Herb Johnson wrote:
>> Look at the 8080 instructions in binary. There are eightDan said:
>> references to registers or memory - three bits. instructions
>> which move or compare
>> values use two sets of those three bits, leaving
>> two bit for instruction types. An OCTAL representation
>> of 8080 op codes is the most consistent format.
> I did, but only the register opcodes follow this convention,Note: This is an arcane discussion today, but "hex versus octal" was
> that's only about 20% of all the opcodes in there. The others
> each have various bit fields which don't fit into the octal
an ACTIVE discussion in the mid-late 1970's. I was there, and part of
it, and there were reasons for it.
It is true that only 8080 register-explicit instructions follow the
EXACT pattern I described. But if you inspect the other instructions
carefully, they follow a consistent scheme of binary patterns, like
the register scheme. I mentioned the "register" convention to suggest
that pattern. I did not want to post a lecture on 8080 op codes.
I might have said that in the 8080, there are consistent instruction
bit fields, shown from left to right, as bit 6&7, 3-5, and 0-2. (7 is
the most signifigant bit.) For example, the "jump" instructions all
have bits 6&7 = "11", and almost all have bits 2-0 ="010". Call
instructions, bits 6&7 = "11", bits 2-0 = "100". The exceptions in
both cases are the unconditional jump and call. There are similar
patterns in other instruction groups.
But, it's a perceptual issue as well, and different people "see"
patterns or not in different ways. This should not become a personal
My point was that these patterns are clearer in OCTAL representations
of op codes, than in HEXidecimal. Intel groups these instructions in
BINARY charts in their data books, but organized by instruction type.
I'm using an Intel 1978 8085 data book right now. These patterns
reflect the underlying digital binary logic which decodes the
instructions; there are reasons for such patterns.
The fact it WAS a debate, can be found in articles from microcomputer
magazines of the period. If some today find this discussion arcane, or
boring, or trivial; it was an issue at a time when people DID program
in binary and think in binary. Front panels weren't for show, they
were used. They were used in an era when many people were writing
their own assemblers, and when the only digital storage was paper tape
or audio cassette - or pencil and paper.