Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site myrias.UUCP Path: utzoo!utcsri!ubc-vision!alberta!myrias!cg From: cg@myrias.UUCP (Chris Gray) Newsgroups: net.micro.amiga Subject: Re: AmigaDOS Message-ID: <216@myrias.UUCP> Date: Wed, 5-Feb-86 12:48:09 EST Article-I.D.: myrias.216 Posted: Wed Feb 5 12:48:09 1986 Date-Received: Wed, 5-Feb-86 16:24:52 EST References: <1149@caip.RUTGERS.EDU> Organization: Myrias Research, Edmonton Lines: 21 The 68000 can address +/- 32K from the program pointer (+/- 128 if an index register is also specified). All constant displacements are either 16 bits or 8 bits (no 32 bit ones - you have to put them in a register and use indexing to accomplish that). Thus, position independent code would be limited to 32K byte chunks. That's just not enough, given the code size of some programs we would want to run on our 8.5Meg Amigas. Also, the philosophy of Amigados is to allow scatter loading of programs, which can successfully load a program even if no single available chunk of memory is big enough for it. This also makes position independent code impossible. I haven't delved deeply into libraries, but they strike me as a way to get essentially the same benefits (shared code). If you want to lock some code into memory, just use it's library and don't do a 'CloseLibrary' before you exit - voila! The standard AmigaDos CLI takes essentially no time to load up since it's mostly (entirely?) in the Kickstart stuff. For most of what I do (writing programs), it is entirely sufficient. P.S. If you haven't tried running Wack, give it a try. It'll show you all sorts of neat things about the system. Chris Gray {sask,ubc-vision,ihnp4}!alberta!myrias!cg