From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <9701091746.AA14637@clio.rice.edu> Subject: Re: WinSock in Dos with WIn95 To: markiv AT rangenet DOT com Date: Thu, 9 Jan 1997 11:46:23 -0600 (CST) Cc: djgpp AT delorie DOT com In-Reply-To: <32D4842D.72A3@rangenet.com> from "Dan Hedlund" at Jan 8, 97 11:37:49 pm Content-Type: text Content-Length: 962 > Also, I think as long as you have the big bit set in the stack's LDT > entry, push's and pop's will work. The problem is when you call a 16bit > function wirh a 32 bit stack, it might use [sp + 4] or something. Or move sp to bp and reference with that, or do a 16-bit leave which messes up the upper bits. The only safe thing to do is to have SS:ESP be less than 64K when running in 16-bit mode. One workaround I have used is to overwrite the DJGPP startup code in crt0 with a temporary stack (look at crt0.S for the code layout to see what is one time only) or to disable null pointer protection and use the low 4K. > Do you think call gates could solve this problem? Is that intel prog > refrence availiable on the internet? I would keep it as simple as possible, since the semi-protected W95 type environment may get more protected. I don't know of an entire intel reference on the net, no. There are some docs on Intel's site, but not complete.