FIX: DOSXNT DX1020 Error Using .WHILE and Processor Flag (97840)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 6.1
- Microsoft Macro Assembler (MASM) 6.1a
- Microsoft Macro Assembler (MASM) 6.0, when used with:
- the operating system: OS/2
This article was previously published under Q97840 SYMPTOMS
Microsoft Macro Assembler (MASM) version 6.1, and 6.1a may generate a
DOSXNT DX1020 general protection fault when using the .WHILE directive
to test the state of a processor flag (SIGN?, ZERO?, CARRY?, PARITY?,
or OVERFLOW?). The error occurs if the processor flag is tested by
itself or is negated and tested. For example:
.WHILE SIGN?
.WHILE !SIGN?
MASM version 6.0 running under OS/2 version 1.21 may generate a trap 13 in
the above situation.
RESOLUTION
To work around this problem, OR the desired processor flag with zero.
For example:
This work around will also work with ZERO?, CARRY?, PARITY?, and
OVERFLOW?.
STATUS
Microsoft has confirmed this to be a problem in MASM versions 6.0, 6.1,
and 6.1a. This problem was corrected in MASM version 6.11.
Modification Type: | Major | Last Reviewed: | 10/22/2003 |
---|
Keywords: | kbfix KB97840 |
---|
|