Chuck Guzis wrote:
Although I was well aware of the octal grouping of
fields in the 8080, I
adopted hex right off from the start, as I did when coding for the 8008.
The problems dealing with "split" 16-bit quantites was too much of a hurdle
to warrant octal.
As far as memorizing opcodes, that's neither here nor there. While octal's
nice for decoding moves, it's less of an issue for conditionals. There's
still a very recognizable pattern:
JNZ = C2
JZ = CA
CNZ = C4
CZ = CC
RNZ = C0
RZ = C8
JNC = D2
JC = DA
CNC = D4
CC = DC
...
Yes, there are similar "patterns" in most instructions
(e.g., LXI B/D/H/SP; INX B/D/H; PSH B/D/H; etc.). But, in my
experience, you just memorized them because you always saw them
in certain combinations:
PUSH AF
PUSH BC
PUSH DE
PUSH HL
...
POP HL
POP DE
POP BC
POP AF
EI
RETI
I can usually hand disassemble code faster than relying on
interactive / batch disassemblers (especially if you have
inline data and/or self-modifying code) just because these
patterns get to be *so* noticeable that you dont even bother
disassembling the code -- you just start writing the commentary
for the code! (disassembling without adding commentary is
pretty useless)