汇编语言指令LENGTH是什么意思

DATASEGMENT...DATAENDSSTACKSEGMENTSTACK'STACK'STADB32TOPEQULENGTHSTASTACKENDS其中TOPEQU... DATA SEGMENT
...
DATA ENDS
STACK SEGMENT STACK 'STACK'
STA DB 32
TOP EQU LENGTH STA
STACK ENDS
其中TOP EQU LENGTH STA 是什么意思啊
重点说下LENGTH
谢谢了 好的有加分
展开
 我来答
珈蓝惜梦qF
2019-10-03 · TA获得超过654个赞
知道答主
回答量:33
采纳率:0%
帮助的人:1.3万
展开全部

LENGTH为伪指令,语句意义为取数组元素个数。

其作用为:计算数组中元素的个数,元素个数是由数组标号同一行出现的数值来定义的。

其作为伪指令的特点:

1、由于是伪“指令”,因而它只存在于汇编语言中。高级语言中不叫指令,叫语句;

2、由于是“伪”指令,也即“假”指令,因而不是可执行指令,不会产生机器代码,不会占用ROM空间,只用于汇编过程中为汇编程序提供汇编信息。

扩展资料:

1、元素个数是由数组标号同一行出现的数值来定义的。如果数组定义中出现了嵌套的 DUP 运算符,那么 LENGTHOF 返回的是两个数值的乘积。

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

下表列出了每个 LENGTHOF 表达式返回的数值。

2、如果数组定义占据了多个程序行,那么 LENGTHOF 只针对第一行定义的数据。比如有如下数据,则 LENGTHOF myArray 返回值为 5 :

myArray BYTE 10,20,30,40,50

BYTE 60,70,80,90,100

3、另外,也可以在第一行结尾处用逗号,并在下一行继续进行数组初始化。若有如下数据定义, LENGTHOF myArray 返回值为 10:

myArray BYTE 10,20,30,40,50,

60,70,80,90,100

iS谁在看YoU
推荐于2017-09-29 · TA获得超过367个赞
知道小有建树答主
回答量:253
采纳率:90%
帮助的人:187万
展开全部
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类似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yelaizuozuo
推荐于2017-10-15 · TA获得超过1631个赞
知道大有可为答主
回答量:802
采纳率:0%
帮助的人:353万
展开全部
TOP=1

.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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Teacky
2008-12-20 · TA获得超过183个赞
知道答主
回答量:58
采纳率:0%
帮助的人:48.9万
展开全部
TOP的值等于STA的长度,这里STA的长度为1,即TOP的值为1

LENGTH一般加在数组变量的前面,作用是计算数组变量所占存储单元的个数。若使用DUP,则执行结果是外层DUP的给定值;若没有使用DUP,则执行结果为1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式