[comp.arch] 8086 compatibility

rcd@ico.isc.com (Dick Dunn) (11/09/90)

andras@alzabo.uucp (Andras Kovacs) writes:
> >pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
...
> >  As far as I know the 80486 and 8008 are completely compatible at the
> >level of the first two digits of the part number. The instruction set is
> >100% diferent,...[etc.--about incompatibility]
...
>     Although Mr. Grandi was somewhat lax in his wording, it is a fact that the
> 8086 was designed to be 'object level compatible' with the 8080 ...

No, that is not a fact.

"The processor was to be compatible with the 8080 at the assembly language
level, so that existing 8080 software could be reassembled and correctly
executed on the 8086...Strict 8080 compatibility, however, was not
attempted..."

Note that compatibility at the assembly language level is a much weaker
condition than object-level compatibility.  Later, same article:

"The 8086 instruction set is not a superset of the 8080 instruction set.
Although most of the 8080 instructions are included in the 8086, some of
the infrequently used ones (e.g., conditional calls and returns) are not."

source:  Intel Microprocessors - 8008 to 8086, in _Computer_, 1980, by
Morse _et_al_ - the original article by the architects

The problem perhaps lies in:
>...The term means that a programmer (coder? software engineer? :-))
> who had experience with the 8080 (supposedly in an embedded-controller context)
> would be able to 'translate' any existing code to the 8086 rather quickly + be
> able to use the added benefits of the 16-bit architecture...

This isn't what "object-level compatibility" means at all.
-- 
Dick Dunn     rcd@ico.isc.com -or- ico!rcd       Boulder, CO   (303)449-2870
   Cellular phones: more deadly than marijuana.