On Saturday 22 September 2007 08:29, Allison wrote:
With regard to
what little programming I've done, the thing I like most
about the z80 is relative jumps, which makes relocatable code easy to
do. The other big deal is the alternate register set and the index
registers, which I really haven't used all that much.
The items that make z80 desireable for programming to me are the repeat
instructions (LDIR) and the loop (DJNZ)
Aside from making source a bit more compact, those seemed to, like a lot of
other stuff, require the use of particular registers, etc. that I might
have other uses for at the time. And didn't seem to offer that much of a
speed advantage. I never got into them all that much.
plus some of the smaller instructions that make the
CPU more symetrical. It
always bugged me that 8080 can load the SP but storing it required clearing
the HL and adding SP to HL.
Yes! It also bugged me that you could swap HL and DE easily enough, but not
HL and BC, or DE and BC. That being a single-byte instruction that executed
fairly quickly, as I recall...
A bit more symmetry all around would've been nice, for sure.
What makes the 8085 appealing is in small systems it
has hardware
advantages like internal clock oscillator, multiple maskable interrupts,
two pins for single bit IO (SID/SOD), easier timing compared to z80. It
doesnt hurt that it's an upward 8080. it also doesnt hurt that faster parts
(6mhz) had far less difficult memory timing than 6mhz z80. It's also common
as house flies still.
NSC800, had a short product life, I don't think National ever got it
faster than 4mhz, production volumes were small and I rarely ever see
one.
National seemed to do that a lot.
8088/86, hardware around it was easy, hated
programming it. Always felt
it was an 8080 with a bag on the side and borrowed the worst z80 features.
It's big cache was it's was 16bit and had the ability to address 1mb.
That approach to things struck me as an abomination the first time I looked at
it, and I never really got all that interested in doing much of anything
with it at the assembler level -- if I need to program something that has one
of those in it I'll do it in c or whatever, so I don't have to be bothered
with all those messy details. It's unfortunate that this is the chip family
that the industry seems to have settled on, mostly.
I feel the same way about a lot of the intel-type (and similar) peripheral
chips -- write-only registers? WTH? I suppose that some aspect or other of
chip design pushed things in that direction, but looking at it from just the
perspective of programming the things, I don't see where I/O address space
was all that scarce a resource, really.
--
Member of the toughest, meanest, deadliest, most unrelenting -- and
ablest -- form of life in this section of space, ?a critter that can
be killed but can't be tamed. ?--Robert A. Heinlein, "The Puppet Masters"
-
Information is more dangerous than cannon to a society ruled by lies. --James
M Dakin