Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!sdd.hp.com!hplabs!pyramid!moliver From: moliver@shadow.pyramid.com (Mike Oliver) Newsgroups: comp.arch Subject: Re: The CPU with 3 brains Message-ID: <133259@pyramid.pyramid.com> Date: 6 Nov 90 23:05:22 GMT Sender: daemon@pyramid.pyramid.com Reply-To: moliver@shadow.pyramid.com (Mike Oliver) Organization: Pyramid Technology Corp., Mountain View, CA Lines: 42 In article <39409@ucbvax.BERKELEY.EDU> jbuck@galileo.berkeley.edu (Joe Buck) writes: >In article <2841@crdos1.crd.ge.COM>, davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) writes: >> In article pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: >> >> | ... isn't the 486 still designed >> | to be almost binary compatible with the 8008? Sigh! >> >> The instruction set is >> 100% diferent, so the only binary compatibility is that they both will >> read ones and zeros. > >Well, they are pretty much compatible at the assembly language level. >When the 8086 was first announced, one of Intel's big claims was that, >although the binary encoding had changed, you could reassemble your >8080 programs and they would run on the 8086. Nope. Intel claimed that large chunks of your ASM80 code could be massaged into ASM86 with the assistance of some program (I forget its name; it ran on the blue-box MDS's), but that some human intervention would probably be necessary. For anything of any complexity it was faster and ultimately more reliable to recode by hand. > Since the 8080 is the >8008 plus some extra instructions, and since the 80486 supports 8086 >instructions, it therefore follows that yes, you can run your 8008 >assembly language programs on the 80486; however, you need a 8008 >(or 8080) disassembler followed by an 80486 (or 8086) assembler to do >it. So Piercarlo is essentially correct. Piercarlo is wrong, possibly pending some better definition of what "almost binary compatible" means. Even if the translation from ASM80 to ASMx86 were completely automated and 100% reliable, that would establish only source (and not binary) compatibility. To put it another way: I have some C code that will compile and run on 680x0, 80x86 and a number of other architectures. Does this mean that the 680x0 is binary compatible with the 8008 ? Cheers, Mike. moliver@pyramid.com {allegra,decwrl,hplabs,munnari,sun,utai,uunet}!pyramid!moliver