PRB: Error A2068 Using REP Prefix with CMPS Instructions (120155)
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
- Microsoft Macro Assembler (MASM) 6.11
This article was previously published under Q120155 SYMPTOMS
Assembling a line of code that uses the REP instruction prefix with one of
the string-compare instructions, such as
REP CMPSB
produces the following error message:
error A2068: instruction prefix not allowed
The same line of code assembles without error under MASM version 5.1.
CAUSE
With MASM version 5.1, as well as when using MASM version 6.x with OPTION
M510, the REP CMPSB instruction is encoded as a REPE CMPSB.
NOTE: The difference between these instructions is that the REP instruction
repeats CX times regardless of the zero flag (ZF); however, the REPE and
REPNE instructions check the ZF flag as they repeat. Because there is
virtually no encoding for REP CMPSB, MASM versions 6.0 and 6.1 generate an
error message.
RESOLUTION
Assemble using the OPTION M510 directive, or use the REPE instruction
prefix.
Modification Type: | Minor | Last Reviewed: | 2/11/2004 |
---|
Keywords: | KB120155 |
---|
|