Date: Mon, 10 Apr 2000 08:49:26 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: djgpp AT delorie DOT com Subject: Re: VBE question In-Reply-To: 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 Mon, 10 Apr 2000, Damian Yerrick wrote: > >Sorry, I don't understand: what pushing and popping? All you need to > >access a far pointer in assembly is to load FS with the _dos_ds > >selector (once) and then use the fs: segment override. > > What are the names of those segments? > SS = stack > CS = code > DS = data > ES = extra > (DS = ES = SS references the same memory as CS, right?) > FS = farptr > GS = ? FS and GS are general-purpose segment registers (in particular `F' in FS does NOT mean Far). DJGPP library doesn't use FS. It uses GS to access the transfer buffer (via a special variant of the farptr functions). But that's DJGPP-specific convention, there's nothing special about it. > If you leave far memory access to libraries (Allegro, etc.), > your program can remain a ``normal'' program, right? Yes.