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.
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.
load accumulator from the address pointed to by the hl register pairThe equivalent 8080 was:
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.
Edit: Found a good Intel<->Zilog translation here: http://nemesis.lonestar.org/computers/tandy/software/apps/m4... Wow, Intel really was ugly.