Microsoft KB Archive/43899

From BetaArchive Wiki
Knowledge Base

Floating-Point Errors in QB.EXE with Coprocessor; Use SET NO87

Article ID: 43899

Article Last Modified on 11/21/2006


  • Microsoft QuickBasic 4.0
  • Microsoft QuickBASIC 4.0b
  • Microsoft QuickBasic 4.5 for MS-DOS
  • Microsoft BASIC Professional Development System 7.0

This article was previously published under Q43899


When floating-point errors occur while a program is running in either the QuickBasic environment or as a compiled .EXE file, and the machine is equipped with a math coprocessor, the problem may be due to the configuration of the math coprocessor.

Math coprocessor problems can be identified by testing QuickBasic with the coprocessor disabled. To disable the coprocessor, SET the NO87 environment variable at the MS-DOS command prompt. This action must be performed before QuickBasic is invoked and not with a SHELL from the editor. The MS-DOS command is as follows:

SET NO87=Coprocessor is Disabled for QuickBasic

This command disables the coprocessor for QuickBasic. The string, "Coprocessor is Disabled for QuickBasic," may be any string with one or more characters. If no characters follow the SET NO87= command, the coprocessor is turned back on.

If the errors no longer occur after SETting the NO87 variable, then the coprocessor should be checked for correct installation and configuration.

This information applies to Microsoft QuickBasic Versions 4.00, 4.00b, and 4.50, Microsoft Basic Compiler Versions 6.00 and 6.00b, and Microsoft Basic PDS Version 7.00.

Additional query words: QuickBas BasicCom

Keywords: KB43899