8080 Assembler-Text Editor (ATE)

Holger Veit holger.veit at ais.fraunhofer.de
Fri Apr 21 05:49:48 CDT 2006


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



More information about the cctech mailing list