FIX: EVEN, ALIGN Generate Error in AT SegmentsLast reviewed: September 16, 1997Article ID: Q81367 |
6.00 | 6.00
MS-DOS | OS/2
kbtool kbfixlist kbbuglist
The information in this article applies to:
SYMPTOMSThe Microsoft Macro Assembler (MASM) version 6.0 incorrectly generates the following error when an EVEN or ALIGN statement is used in a segment that has an "AT" combine type:
error A2189: invalid combination with segment alignment : XX is equal to 2 for EVEN directives, and equal to the alignment of the ALIGN directive. MASM version 5.1 does not generate this error.
STATUSMicrosoft has confirmed this to be a problem in MASM version 6.0. This problem was corrected in MASM version 6.0a.
Sample Code; Assemble options needed: none ;Hello.asm - This program writes "Hello world." in red at the top of ; screen..MODEL small .STACK 4096 .DATA msg DB 'H', 0Ch, 'e', 0Ch, 'l', 0Ch, 'l', 0Ch, 'o', 0Ch, ' ', 0Ch DB 'w', 0Ch, 'o', 0Ch, 'r', 0Ch, 'l', 0Ch, 'd', 0Ch, '.', 0Ch_bad SEGMENT PARA AT 0B800H ORG 160 ALIGN 2 ; This line generates the A2189 error. Line2 LABEL WORD_bad ENDS .CODE start: mov ax, @data mov ds, ax mov ax, SEG Line2 mov es, ax mov di, OFFSET Line2 mov si, OFFSET msg mov cx, 0Ch rep movsw mov ax, 4C00h int 21hEND start
|
Additional reference words: 6.00 5.10 buglist6.00 fixlist6.00a
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |