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.