Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site calgary.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!alberta!calgary!radford From: radford@calgary.UUCP (Radford Neal) Newsgroups: net.micro.amiga,net.micro.atari,net.micro.68k Subject: Re: Use of high-order byte of addresses in 680x0 software Message-ID: <608@calgary.UUCP> Date: Thu, 5-Dec-85 17:24:31 EST Article-I.D.: calgary.608 Posted: Thu Dec 5 17:24:31 1985 Date-Received: Tue, 10-Dec-85 06:51:44 EST References: <310@amiga.UUCP> <39700008@ISM780B.UUCP> <349@amiga.amiga.UUCP> <307@l5.uucp> Organization: University of Calgary, Calgary, Alberta Lines: 23 Xref: watmath net.micro.amiga:1044 net.micro.atari:1923 net.micro.68k:1393 > This issue came up in January in net.micro.mac; now that we have a > new crop of people writing for a new crop of machines, let me reiterate > what Dale Luck (of Amiga), Rob Warnock (ex of Fortune, now independent), > and I (ex of Sun, now independent) have been saying: > > "Don't use the top byte of a 32-bit address as anything but a piece of > the address..." I don't want to rekindle the whole discussion, but I thought I'd put in the other side of the argument, at least as it existed in net.arch: "Use the top byte of a 68000 address for something else (like the type of the object pointed to) if this is sufficiently important to your application that it's worth sacrificing expandability of memory past 16MB. Don't be surprised if this isn't very portable to other 68000 systems." I don't advocate this usage just to save 10% on data space for your program. It's more for something like a Lisp interpreter where tag bits can greatly enhance performance and implementation simplicity. You ought to be prepared to think of the processor, not as a 68000, but as some new micro with a 16MB address space and nifty typed pointers. Radford Neal