| FIX: Parentheses Necessary for Operator PrecedenceLast reviewed: September 11, 1997Article ID: Q39443 | 
| 5.10   | 5.10
MS-DOS | OS/2
kbtool kbfixlist kbbuglist The information in this article applies to: 
 
 SYMPTOMSUsing Microsoft Macro Assembler (MASM) version 5.1, You may be able to correct "Illegal size for operand" errors by careful use of parentheses. 
 STATUSMicrosoft has confirmed this to be a problem in MASM version 5.1. This problem was corrected in MASM version 5.1a. 
 MORE INFORMATIONThe following code demonstrates warnings, errors, and their solution: dosseg .model small,c .data .code myproc PROC buffer:FAR PTR BYTE 
            mov     bx, WORD PTR buffer[0]
           mov     ds, WORD PTR buffer[2]
; MASM gives an operand-size error. This is a precedence problem that
; you can correct with parentheses:
            mov     bx, WORD PTR (buffer[0])
           mov     ds, WORD PTR (buffer[2])
myproc ENDPend ...................................................................... masm test,,,; Microsoft (R) Macro Assembler Version 5.10 Copyright (C) Microsoft Corp 1981, 1988. All rights reserved. test.ASM(9): warning A4057: Illegal size for operand test.ASM(10): error A2057: Illegal size for operand 
   23666 Bytes symbol space free
      1 Warning Errors
      1 Severe  Errors
.......................................................................
 | 
| Additional reference words: 5.10 buglist5.10 fixlist5.10a 
 © 1998 Microsoft Corporation. All rights reserved. Terms of Use. |