PRB: MASM 6.x and the Windows 3.1 DDK (110405)



The information in this article applies to:

  • Microsoft Macro Assembler (MASM) 6.0
  • Microsoft Macro Assembler (MASM) 6.0a
  • Microsoft Macro Assembler (MASM) 6.0b
  • Microsoft Macro Assembler (MASM) 6.1
  • Microsoft Macro Assembler (MASM) 6.1a
  • Microsoft Macro Assembler (MASM) 6.11

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.

Modification Type:MinorLast Reviewed:10/14/2003
Keywords:KB110405