Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 SMI; site sun.uucp Path: utzoo!linus!decvax!decwrl!sun!gnu From: gnu@sun.uucp (John Gilmore) Newsgroups: net.micro.68k,net.micro.apple Subject: Re: 68000 inconsistency (32 bit addressing) Message-ID: <1606@sun.uucp> Date: Thu, 9-Aug-84 02:50:34 EDT Article-I.D.: sun.1606 Posted: Thu Aug 9 02:50:34 1984 Date-Received: Fri, 10-Aug-84 07:53:08 EDT References: <5@harvard.ARPA> Organization: Sun Microsystems, Inc. Lines: 21 Using the high 8 bits of addresses for flags or other data was traditional wisdom in the '60s on the IBM 360 but eventually it burned them. In the '70s when 16MB virtual wasn't enough, they built hardware that had 31-bit addressing, but it took ANOTHER 10 years (no kidding) to convert all the software so they could turn the hardware feature on. Luckily for most of us we knew when it came out that 24 bits on a 68000 was not enough and avoided playing kludge games. Don't mess around! An address is 32 bits, and if you depend on the hardware to ignore the top N bits you will be burned within two years. Now, the behaviour decribed (68000 jmp long absolute loses the top 8 bits of the jumped-to address) is certainly a bug if it's true. But your code should never notice since it should never use those bits. The 68010 chip (which when packaged as a 68012 has 31 address bits) does not have the bug. I'm sure the 68020, with a 32-bit address bus, doesn't have the bug either. I don't have a 68000 around to verify whether current rev 68000's have it.