How CPU's work (was Re: Hi, I'm new...)
Roy J. Tellason
rtellason at verizon.net
Tue Aug 8 16:49:00 CDT 2006
On Tuesday 08 August 2006 12:25 pm, Chuck Guzis wrote:
> Other than the relative jumps, the enhanced instruction set of the Z80
> rarely brought much speed increase by itself. For example, moving a block
> of bytes using LDIR isn't really much faster than using a MOV A,M/STAX D
> type of loop. On the other hand, the INI and OTI instructions was very
> welcome when one had to deal with a peripheral whose I/O port addresses
> weren't known in advance.
Yes. Most of that "extra" stuff I never used.
> The alternative on the 8080/8085 was hot-patching code--an impossiblity if
> one was executing out of ROM--one had to copy the applicable code into RAM
> and execute it there. Not a great feature if the I/O ports in question
> controlled the bank-switching hardware and you were trying to do a RAM
That would seem to make it a bit awkward.
> I've wondered about something for years, however. Did anyone ever make use
> of the fact that an INI or OTI instruction placed the contents of both the
> B and C registers on the Z80 address bus? It would seem to be a simple way
> of expanding the I/O space to 64K ports.
I didn't know they did that. And asserted the usual I/O control lines? Hm...
OTOH, I never even came close with any of the ideas I was toying with to
filling up the i/o address space, and then there's always memory-mapping
stuff. Anything I'm doing on that platform isn't going to be that upset over
a few K less ram to work with.
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
More information about the cctalk