Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 (Tek) 9/28/84 based on 9/17/84; site tekig4.UUCP
Path: utzoo!linus!decvax!tektronix!tekig5!tekig4!markg
From: markg@tekig4.UUCP (Mark Galassi)
Newsgroups: net.micro
Subject: Re: 386
Message-ID: <103@tekig4.UUCP>
Date: Wed, 22-May-85 15:06:50 EDT
Article-I.D.: tekig4.103
Posted: Wed May 22 15:06:50 1985
Date-Received: Mon, 12-Aug-85 06:09:44 EDT
References: <418@wdl1.UUCP>
Reply-To: markg@tekig4.UUCP (Mark Galassi)
Organization: Tektronix, Beaverton OR
Lines: 38

In article <418@wdl1.UUCP> jbn@wdl1.UUCP writes:
>
>     We already have eight code models for the present Intel line.
>How many more will the 386 introduce?  
>
>	1)   8086/8088/Unprotected IAPX 286 small code/small data
>	2)   8086/8088/Unprotected IAPX 286 large code/small data
>	3)   8086/8088/Unprotected IAPX 286 small code/large data
>	4)   8086/8088/Unprotected IAPX 286 large code/large data
>	5)   Protected IAPX 286 small code/small data
>	6)   Protected IAPX 286 large code/small data
>	7)   Protected IAPX 286 small code/large data
>	8)   Protected IAPX 286 large code/large data
>
>How much more of this will the compiler vendors stand for?  By the way, is
>there a good compiler for C on the PC/AT for UNIX that supports mode 8 fully?
>
>					JN

I agree with you that the 80286's compatibility with old processors
is horrible for who doesn't care about the old ones. I have worked
a lot with an Intel 286/310 computer running XENIX, and the C compiler
allows:
2 small models: one has 64K text and data, the other has
64K text and 64K data.
1 medium model: n*64K text (arbitrary n) and 64K data
1 large model: n*64K text, m*64K data.
an option to generate 80286 code (I guess that for some obscure
reason they normally generate 8086 code).

(notice that no single array or structure must exceed 64K)
I have not yet used the large model (which is the mode 8 JN was looking for),
but in Intel's release 3 of XENIX, they say it is bug-free, so Microsoft
presumably also has a working version for the the IBM AT with XENIX.
You need to use libraries compiled with the large model if you use
the large model for your code.

Will we still have to put up with 64K segments on the 80386?