FIX: MASM Moves Segment Register w/out Generating ErrorLast reviewed: September 16, 1997Article ID: Q83087 |
6.00 6.00a 6.00b 6.10 6.10a | 6.00 6.00a 6.00b
MS-DOS | OS/2kbprg kbfixlist kbbuglist The information in this article applies to:
SYMPTOMSMicrosoft Macro Assembler (MASM) may move a segment register instead of generating an error on an invalid code statement. In the following example, the statement:
mov bx, es[1234h]should generate an error. However, MASM treats the statement as:
mov bx, esand thus does not generate the code that may be expected. The code that the user anticipated being generated was:
mov bx, es:[1234h] STATUSMicrosoft 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 INFORMATIONThe following program should generate two assembler errors but does not:
Sample Code; Assemble options needed: none .MODEL small .386 .STACK 4096 .CODE start: mov bx,es[1234h] ; This should generate an error. mov es[1234h],bx ; This should generate an error. mov ax, 4C00h int 21hEND start
|
Additional reference words: 6.00 6.00a 6.00b 6.10 6.10a buglist6.00a
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |