Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!think!ima!johnl From: johnl@ima.UUCP Newsgroups: net.micro Subject: Re: Re: Small, Medium and Large Models Message-ID: <97800002@ima.UUCP> Date: Tue, 6-Aug-85 17:44:00 EDT Article-I.D.: ima.97800002 Posted: Tue Aug 6 17:44:00 1985 Date-Received: Sat, 10-Aug-85 05:04:35 EDT References: <411@kontron.UUCP> Lines: 28 Nf-ID: #R:kontron:-41100:ima:97800002:000:1093 Nf-From: ima!johnl Aug 6 17:44:00 1985 There shouldn't be much mystery about the 8086 and 8088 addressing models, so here they are (at least as my friends and I understand them.) Tiny: Code and data share one 64K segment. Can be made into .COM file. Small: Code and data each in a 64K segment. Can sometimes be made into a .COM file. Medium: Multiple code segments, one 64K data segment. Compact: One code segment, multiple data segments, each no greater than 64K. Large: Multiple code and data segments, each no greater than 64K. Huge: Multiple code segments, simulate linear data addressing so it looks like one 1MB data segment. With most compilers, generated code will be fastest for tiny model, and slower for each other model in order. The penalty for multiple code segments is much less than that for multiple data segments, and the penalty for huge model code is, well, huge. Also, CP/M-86 only loads .COM files, so medium and above models do not work. MS-DOS can load any of them, as can Xenix. PC/IX is medium model only. I don't know about the various Intel operating systems. John Levine, ima!johnl