delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/11/21/12:25:17

From: "KECSKEMÉTI BALÁZS" <balazs AT tiszanet DOT hu>
Newsgroups: comp.os.msdos.djgpp
Subject: Q: playing with selectors
Date: Sat, 21 Nov 1998 18:22:36 +0100
Organization: MatavNet
Lines: 32
Message-ID: <736t0v$j6j$1@pollux.matav.net>
NNTP-Posting-Host: ppp134.tiszanet.hu
X-Newsreader: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hi all,

Some time ago, i posted a question to this newsgroup,
but you misunderstood that, so i ask it again, but in other
words :

- what kind of selectors do segment registers contain under
DJGPP? I programmed in pure assembly with a DOS extender
for a while, and under that DS,ES,FS,GS contained specific values,
eg. ES contained a selector with base 0 and 4GB limit, FS pointed
to the video memory (A000h) with 64K limit etc. Does DJGPP offer
such things? (i guess not)
( i know about _dos_ds)

- Let's say that i set up a selector in FS (in an external assembly
function),
which points to A0000h, and has 64K limit. Then, can i use FS in other
assemby
functions? Later, will it contain what i have put in it, or some other
functions
( like printf ) may change FS (or ES/GS)? And if i change FS in my function,
will other functions crash?
The reason for why i ask this is that i don't wanna push/load/pop segment
registers in every single assembly function.

Thanks for all who will answer, and had answered before...

Balazs Kecskemeti
balazs AT tiszanet DOT hu



- Raw text -


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