MASM 5.1/5.1a Will Not Allow .STACK to Exceed 32K

ID Number: Q74664

5.10 5.10a | 5.10 5.10a

MS-DOS | OS/2

buglist5.10 buglist5.10a fixlist6.00

Summary:

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.

Sample Code

-----------

; Assemble options needed: none

.MODEL small ; Use any memory model

.STACK 8000h ; Open and allocate STACK segment

; STACK segment automatically closed

END

Additional reference words: 5.10 5.10a 6.00