汇编练习题。求解释

DAT1DB12H,34H,56H,78HDB$-DAT1DAT2DB10HDUP(1,2,3)......MOVDX,SIZEDAT1ADDDX,WORDPTRDAT1... DAT1 DB 12H ,34H,56H,78H
DB $-DAT1
DAT2 DB 10H DUP(1,2,3)
......
MOV DX,SIZE DAT1
ADD DX,WORD PTR DAT1+4
求DX=?
世上答案是105H,是怎么得的?
展开
gencycbh
2012-05-22 · TA获得超过258个赞
知道答主
回答量:101
采纳率:100%
帮助的人:73.3万
展开全部

数据在内存中的存储形式如图所示。

DAT1 DB 12H ,34H,56H,78H

          DB  $-DAT1;    $为地址计数器 $-dat1=4

DAT2  DB 10H DUP(1,2,3)

       ......

          MOV  DX,SIZE  DAT1   ;size操作符,当其操作的变量是dup复制的时,操作结果为变量的个数,否则为单个变量的字节数,此指令中,dat1不是dup复制的,单个变量的字节数为1,所以dx=01h.

          ADD DX,WORD PTR DAT1+4

;从dat1开始偏移4个字节取一个字与dx相加然后把结果送给dx。dx=dx+0104h,结果dx=0105。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式