Thread View: alt.msdos.programmer
4 messages
4 total messages
Started by Duncan Murdoch
Sun, 26 Nov 1989 03:41
Precision control on an 80x87
Author: Duncan Murdoch
Date: Sun, 26 Nov 1989 03:41
Date: Sun, 26 Nov 1989 03:41
12 lines
842 bytes
842 bytes
I was just looking through the floating point code in a Turbo Pascal program, and I see that at one point it sets the precision control bits to 01. My old 8087 manual lists codes 00 - 24 bits 01 - (reserved) 10 - 53 bits 11 - 64 bits Does anyone know what setting it to 01 is supposed to do? Is it something new on the 287, 387 or 486? Duncan Murdoch
Re: Precision control on an 80x87
Author: Charles Marslett
Date: Mon, 27 Nov 1989 04:20
Date: Mon, 27 Nov 1989 04:20
13 lines
945 bytes
945 bytes
In article <912@maytag.waterloo.edu>, dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: > 00 - 24 bits > 01 - (reserved) > 10 - 53 bits > 11 - 64 bits > Does anyone know what setting it to 01 is supposed to do? Is it something new > on the 287, 387 or 486? I think the 387 (and 486) actually lose the ability to calculate in any but the 64 bit mode -- the two bits are just a little bit of RAM. Any one with technical docs handy to check on that? > Duncan Murdoch
Re: Precision control on an 80x87
Author: Duncan Murdoch
Date: Wed, 29 Nov 1989 03:48
Date: Wed, 29 Nov 1989 03:48
24 lines
1588 bytes
1588 bytes
>>In article <912@maytag.waterloo.edu>, dmurdoch@watstat.waterloo.edu (me) >>wrote: >>> 00 - 24 bits >>> 01 - (reserved) >>> 10 - 53 bits >>> 11 - 64 bits >>> Does anyone know what setting it to 01 is supposed to do? Is it something >>new >>> on the 287, 387 or 486? It turns out to be reserved on the 387 and 486 too (thanks to Tom Hill for the info), and on an 8087 acts just the same as 00, i.e. round to single precision. I was asking about it because it occurred in the floating point code that Turbo Pascal 5.5 uses. It turned out to be in a part of some code that rounds two extended operands in registers before a compare, and looks suspiciously as though it is really precision 10 (double) mis-coded. It doesn't seem to matter to TP though, because I can't think of any time it would need to do this operation. Watch out in Turbo C, though. Duncan Murdoch P.S. I've just widened the distribution of this article; don't worry if you didn't see the original or the discussion that followed it.
Re: Precision control on an 80x87
Author: peter
Date: Fri, 01 Dec 1989 19:35
Date: Fri, 01 Dec 1989 19:35
34 lines
1958 bytes
1958 bytes
In article <912@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: | |I was just looking through the floating point code in a Turbo Pascal program, |and I see that at one point it sets the precision control bits to 01. My old |8087 manual lists codes | 00 - 24 bits | 01 - (reserved) | 10 - 53 bits | 11 - 64 bits |Does anyone know what setting it to 01 is supposed to do? Is it something new |on the 287, 387 or 486? | |Duncan Murdoch I looked through my collection of reference manuals and they all list 01 as reserved. Here's where I checked: 80286 and 80287 Programmer's Reference Manual, 210498-005 (1987) Figure 1-5, p1-12. (In the second section of the book!) 80387 Programmer's Reference Manual, 231917-001 (1987) Figure 2-3, p2-6. i486(tm) Microprocessor, 240440-001 (1989) Figure 2.14, p33. (bound, 175 page "data sheet") There must be something tricky going on. <disclaimer.std> applies. ------------------------------------------------------------------------------- Peter Plamondon, Intel Corp, 5200 NE Elam Young Pkwy, Hillsboro, OR 97124-6497 Internet: peter@langlab1.hf.intel.com +1 503-696-5219 UUNET : uunet!intelhf!langlab1!peter "I speak for myself, as best I can." UUCP : tektronix!psueea!foobar!langlab1.hf.intel.com!peter -------------------------------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads