Closed vid512 closed 3 years ago
Yes this is true, but some time normal behavior.
In data the pointer can exist has reference so the real type size always be the same.
In code for 64bits/32bits platform all type pointer is: 8/64bits. 4/32bits. no maters it's ptr or array, the size is always the same.
It seems that referencing code label in memory address messes up the associated size of entire addressing expression, even though the entire expression size is explicitly specified with
dword ptr
. Curious thing is thattype(...)
operator still seems to return correct type, butsize(type(...))
doesn't return correct size for that type. Another curious thing is that this doesn't happen when memory addressing references data label, only with code label. I'm new to this highlevel MASM stuff, so maybe I am missing something, but it seems like a bug to me.Example: following code throws only "error 6", not others. Tested with UASM 2.47 and 2.49.