Microsoft KB Archive/110405

From BetaArchive Wiki
Knowledge Base


PRB: MASM 6.x and the Windows 3.1 DDK

Article ID: 110405

Article Last Modified on 10/14/2003



APPLIES TO

  • Microsoft Macro Assembler 6.0 Standard Edition
  • Microsoft Macro Assembler 6.0a
  • Microsoft Macro Assembler 6.0b
  • Microsoft Macro Assembler 6.1 Standard Edition
  • Microsoft Macro Assembler 6.1a
  • Microsoft Macro Assembler 6.11 Standard Edition



This article was previously published under Q110405

SYMPTOMS

The Macro Assembler (MASM) versions 6.0 and later may fail and report errors when you try to build a virtual device driver (VxD) or sample from the Windows 3.1 Device Driver Kit (DDK). These errors can include:

  • warning A4004: cannot assume CS
  • warning A4006: too many arguments in macro call
  • warning A4007: (command line) option untranslated, directive required
  • warning A4017: invalid command-line option
  • error A2008: syntax error : EQU
  • error A2107: cannot have implicit far jump or call to near label


CAUSE

The reason for MASM's failure and the error messages is that the include (.INC) files and samples shipped with the Windows 3.1 DDK were written to be used with MASM version 5.1b. MASM 5.1b was designed for and is included with the DDK, and is not available as a separate product.

RESOLUTION

To avoid these problems you should use MASM 5.1b that is shipped with the DDK to build VxDs and the DDK samples.


Additional query words: 5.10b 6.00 6.00a 6.00b 6.10 6.10a VMM.INC CMACROS.INC WIN16SDK

Keywords: KB110405