[net.micro.pc] AT arithmetic problem

STERNLIGHT@USC-ECL.ARPA (09/05/84)

I  have a FORTRAN program which is supposed to test to see if there is
an 8087 present, and if so, use it.  If not, it is supposed to use the
8088  for  arithmetic.   It  is  compiled in Microsoft (IBM/Microsoft)
FORTRAN and works fine on the PC, PC Portable, and PC-XT.  In  running
it  on  the  AT,  if an 80287 is installed it works fine.  If not, all
numbers are displayed as 1.0.  Has anyone encountered this?   What  is
the  cause,  the 80286 or the software?  I understand Lifeboat C has a
similar problem.  Does  IBM  know  about  it?   Is  it  to  be  fixed?
--david--

mike@smu.UUCP (09/20/84)

<>

I'm not sure how your FORTRAN proogram worked, but it probably did
something flakey to detect whether an 87 was in place.  The 8086
should not really be able to figure this out.  Because the
processor/coprocessor interface between the 286 and 287 is so much
different than that between the 86 and 87, I am not surprised that it
does not work.  The 286 does have the capability of trapping upon
recognition of an ESC instruction via a couple of bits in the MSW.  I
have heard, however, that current AT software doesn't support that
kind of thing.

Mike McNally
...convex!smu!mike