www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/04/10/03:25:47

Date: Mon, 10 Apr 2000 08:49:26 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: djgpp AT delorie DOT com
Subject: Re: VBE question
In-Reply-To: <uri2fs4nuhq7dbv91dcg7saj609v2csub9@4ax.com>
Message-ID: <Pine.SUN.3.91.1000410084917.19649Q-100000@is>
MIME-Version: 1.0
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

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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019