PROC w/ Parameters Requires Language Specifier on .MODEL (75248)



The information in this article applies to:

  • Microsoft Macro Assembler (MASM) 5.1
  • Microsoft Macro Assembler (MASM) 6.0

This article was previously published under Q75248

SUMMARY

The PROC directive used with arguments requires a language specifier in the .MODEL directive in the Microsoft Macro Assembler (MASM) versions 5.1, 5.1a, and 6.0, and also in the Microsoft QuickAssembler versions 2.01 and 2.51. The language specifier is required because it determines which parameter passing convention will be used with the PROC arguments. If you do not specify a language on the PROC line, the error
A2022: Operand must be type specifier
will be generated by MASM 5.1 and 5.1a, and by QuickAssembler 2.01 and 2.51. The error
A2119: language type must be specified
will be generated by MASM 6.0.

MORE INFORMATION

To correct the code, specify a language in the .MODEL statement. To correct the following program, replace the statement ".MODEL small" with ".MODEL small, language" where language is either FORTRAN, PASCAL, Basic, or C.

Sample Code

; Assemble options needed: none

      .MODEL small
      .CODE
      PUBLIC proc1
proc1 PROC arg1:WORD
proc1 ENDP
      END
				

Modification Type:MajorLast Reviewed:10/20/2003
Keywords:KB75248