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
> diagnostic.

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 
M Dakin




More information about the cctalk mailing list