Microsoft KB Archive/83087

= FIX: MASM Moves Segment Register w/out Generating Error =

Article ID: 83087

Article Last Modified on 10/29/2003

-

APPLIES TO


 * Microsoft Macro Assembler 6.0 Standard Edition
 * Microsoft Macro Assembler 6.0a
 * Microsoft Macro Assembler 6.0b
 * Microsoft Macro Assembler 6.1 Standard Edition
 * Microsoft Macro Assembler 6.1a

-



This article was previously published under Q83087



SYMPTOMS
Microsoft 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, es and thus does not generate the code that may be expected. The code that the user anticipated being generated was: mov bx, es:[1234h]



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 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 21h END start

Additional query words: 6.00 6.00a 6.00b 6.10 6.10a buglist6.00a buglist6.00b buglist6.10 buglist6.10a fixlist6.11

Keywords: kbfix KB83087

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.