LENGTH是属于析值操作符之一,也称为数值回送操作符,原因是这些操作符把一些特征或存储器地址的一部分作为数据返回。length的用法:length 变量名 。作用是返回利用dup定义的数组中的元素个数,即重复操作符dup前的count值。
例如有 varw db 1234h | buffer db 10 dup (0)
length varw ;返回1给cx length buffer; 返回 10 给cx
其他的析值操作符还有:
1、seg 变量或者标号;返回变量所在段号或者标号的偏移量
2、offset 变量或者标号 ;返回变量或者标号的偏移量
3、type 变量或者标号; 返回变量或者标号的类型,类型使用数值对应关系如下:db(1), dw(2), dd(4), near(-1), far(-2)
4、size 变量或者标号; 返回dup定义数组占用的字节数。与length类似
格式为:LENGTH Variable
对于变量中使用DUP的情况,汇编程序将回送分配给该变量的单元数.而对于其他情况则回送1.
例:
FESS DW 100 DUP(0)
对于指令MOV CX,LENGTH FESS
汇编程序将其形成为:MOV CX,100
ARRAY DW 1,2,3
对于指令MOV CX,LENGTH ARRAY
汇编程序将其形成为:MOV CX,1
TABLE DB ‘ABCD’
对于指令MOV CX,LENGTH TABLE
汇编程序将其形成为:MOV CX,1
以上参考来源:https://wenwen.sogou.com/z/q657535205.htm
LENGTH返回数组变量的元素个数,也就是返回DUP()前面的数值,如果没有数值,则返回1。
还可参考
&spm=1001.2101.3001.5002&articleId=103543203&d=1&t=3&u=2e6245b71a754461ad57d73ab7fb5de8)
2906

被折叠的 条评论
为什么被折叠?



