delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/05/01/14:27:10

From: muller AT cerbere DOT u-strasbg DOT fr
Message-Id: <3.0.6.32.20000429014940.00aa43e0@ics.u-strasbg.fr>
X-Sender: muller AT ics DOT u-strasbg DOT fr
X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32)
Date: Sat, 29 Apr 2000 01:49:40 +0200
To: djgpp-workers AT delorie DOT com, Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Subject: Re: interrupt 0x75 limitation in Win95 ?
In-Reply-To: <3.0.6.32.20000429003907.00abf920@ics.u-strasbg.fr>
References: <200004282216 DOT SAA26951 AT indy DOT delorie DOT com>
<200004281635 DOT SAA21811 AT cerbere DOT u-strasbg DOT fr>
<200004271332 DOT PAA01783 AT cerbere DOT u-strasbg DOT fr>
<3907023C DOT 30855 DOT 3E86E3 AT localhost>
<200004271332 DOT PAA01783 AT cerbere DOT u-strasbg DOT fr>
<200004281635 DOT SAA21811 AT cerbere DOT u-strasbg DOT fr>
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

>  My real concern is that divexcp.exe only works correctly
>if run directly from command line and completely differently
>if run from any other Dos Program !


  OK, apparently the problem is the following : 
the FPU code runs independantly of the rest and when a FPU
exception is raised the OS tries to determine the process
to which it shoud redirect the error i.e. to which 
it should call int 0x75.

  And it fails !!!

  Even a win32 executable raising a FPU exception does
not get it if it is run from a Dos executable
that sets the 0x75 interrupt vector!
The interrupt called is allways that of the first Dos
program loaded in the calling chain.

Example :
wredir.exe is a win32 exe that calls argv[1] exe 
redir.exe is the same in DJGPP or Dos (int 75
hooked and not reset defore calling Dos Int !)
tdiv.exe is a win32 exe that raised a div by zero !

both "rdiv" and   "wredir tdiv.exe" work as expected
but in "redir tdiv.exe" and even "wredir redir.exe tdiv.exe"
the interrupt called is in the DJGPP redir program.

  Only programs like VC do not have this kind of troubles!



- Raw text -


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