汇编语言中关于Length操作符的问题

再看汇编语言程序设计时有个例题是这样的
ARRAY DW 1,2,3
对于指令MOV CX,LENGTH ARRAY
汇编程序将其形成为
MOV CX,1
还有个例题
TABLE DB ’ABCD’
对于指令MOV CX,LENGTH TABLE
汇编程序使其形成
MOV CX,1
而书上对length的定义却是:数值回送操作符LENGTH返回的是变量的单元数
但是书上的定义有点模糊准确的定义应该是:LENGTH返回数组变量的元素个数,也就是返回DUP()前面的数值,如果没有数值,则返回1。 
举例: 
ARRAY1 DB 3 DUP(?) 
ARRAY2 DW 6 DUP(?) 
对于这样的数组变量,LENGTH ARRAY1=3,LENGTH ARRAY2=6 
题目中, 
ARRAY DW 1,2,3 
TABLE DB ’ABCD’ 
ARRAY、TABLE都是普通变量,不是数组变量,所以返回值都是1。

猜你喜欢

转载自blog.csdn.net/qq_36561697/article/details/80847967