汇编语言中DA1 DB 04H DUP(3 DUP(2),2 DUP(3))什么意思

 我来答
百度网友9045b38
2010-12-29 · TA获得超过1972个赞
知道小有建树答主
回答量:984
采纳率:90%
帮助的人:522万
展开全部
首先, N DUP('...')表示重复()中的内容N次;
DB 是伪指令,表示定义字节变量;
DA1 DB ... 表示定义的字节变量名为DA1;
具体到 04H DUP(3 DUP(2),2 DUP(3)) ,我们可以先解除里面的(),变成:
04H DUP(2,2,2,3,3)然后再变成:
DA1 DB 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3
所以,其意思是:从名为DA1的字节变量起,依次存放2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3 这20个数。
乐乐__乐乐
推荐于2018-02-27 · TA获得超过360个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:74.3万
展开全部
DA1是这串内存的名字,也是首地址,DB代表类型为BYTE,即8位的,区别于DW,DD,
dup 在汇编中是一条伪指令,用来重复初始化数据
用法举例:
str1 db 10 dup ("!@#") ;这就是十个!@#
这里就是嵌套的DUP,04H就是转化成10进制就是4D,即把第一个DUP后边的内容重复4遍,括号里也是一样,把2重复三遍,把3重复两遍,再把整体重复四遍,最终内存中分配的就是:
0010H
0010H
0010H
0011H
0011H 这五行在内存中重复4遍,DA1指向这段内存的首地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dagehui
2010-12-29 · TA获得超过226个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:105万
展开全部
相当于定义一些数据:
DA1是名称,DB是定义字节,这个语句可以详细解释为:重复4遍 2,2,2,3,3.
即为
DA1 DB 2,2,2,3,3,2,2,2,3,3,2,2,2,3,3,2,2,2,3,3;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aheng2012
2010-12-29 · TA获得超过128个赞
知道答主
回答量:70
采纳率:0%
帮助的人:68.8万
展开全部
DUP(3 DUP (2), 2 DUP (3))这是个DUP的 "嵌套(学过C的都会懂)" 调用。

DUP指令的用法是: count DUP (表达式,表达式,表达式,...)
因此,我们先看最里面3 dup(2),这个应该你能看懂吧,就是把2重覆两次
相应的2 dup(3)你也就懂了吧,
那么,再把最外层的DUP(?,?)里面的参数做为一个数字,你也就能理解了吧。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式