Path: csiph.com!tncsrv06.tnetconsulting.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Hans-Peter Diettrich Newsgroups: comp.compilers Subject: Re: The different groups and segments of object files Date: Thu, 25 Jun 2020 22:40:28 +0200 Organization: Compilers Central Lines: 20 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-06-023@comp.compilers> References: <20-06-004@comp.compilers> <20-06-005@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="39037"; mail-complaints-to="abuse@iecc.com" Keywords: code, history, comment Posted-Date: 25 Jun 2020 17:11:02 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2544 Am 19.06.2020 um 23:12 schrieb gah4@u.washington.edu: > In 16 bit modes, you can have huge data, which allows for a multiple > segment data object, with segment selectors spaced to allow for > appropriate calculation. I believe this is only for dynamically > allocated data, but it might also allow for static allocation > in the object program. I tried to avoid that. No need to avoid that. There exist huge segment descriptors that allow for 32 bit offsets (EAX...) on a 16 bit system without special address calculations. Microsoft documented that feature in parallel to the traditional modulo calculations for segment/offset. AFAIR the starting segment selector allowed to access at least 512 MB (8 consecutive segments). This feature did not allow to break the 4GB total limit, but it allowed for contiguous data areas bigger than 64KB. DoDi [Nobody I knew used huge model because it was so very very slow. There was no way on 16-bit x86 to access more than 64K at a time without runtime segment calculations. -John]