Roy J. Tellason schrieb:
On Thursday 20 April 2006 12:03 am, Chuck Guzis
wrote:
On 4/19/2006 at 11:34 PM Roy J. Tellason wrote:
> But a Z80 *won't* run 808[05] code.
>
Well, a Z80 will run 8085 code that limits itself to 8080
instructions.
But the 8085 has two documented instructions (RIM SIM) that the 8080
doesn't have--
Yeah, I remember those two...
Undocumented instrs are not the whole story, particularly not for 8085
vs z80 issues, and especially not for RIM and SIM. I have had hard times
finding any 8085 system at all that required and used them; the typical
application seems to be a bit-banger RS-232 interface - usually any 808x
system that has a serial interface will employ a 8251 or alike for that.
Maybe some embedded two-chip system (8085+8355) will take advantage of
it, but this is probably only interesting for forensic analyses, not
really a hobbyist/conservation issue.
No, a really nasty difference comes from the different use of the parity
bit in the 8080 vs the same PSW bit in a Z80. Although I thought this
would also just be used for calculating/checking the parity bit for
bit-banger serial, it often appears in rather obscure scenarios where
one wouldn't expect it. At least, in a disassembly one often finds
incidents by searching for the JPE/JPO instructions.
and a few more "undocumented"
instructions (nonetheless used by many
embedded programs) that neither the 8080 nor the Z80 has.
I remember some real early magazine articles, and have since found a bit of
stuff online, that talked about undocumented opcodes for the z80, but I've
not run across that info for anything else. And it seems to depend a lot on
what brand of chip, etc. so I've never been really tempted to use them
I know
of a least one software (which I had disassembled myself for
curiosity long ago) that actually uses undocumented Z80 instructions,
namely the ones that allow access to the higher and lower haves of the
index registers: this is the 12K-Zapple-Basic by TDL. Concerning these
instructions, they seem to work on most common Z80s, including Z80A, B,
and H variants, tried those myself. I haven't verified, due to lack of
HW, where they also work on the 64180, the z180 or z280.
Holger