From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a8ed7f19adf67d2b,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-09-13 14:03:59 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: mjsilva697@earthlink.net (Mike Silva) Newsgroups: comp.lang.ada Subject: Just stumbled across the infamous "Operand Error" Date: 13 Sep 2002 14:03:59 -0700 Organization: http://groups.google.com/ Message-ID: <27085883.0209131303.9416160@posting.google.com> NNTP-Posting-Host: 206.245.217.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1031951039 9192 127.0.0.1 (13 Sep 2002 21:03:59 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 13 Sep 2002 21:03:59 GMT Xref: archiver1.google.com comp.lang.ada:28957 Date: 2002-09-13T21:03:59+00:00 List-Id: In reading some Motorola FPU documentation I inadvertently found what appears to be the infamous Operand Error that was involved in the Ariane 5 disaster. I've never seen a definitive explanation of the Operand Error before (and according to the archives others on this group have scratched their heads about it as well). Well, here's the short dope from the manual: <<< Operand Error (OPERR) This non-maskable handler is entered via vector number 52 at location $00D0. It provides compatibility of results with the MC68881/2 for B, W, and L destination formats when the source operand is a NaN (Not-a-Number), infinity, or value too large for the integer format. >>> So, assuming the Ariane SRI was built around Motorola CPU/FPU as has been reported, the mysterious Operand Error reference now makes perfect sense. It was indeed a hardware exception, and not an exception generated by the Ada runtime checking. This makes it completely clear that the same result would have happened regardless of the programming language used, because whatever the language, it seems clear that the the Operand Error exception handler would have been specified and written to perform exactly as it did. Not that I needed convincing, but it's nice to finally understand the fault mechanism. Mike