The LENGTH, SIZE, and TYPE operators have a limited meaning in inline assembly. They cannot be used at all with the DUP operator (because you cannot define data with MASM directives or operators). But you can use them to find the size of C or C++ variables or types:
For example, if your program has an 8-element int array,
int arr[8];
the following C and assembly expressions yield the size of arr
and its elements.
__asm | C | Size |
LENGTH arr | sizeof(arr)/sizeof(arr[0]) | 8 |
SIZE arr | sizeof(arr) | 16 |
TYPE arr | sizeof(arr[0]) | 2 |