FIX: MASM 5.1/5.1a Will Not Allow .STACK to Exceed 32K (74664)



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 Q74664

SYMPTOMS

In the Microsoft Macro Assembler (MASM) versions 5.1 and 5.1a, the following error message may be generated if a stack segment is declared larger than 32K:
error A2102: Segment near (or at) 64K limit
This error will only occur if you are using the .STACK directive to generate the stack segment.

RESOLUTION

You can work around this by either of the following:

  1. Use a full segment declaration to declare the stack. -or-

  2. Use multiple .STACK directives to declare the total stack space required by your program.

STATUS

Microsoft has confirmed this to be a problem in MASM versions 5.1 and 5.1a. This problem was corrected in MASM version 6.0.

MORE INFORMATION

Sample Code

; Assemble options needed: none

.MODEL small       ; Use any memory model

.STACK 8000h       ; Open and allocate STACK segment
                   ; STACK segment automatically closed
END
				

Modification Type:MajorLast Reviewed:10/17/2003
Keywords:kbfix KB74664