Tipo e tamanhos de variáveis no Assembly embutido
Específicos do Microsoft
O comprimento, tamanho, e tipo de operadores têm um significado limitado no assembly embutido.Não pode ser usados em todos os com o DUP operador (porque você não pode definir dados com diretivas MASM ou operadores).Mas você pode usá-las para encontrar o tamanho das variáveis c ou C++ ou tipos:
O comprimento operador pode retornar o número de elementos em uma matriz.Ele retorna o valor 1 para não-matriz de variáveis.
O tamanho operador pode retornar o tamanho de uma variável c ou C++.O tamanho de uma variável é o produto da sua comprimento e tipo de.
O tipo de operador pode retornar o tamanho de um tipo c ou C++ ou variável.Se a variável for uma matriz, tipo de retorna o tamanho de um único elemento da matriz.
Por exemplo, se o programa tiver um elemento de 8 int array,
int arr[8];
as seguintes expressões c e assembly produzem o tamanho do arr e seus elementos.
__asm |
C |
Tamanho |
---|---|---|
COMPRIMENTO de arr |
sizeof(arr)/sizeof(arr[0]) |
8 |
TAMANHO arr |
sizeof(arr) |
32 |
TIPO de arr |
sizeof(arr[0]) |
4 |
Específicos do Microsoft final