delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/11/08/11:47:17

To: dj AT ctron DOT com, djgpp AT sun DOT soe DOT clarkson DOT edu
From: A DOT APPLEYARD AT fs1 DOT mt DOT umist DOT ac DOT uk
Date: 8 Nov 93 16:15:05 GMT
Subject: Not trapping overflow etc in Gnu C

  I have go32 version 1.08, gcc version 2.2.2, gas version 1.38.1, bison
version 1.16, flex version 2.3.7.
  (1) I intend to upgrade to version 1.11 when it comes out. Please when will
that be?
  (2) Will INT10 with AH = 0x11 and AL = 0 (or) 0x10 work in version 1.11?
  (3) I want to run a program in a mode where floating point infinities and
NaN's do <not> cause interrupts but processing proceeds despite them. (I can
write my own code to test whether a number is an infinity or a NaN before
trying to print it as a number.) My PC floating point machine code manual
seems to say that certain bits of the CW = Control Word Register decide
whether overflow/etc cause an error. So I tried a short test program that
resets the CW with the 'fldcw' instruction in asm() and then divides 1.0 by
0.0 . But whatever I set the CW to, I still get an 'exception 117'. My PC
floating point machine code manual says that 'exception 117' is system
dependent. Please how to compile and run a Gnu C program so that overflows and
divide by zero (integer or floating point) do not cause exception conditions?

- Raw text -


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