FIX: ML Fails When PAGE Directive Has Invalid Value (94913)



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

This article was previously published under Q94913

SYMPTOMS

An attempt to assemble an application fails and the assembler generates the following message:
error A2156: constant value out of range
If you assemble the application and request a listing file, the assembler generates a very large listing file or it generates the following message:
DOSXNT : fatal error DX1020: unhandled exception:

General protection fault;

contact Microsoft Support Services

CAUSE

The application contains a PAGE directive and the length or width values are outside the range of valid values.

RESOLUTION

Modify the PAGE directive so that the length parameter is between 10 and 255 lines and the width parameter is between 60 and 255 characters.

STATUS

Microsoft has confirmed this to be a problem in MASM versions 6.0, 6.0a, 6.0b, 6.1, and 6.1a. This problem was corrected in MASM for MS-DOS version 6.11.

MORE INFORMATION

The following code can be used to demonstrate the problem.

Sample Code

; Assemble options needed: /c /Fl

PAGE 10, 30

.MODEL small
.STACK 4096

.CODE
start:
    mov ax, 4C00h
    int 21h
END start
				

Modification Type:MinorLast Reviewed:10/29/2003
Keywords:kbfix KB94913