ID Number: Q32773
5.10 | 5.10
MS-DOS | OS/2
buglist5.10 fixlist5.10A
Summary:
The LOCAL directive allocates two bytes too few when applied to
data items with type larger than word.
Microsoft has confirmed this to be a problem in Version 5.10.
The 5.10A MASM update is available as an applications note, from
Microsoft Product Support Services.
More Information:
The following source example demonstrates the problem:
.model large
.code
foo proc
local l1:byte
local l2:word
local l4:dword
local l6:fword
local l8:qword
local l10:tword
ret
foo endp
end
The listing file below illustrates the incorrect offsets generated:
L1 ........................ TEXT BYTE PTR [BP]-2
L10........................ TEXT TBYTE PTR [BP]-24
L2......................... TEXT WORD PTR [BP]-4
L4......................... TEXT DWORD PTR [BP]-6
L6......................... TEXT FWORD PTR [BP]-10
L8......................... TEXT QWORD PTR [BP]-16