TIP: Click on subject to list as thread! ANSI
echo: electronics
to: MIKE ROSS
from: Roy J. Tellason
date: 2002-12-22 12:06:28
subject: THOSE OLD EXPENSIVE [1/2]

MIKE ROSS wrote in a message to Jasen Betts:

 MR> "Jasen Betts" wrote to "Greg Mayman" (20 Dec 02
 18:54:07)
 MR>  --- on the topic of "THOSE OLD EXPENSIVE [1/2]"

 GM> And they still managed to keep the instruction set a lot simpler
 GM> than the Z80 ;-)

 JB> Which had A,B,C,D,E,H,L registers (also avalialbe 16 bit BC DE HL) and
 JB> 8 bits of flags, and a nother set just like it,  then 2 16 bit index
 JB> registers, 16 bit IP and SP registers, an 8 bit refresh regiter that
 JB> incremented on every clock cycle,

 MR> The refresh counter was only 7 bits wide. (& don't recall why!) 

Was it?  Or was that the way that the external refresh signals manifested
themselves?  I'm not clear on that point,  though I did notice that an
awful lot of the z80-based stuff I used did not use the z80's refresh
functions.

 JB> The registers weren't all interchangable though. for some things only
 JB> one register could be used.

 MR> The pain with the 8080 and z80 was that though it had a lot of
 MR> registers most tended to be specialized for specific tasks.

That seems to be pretty typical of intel chips.  Then when you get into
some of the i/o parts,  you get into stuff like write-only (!) registers. 
You try and read that same location back and you get something entirely
different.

 MR> The 65xx and 68xx internal registers tended to be more general 
 MR> purpose, though there were fewer it could use a page of memory as 
 MR> a bunch of registers. 

Did the 68xx parts do that page zero stuff too?  I don't recall.

 MR> The z80 had a lot more internal registers among which was a second 
 MR> duplicate set which could be switched to back and forth. It was 
 MR> great since one didn't have to save the machine state on the 
 MR> stack, for example the response to an interrupt and the return 
 MR> were very fast indeed with a single instruction used for switching 
 MR> to the alternate register set. 

Yeah.  Then you had situations like the original production rom for the
Osborne Executive doing exactly that to handle the keyboard interrupt, 
while at the same time certain software packages (Turbo Pascal,  Mix C)
wanted to use those registers for all purposes.  There was a software patch
for that I ended up having to use,  until I got the upgraded rom code and
burned one to stick in there.

--- 
* Origin: TANSTAAFL BBS 717-838-8539 (1:270/615)
SEEN-BY: 633/267 270
@PATH: 270/615 150/220 379/1 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.