FIX: .IF with Multiple Tests Adds a JMP InstructionLast reviewed: September 18, 1997Article ID: Q120067 |
6.10
MS-DOS
kbtool kbfixlist kbbuglist
The information in this article applies to:
SYMPTOMSIf two or more values known at assembly time evaluate as TRUE, .IF (below) will add a JMP instruction. In this first example, only the NOP is assembled:
.IF 1 nop .ENDIFIn this second example, a JMP instruction is added:
.IF 1 || 3 nop .ENDIFIf you use a register, as in this third example, the result is a conditional JMP to the location following the .IF:
.IF ax || 3 nop .ENDIFThe code runs as expected, despite the extra instructions.
RESOLUTIONTo eliminate the extra generated code, replace the "||" with an "OR".
STATUSMicrosoft has confirmed this to be a bug in MASM version 6.1. This problem was corrected in MASM version 6.11.
|
Additional reference words: 6.10 buglist6.10 fixlist6.11
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |