home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.intel
- Path: sparky!uunet!paladin.american.edu!news.univie.ac.at!hp4at!mcsun!Germany.EU.net!news.netmbx.de!mailgzrz.TU-Berlin.DE!math.fu-berlin.de!Sirius.dfn.de!solaris.rz.tu-clausthal.de!news!alhena.itp.uni-hannover.de!korte
- From: korte@alhena.itp.uni-hannover.de (Gerd Kortemeyer)
- Subject: 387 exceptions - when are they raised?
- Message-ID: <1992Nov6.090312.2101@newsserver.rrzn.uni-hannover.de>
- Keywords: 387, exceptions
- Sender: news@newsserver.rrzn.uni-hannover.de (News Service)
- Organization: Institut fuer Theoretische Physik, Uni Hannover
- Date: Fri, 6 Nov 1992 09:03:12 GMT
- Lines: 46
-
- Hi.
-
- In the Intel '387DX Programmer's reference' you will read that
- 387 exceptions are raised when the NEXT copro-instruction comes. Well,
- okay, then this program (written in TP6.0) should work:
-
- asm
- fdivp
- end;
- writeln('Still alive!');
- asm
- fwait
- end;
-
- After being blown up by the emulator it looks like this:
-
- wait
- fdivp
- call ....
- fwait
-
- Now 'fdivp' divides by zero and divide-by-zero is unmasked: Still the
- program should (according to the manual) write 'Still alive' onto the
- screen and raise the exception when it comes to the fwait (there are
- NO copro-instructions inside the WRITELN-subroutine).
-
- Well, it doesn't.
-
- When using the debugger you see the exception is raised right while
- executing the fdivp, but this might be a 'Heisenberg effect' (things
- change when you measure them ...)
-
- Strange: This program works
-
- fdivp
- fnclex
- call ...
- fwait
-
- Any ideas?
-
- Gerd Kortemeyer
-
-
-
-
-