KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q49842: Installing In-Line 80 x 87 Assembly Instructions

Article: Q49842
Product(s): See article
Version(s): 5.10
Operating System(s): MS-DOS
Keyword(s): ENDUSER | docerr appnote | mspl13_c
Last Modified: 16-JAN-1990

The assembler code on Page 168 of the "Microsoft C Optimizing Compiler
User's Guide," Version 5.10, is incorrect. When assembled and linked
with your C application, this code will cause divide by zero and
overflows to be masked.

This behavior occurs because the code on Page 168 is incomplete. The
correct code is listed below. Case is important, so assemble with the
-Mx switch. You should also link with the /NOE switch. This code is
provided to produce in-line 8087 instructions on FORTRAN Versions 4.x
and C Versions 5.x.

This application note is also available from Microsoft Product Support
Services by calling (206) 454-2030.

;************************************************************************
;rmfixups.asm -
;
;   Copyright (c) 1988-1988, Microsoft Corporation.  All Rights Reserved.
;
;Purpose:
;  Link with rmfixups.obj in order to prevent floating point instructions
;  from being fixed up.
;  The case of these names is important so assemble with the -Mx switch.
;
;*************************************************************************

public  FIWRQQ,FIERQQ,FIDRQQ,FISRQQ,FJSRQQ,FIARQQ,FJARQQ,FICRQQ,FJCRQQ

FIDRQQ  EQU     0
FIERQQ  EQU     0
FIWRQQ  EQU     0
FIARQQ  EQU     0
FJARQQ  EQU     0
FISRQQ  EQU     0
FJSRQQ  EQU     0
FICRQQ  EQU     0
FJCRQQ  EQU     0

extrn   __fpmath:far
extrn   __fptaskdata:far
extrn   __fpsignal:far

CDATA   segment word common 'DATA'
        dw      0
        dd      __fpmath
        dd      __fptaskdata
        dd      __fpsignal
CDATA   ends

end

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.