Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!hpda!hplabs!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: Request for Compiler Info Message-ID: <8710310645.AA24165@cory.Berkeley.EDU> Date: Sat, 31-Oct-87 01:45:55 EST Article-I.D.: cory.8710310645.AA24165 Posted: Sat Oct 31 01:45:55 1987 Date-Received: Thu, 5-Nov-87 04:40:58 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 31 >> small/large data: do I want to use relative or absolute addresses >> small/large code: do I want to use pc-rel or absolute addresses > >If they can't do it without me having to take special precautions to make >my code compatible with the small models, I don't want to know about >it. Neither of these models work well on the Amiga, since they prevent scatter >loading. I'm sure it's largely a hangover from their IBM-PC compiler. After all, >in the older releases they even went to the trouble of mapping the nice Amiga >timestamp format into the gross IBM-PC format. Well excuuuuuse me. I would like to point out that not all of us "don't want to know about it". small/large code model aside, being able to specify the data model is extremely important in many applications. The trade off here is speed verses setup requirements. When I'm writing interrupt, library, or device code, I don't want to have to setup A4 for relative addressing, so I use the large data model. When I'm writing an application, I usually use the small data model for compact code and speed. >So they should use relative addressing for data/code that they know to be local >to the module, but still use 32-bit pointers for indirection to maintain >compatibility. The programmer should not have to know about it. If you don't want to deal with it, then don't. Get rid of your small code/data libraries and always use large code/data ... then you really don't have to know about it. In fact, since you "don't want to know about it", I guess that means you won't ever be writing C interfaces to Interrupts, Devices, or libraries. In that case, you can simply use the small data model (gee, look ma, I don't have to specify any options for that!), and forget about it, not deal with it, and "don't want to know about it". -Matt