汇编语言中定义的数据段的问题

DATASEGMENTARY1DW1234H,5678HARY2DWARY1ARY3DDARY1DATAENDS为什么ary2的值是ary1的偏移量ary3的值是ary1... DATA SEGMENT
ARY1 DW 1234H,5678H
ARY2 DW ARY1
ARY3 DD ARY1
DATA ENDS

为什么ary2的值是ary1的偏移量 ary3的值是ary1的偏移量和段基值
如果在代码段写 mov ax,ary1 却为什么的到的是ary1的第一个值 1234h
展开
 我来答
帐号已注销
2012-12-29 · TA获得超过3001个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1440万
展开全部
这个就是这么规定的。
如果定义变量的时候,是这样的形式:
变量名 类型 常量
那么结果就是把常量的值赋给变量。
如果是这种形式:
变量名1 dw 变量名2
那么结果就是变量名1 = 变量名2在段内的偏移地址。
如果是这种形式:
变量名1 dd 变量名2
那么结果就是变量名1的高16位是变量名2的段地址,低16位是变量名2在段内的偏移地址。就是这么规定的,记住就行了。
百度网友020decd
2012-12-29 · TA获得超过535个赞
知道小有建树答主
回答量:315
采纳率:100%
帮助的人:194万
展开全部
变量的三个使用方法:
1 变量作为指令中的操作数,代表变量值
DA1 DB 0FEH,57H
MOV AL ,DA1 AL=0FEH
MOV AL, DA1+1 AL=57H
2变量出现在伪指令的参数中或指令语句寻址方式中时,表示偏移地址
MOV DA3[SI], AL
3《当定义变量伪指令时参数为另一个变量时,则变量的值为被引用变量名的地址,段基值和偏移量》如果用DW时,则只有偏移量 如果用DD则前二个字节存放偏移量 后二个字节存放段基值~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式