LENGTHOF 运算符计算数组中元素的个数,元素个数是由数组标号同一行出现的数值来定义的。示例如下:
.data byte1 BYTE 10,20,30 array1 WORD 30 DUP (?),0,0 array2 WORD 5 DUP(3 DUP(?)) array3 DWORD 1,2,3,4 digitStr BYTE "12345678",0
如果数组定义中出现了嵌套的 DUP 运算符,那么 LENGTHOF 返回的是两个数值的乘积。下表列出了每个 LENGTHOF 表达式返回的数值。
表达式 | 值 | 表达式 | 值 |
---|---|---|---|
LENGTHOF byte1 | 3 | LENGTHOF array3 | 4 |
LENGTHOF array1 | 30+2 | LENGTHOF digitStr | 9 |
LENGTHOF array2 | 5*3 |
如果数组定义占据了多个程序行,那么 LENGTHOF 只针对第一行定义的数据。比如有如下数据,则 LENGTHOF myArray 返回值为 5 :
myArray BYTE 10,20,30,40,50 BYTE 60,70,80,90,100
另外,也可以在第一行结尾处用逗号,并在下一行继续进行数组初始化。若有如下数据定义, LENGTHOF myArray 返回值为 10:
myArray BYTE 10,20,30,40,50, 60,70,80,90,100
汇编语言过程<