delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/09/22/09:09:23

Xref: news-dnh.mv.net comp.os.msdos.djgpp:2123
Path: news-dnh.mv.net!mv!news.sprintlink.net!sunic!sunic.sunet.se!news.uni-c.dk!diku.dk!terra
From: terra AT diku DOT dk (Morten Welinder)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: DPMI question
Date: 22 Sep 1995 09:16:03 GMT
Organization: Department of Computer Science, U of Copenhagen
Lines: 20
Sender: terra AT tyr DOT diku DOT dk
References: <DEt18B DOT HsB AT jade DOT mv DOT net> <4355ve$hj2 AT news DOT mountain DOT net> <43kpn0$1ji AT magus DOT cs DOT utah DOT edu>
Nntp-Posting-Host: odin.diku.dk
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

larsen AT lal DOT cs DOT utah DOT edu (Steve Larsen) writes:

>: This deserves some elaboration.  Loading an invalid value into a segment
>: selector shouldn't cause a GP fault.  Attempting to access a segment
>: through a selector which contains an invalid value does cause a fault.

>Yeah, that is what I thought.  However, according to the information 
>presented at the GPF, it is dying on the instruction that loads the
>segment register.  Very strange, I thought.


The 386 generates GPF when trying to load invalid data into segment
registers DS, ES, FS, and GS.  If SS is involved, a stack exception
is generated instead.

If you load 0/1/2/3 into a segment regstister other than SS you will
_not_ get an exception.  Using the segment register will give you some
exception, possibly GPF.

Morten

- Raw text -


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