Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site cyb-eng.UUCP Path: utzoo!linus!decvax!ucbvax!ucdavis!lll-crg!mordor!ut-sally!cyb-eng!bc From: bc@cyb-eng.UUCP (Bill Crews) Newsgroups: net.micro.pc Subject: Re: Pointers in MS-C, large model Message-ID: <711@cyb-eng.UUCP> Date: Fri, 13-Sep-85 14:11:48 EDT Article-I.D.: cyb-eng.711 Posted: Fri Sep 13 14:11:48 1985 Date-Received: Sun, 15-Sep-85 05:36:57 EDT References: <346@wlbr.UUCP> <226@drivax.UUCP> Organization: Cyb Systems, Austin, TX Lines: 22 > > char *p, x[200000] > ^^^^^^ > > p++ = &x[65535]; > > > > Where am I wrong here? Did Microsoft REALLY throw us a curve? > > No, iNTEL did. You can't do this even in large model. Even in large model > a single element must be less than 64K bytes. This is partly because the > index register is 16 bits. When you think *86 think 16 bits. Thats what > all the registers are. No larger. > > Alan Fargusson. In LATTICE's large model, this is valid code, unless one chooses to economize by using the -s option, which generates *much* tighter code, but which is nevertheless limited as in the Microsoft compiler. -- / \ Bill Crews ( bc ) Cyb Systems, Inc \__/ Austin, Texas [ gatech | ihnp4 | nbires | seismo | ucbvax ] ! ut-sally ! cyb-eng ! bc