(一)TYPE运算符
TYPE运算符返回变量的当个元素的大小,这个大小是以字节为单位计算的。比如,TYPE为字节,返回值位1;TYPE为字,返回值是2;TYPE为双字,返回值为4;TYPE为四字,返回值为8.示例如下:
.data
var1 BYTE ? ;TYPE=1
var2 WORD ? ;TYPE=2
var3 DWORD ? ;TYPE=4
var4 QWORD ? ;TYPE=8
(二)LENGTHOF运算符
LENGTHOF运算符计算数组中元素的个数,元素个数是由数组标号同一行出现的数值来定义的。示例如下:
.data
byte1 BYTE 10,20,30 ;3
array1 WORD 30 dup(?),0,0 ;30+2
array2 WORD 5 dup(3 dup(?)) ;5*3
array3 DWORD 1,2,3,4 ;4
digitStr BYTE "12345678",0 ;9
如果数组中出现了嵌套的DUP运算符,那么LENGTHOF运算符返回的是两个数值的乘积。上面的注释写了LENGTHOF运算符运算以上变量的结果。
若果数组定义占据了多个程序行,那么LENGTHOF只针对第一行定义的数据。比如一下数据,LENGTHOF的返回值为5
myArray BYTE 10,20,30,40,50,
60,70,80,90,100
(三)SIZEOF运算符
SIZEOF运算符返回值等于LENGTHOF与TYPE返回值的乘积。如下例所示,intArray数组的TYPE=2,LENGTHOF=32,因此,SIZEOF intArray=64:
.data
intArray WORD 32 DUP(0)
.code
mov eax,SIZEOF intArray ;EAX=64
好了今天的汇编语言分享就到这里了,喜欢博主的伙伴们记得关注我哦!!!