Microsoft KB Archive/35507

= Real-Number Encoding Needs Exact Number of Digits =

Article ID: 35507

Article Last Modified on 10/17/2003

-

APPLIES TO


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

-



This article was previously published under Q35507



SUMMARY
In the Microsoft Macro Assembler (MASM) versions 5.1, 5.1a, 6.0, 6.0a, and 6.0b real numbers can be initialized with a hexadecimal encoding by using the DD, DQ, and DT directives. In MASM 6.0, 6.0a, and 6.0b real numbers can also be initialized with a hexadecinal encoding by using the REAL4, REAL8, and REAL10 directives. The number of digits for encoded numbers declared with DD, DQ, and DT or REAL4, REAL8, and REAL16 must be 8, 16, and 20 digits, respectively. If a leading 0 is supplied, the number must be 9, 17, and 21 digits respectively.



MORE INFORMATION
The following example generates the warning:

warning A4057: Illegal size for operand

_DATA SEGMENT 'DATA'

a_var DQ 000000000r

_DATA ENDS

END

MASM will correctly evaluate the constant, but the warning is telling the user that the number of digits is not correct. The real number should be defined with exactly 17 digits as in the following example. _DATA SEGMENT 'DATA' a_var DQ 00000000000000000r _DATA ENDS END

Additional query words: kbinf 5.10 5.10a 6.00 6.00a 6.00b

Keywords: KB35507

-

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

© Microsoft Corporation. All rights reserved.