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

[复制链接]
查看11 | 回复3 | 2010-12-29 21:01:53 | 显示全部楼层 |阅读模式
首先, NDUP('...')表示重复()中的内容N次;DB 是伪指令,表示定义字节变量;DA1 DB ... 表示定义的字节变量名为DA1;具体到 04H DUP(3 DUP(2),2 DUP(3)) ,我们可以先解除里面的(),变成:04H DUP(2,2,2,3,3)然后再变成:DA1 DB2,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个数。
回复

使用道具 举报

千问 | 2010-12-29 21:01:53 | 显示全部楼层
DA1是这串内存的名字,也是首地址,DB代表类型为BYTE,即8位的,区别于DW,DD,dup 在汇编中是一条伪指令,用来重复初始化数据用法举例:str1 db 10 dup ("!@#") ;这就是十个!@#这里就是嵌套的DUP,04H就是转化成10进制就是4D,即把第一个DUP后边的内容重复4遍,括号里也是一样,把2重复三遍,把3
回复

使用道具 举报

千问 | 2010-12-29 21:01:53 | 显示全部楼层
相当于定义一些数据:DA1是名称,DB是定义字节,这个语句可以详细解释为:重复4遍 2,2,2,3,3.即为DA1 DB2,2,2,3,3,2,2,2,3,3,2,2,2,3,3,2,2,2,3,3;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行