Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site dataio.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!mtuxo!mtunh!mtung!mtunf!ariel!vax135!cornell!uw-beaver!uw-june!entropy!dataio!bright From: bright@dataio.UUCP (Walter Bright) Newsgroups: net.micro Subject: Re: Small, Medium and Large Models Message-ID: <736@dataio.UUCP> Date: Mon, 29-Jul-85 07:55:11 EDT Article-I.D.: dataio.736 Posted: Mon Jul 29 07:55:11 1985 Date-Received: Wed, 31-Jul-85 08:13:04 EDT Reply-To: bright@dataio.UUCP (Walter Bright) Organization: Data I/O Corp., Redmond WA Lines: 29 In article <411@kontron.UUCP> cramer@kontron.UUCP (Clayton Cramer) writes: >Small all code in one 64K segment > all data in one 64K segment (including stack) > >Medium code can occupy several segments, none more than 64K long > all data in one 64K segment (including stack) > >Large code can occupy several segments, none more than 64K long > data can occupy several segments, none more than 64K long Also, address calculations are done on the offset portion of the address only, thus limiting arrays and dynamically allocated memory to chunks smaller than 64k. Pointers cannot be subtracted if their segment values are different. > >There are reputed to be other models supported by other compiler writers, >with names like Tiny and Huge, but in what way they differ from the >"official" models, I'm not sure. (Maybe there's room for more models, with >names like Federal.) Tiny Code plus statically allocated data fits in 64k. This is so a .COM file can be created. Huge Address calculations are done on both the segment and offset. Statically allocated arrays still must be less than 64k. Large Data Data can be > 64k, but code must be < 64k. Under any model, the stack size is limited to 64k.