帮忙解答一下我的问题!!!

jerrymousenet2 2003-10-10 12:38:15
DATA SEGMENT
ORG 0005H
AV1 DW 12H,21H
AV2 EQU 1221H
AV3 DB 13H,31H
AV4 DW AV3
AV5 = 2113H
AV6 DD AV5
;AV6 DD AV4
AV7 DD AV2[AV5]
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA

START:
MOV AX,DATA
MOV DS,AX

MOV CX,AV6+2

MOV AH,4CH
INT 21H
CODE ENDS
END START

以上CX的结果是多少,请给出相应解释。
当把AV6 DD AV5 改成 AV6 DD AV4后,CX的结果又是多少呢?
...全文
56 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdsjkk 2003-10-10
  • 打赏
  • 举报
回复
AV6 DD AV4

=

AV6 Dw offset AV4
dw seg av4(data)
zuolihua 2003-10-10
  • 打赏
  • 举报
回复
MOV CX,AV6+2,因为AV6等于AV5,AV5等于2113h,所以结果就是2115h
如果把AV6改成AV4,同样,AV6等于AV4,AV4又等于AV3,但是注意他们的数据类型不同,所以,AV4等于AV3时,要注意数据排列顺序,根据低低高高原则,AV4等于3113H,所以结果就是3113+2=3115h
jerrymousenet2 2003-10-10
  • 打赏
  • 举报
回复
我也不知道对不对,请给出分析,解题思路才好。
jerrymousenet2 2003-10-10
  • 打赏
  • 举报
回复
为什么第二个会是等于ds的段地址呢?烦请解释一下。谢谢。
csdsjkk 2003-10-10
  • 打赏
  • 举报
回复
1、cx=0
2、cx=ds

jerrymousenet2 2003-10-10
  • 打赏
  • 举报
回复
另外,设段基地址为0230H.
当AV6 DD AV5时,
AV6在存储器中的存放,从低位到高位依次是21h,13h,00h,00h
AV6+2应该是指到00h处。CX的值应该为0000H.
当把AV6 DD AV5改成AV6 DD AV4时,
AV4的偏移值为0011(000BH),此时。
AV6在存储器中的存放,从低位到高位依次是0Bh,00h,00h,00h
那么CX也应该为0000H.但是结果却是0230H.为什么。




simclock 2003-10-10
  • 打赏
  • 举报
回复
2113h和000bh对么?

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧