Date: Wed, 26 Sep 2001 15:01:17 +0200 (CEST) From: Kovacs Viktor Peter To: Eli Zaretskii cc: Subject: Re: Run djgpp program in real dos got SIGSEGV signal ? In-Reply-To: <3791-Wed26Sep2001130017+0300-eliz@is.elta.co.il> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk [On Wed, 26 Sep 2001, Eli Zaretskii wrote:] > > From: Kovacs Viktor Peter > > Newsgroups: comp.os.msdos.djgpp > > Date: Wed, 26 Sep 2001 11:26:27 +0200 > > Under the windows dpmi all segments have a limit of 4Gb. Dos based > > dpmi servers limit the segments to the allocated ram. > That's not true: at least with CWSDPMI and other DOS DPMI servers, the > data segment can be much larger than the installed RAM. It can be, but you have to set it expicitly... (by enabling near pointer support), so you can use 'negative' offsets to access memory before the data segment's base address. > The Windows DPMI host, on the other hand, is, indeed, known to limit > the available DPMI memory to the installed RAM or to 64MB, whichever > is larger. Yes, the allocatable memory can be limited, but windows uses a page based protection and virtualizes the low memory. This is why you don't have to use any segment based protection. Viktor ps: Check the segment descriptor dump on your dos screen, and compare them with the windows version. (divide with zero, to get the same error screen)