Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 alpha 4/15/85; site ubvax.UUCP Path: utzoo!linus!decvax!decwrl!amdcad!cae780!ubvax!bill From: bill@ubvax.UUCP (Bill Thomas) Newsgroups: net.micro,net.micro.pc,net.lang.c,net.lang.pascal,net.lang.forth Subject: Re: FORTH, PASCAL, and C--- which one would you choose (it depends ?) Message-ID: <392@ubvax.UUCP> Date: Mon, 6-Jan-86 17:07:57 EST Article-I.D.: ubvax.392 Posted: Mon Jan 6 17:07:57 1986 Date-Received: Wed, 8-Jan-86 20:19:14 EST References: <1191@princeton.UUCP> <11321@ucbvax.BERKELEY.EDU> Distribution: net Organization: Ungermann-Bass, Inc., Santa Clara, CA Lines: 12 Xref: linus net.micro:12190 net.micro.pc:6205 net.lang.c:6972 net.lang.pascal:430 net.lang.forth:303 Summary: microsoft C and their FAR feature look out!!!! trying to use the mixed mode with Microsoft C is some fun in that the "/Ze" option using their "far" feature does not work on Automatic variables (they are ignored) so one can't get SEG:OFFSET pointers in Calls. This in turn makes the /Axxxw option next to you know what because in the /AM or /AS (SMALL Data) a call could have a 16 bit (offset) pointer which should be SS:offset or DS:offset and if the called routine has ESP your ok!!!!. In addtion in the Large Data model every Global variable gets its own segment. That is they don't collect them to cut down on loading the ES. So the Large Data model is SLOW SLOW & you can't get around it with their funny "/Ze" "far" stuff!