Compartir a través de


Tamaño de tipos y variables de ensamblado insertado

Específicos de Microsoft

Los operadores LENGTH, SIZE y TYPE tienen un significado limitado en el ensamblado insertado. No se pueden utilizar en absoluto con el operador DUP (porque no se puede definir datos con las directivas o los operadores de MASM). No obstante, puede utilizarlos para buscar el tamaño de variables o tipos de C o C++:

  • El operador LENGTH puede devolver el número de elementos de una matriz. Devuelve el valor 1 para las variables que no son de matriz.

  • El operador SIZE puede devolver el tamaño de una variable de C o de C++. El tamaño de una variable es el producto de sus operadores LENGTH y TYPE.

  • El operador TYPE puede devolver el tamaño de un tipo o variable de C o de C++. Si la variable es una matriz, TYPE devuelve el tamaño de un único elemento de la matriz.

Por ejemplo, si el programa tiene una matriz int de 8 elementos,

int arr[8];

las siguientes expresiones de C y ensamblado producen el tamaño de arr y sus elementos.

__asm C Tamaño
LENGTH arr sizeof(arr)/sizeof(arr[0]) 8
SIZE arr sizeof(arr) 32
TYPE arr sizeof(arr[0]) 4

FIN de Específicos de Microsoft

Consulte también

Uso del lenguaje de ensamblado en bloques __asm