Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site peora.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!whuxl!houxm!vax135!petsd!peora!joel From: joel@peora.UUCP (Joel Upchurch) Newsgroups: net.arch,net.micro.68k Subject: Re: M680*0 "small model" Message-ID: <1069@peora.UUCP> Date: Sat, 15-Jun-85 15:06:33 EDT Article-I.D.: peora.1069 Posted: Sat Jun 15 15:06:33 1985 Date-Received: Mon, 17-Jun-85 04:39:14 EDT References: <167@mot.UUCP> Organization: Perkin-Elmer SDC, Orlando, Fl. Lines: 24 Xref: watmath net.arch:1397 net.micro.68k:920 > The M680*0 small model is not generally supported in M680*0 systems > and compilers for the following resons: > > 1. Small models are not as generally applicable as huge models. > 2. The M680*0 huge model is also relatively easy to implement. > 3. The M680*0 huge model takes a relatively small performance > 'hit' (compared to other common architectures :-) > 4. Supporting multiple models requires extra compiler code and > redundant libraries. > It sounds to me like what the 68000 needs is an optimizing assembler. On Perkin-Elmer 3200 series computers there are several addressing modes, using from 2 to 6 bytes per instruction. The assembler automatically figures the best addressing mode and generates the appropiate object code. This is an iterative process, since one squeeze pass can cause instructions on the next pass to be further squeezed, since the instruction may be closer to the label it is referenceing allowing a more compact addressing format to be used. It seems to me that such a optimizer could be used as a post-processor for the compiler allowing all languages to use this technique. You should also have the option of running without squeeze to save compile time during debug.