Article ID: 94778 - Last Review: August 16, 2005 - Revision: 2.1

BUG: Illegal function call / Division By Zero Errors

This article was previously published under Q94778
Expand all | Collapse all

SYMPTOMS

Certain complex numeric expressions may incorrectly cause "Illegal function call" or "Division by zero" errors when run in the interpreter environment of the above mentioned Basic products. This problem only happens on computers that have a math coprocessor.

These errors, however, do not occur with programs compiled using the BC.EXE compiler included with Microsoft Basic Professional Development System for MS-DOS, version 7.1 and the Standard and Professional Editions of Microsoft Visual Basic for MS-DOS, version 1.0

STATUS

Microsoft has confirmed this to be a bug with the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

To work around this problem, do one of the following:

  • Break the complex equation into smaller parts that are evaluated separately.
  • Turn off use of the coprocessor with SET NO87=x at the DOS prompt (PDS and Visual Basic for MS-DOS only).
  • Compile using the alternate math (/FPa) option (PDS and the Professional Version of Visual Basic for MS-DOS only).
The following code reproduces the "Illegal Function Call" error on a computer that has a coprocessor:
   test = 1 + (1 + 1 * (1 * (1 + 1 ^ 1)))
				
The following code reproduces the "Division by zero" error on a computer that has coprocessor:
   test = 1 + (1 - 1 * (1 + 1 / 1 ^ 1))
				
These are not the only expressions that cause the problem.

APPLIES TO
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 1.0 Standard Edition
  • Microsoft Visual Basic for MS-DOS
  • Microsoft BASIC Professional Development System 7.0
  • Microsoft Cinemania 97 Standard Edition
Keywords: 
kbbug KB94778
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations