Zilog is a different story. I love them as well, but i8080 is quite exceptional to me personally. Somehow it still remember almost all machine codes of this CPU and can program even without the assembler ;-). I know, Z80 is a derivative from i8080 compatible in most of instructions, so maybe another collection.
What I really liked about the Z80 was the sane and regular assembler syntax. I know that's not a feature of the Z80 per-se, but when Zilog had copyright problems with the Intel assembler, I think they went one better.
ld a,(hl)
load accumulator from the address pointed to by the hl register pair
The equivalent 8080 was:
mov a,m
where you had to know that 'm' was really the h & l registers paired plus indirected. The Intel syntax was very irregular, eg. "mvi" was move an immediate value into a register, "stax" was store (something? I forget exactly). "lxi" was load immediate(?) into a register pair?
The Zilog syntax used "ld" for all of them.
The only better assembler I've used was the 68000.