请帮我解答一道汇编语言程序题,不胜感激!老实声明:我没有积分了 不好意思。。。

题目如下:
根据下面的伪指令序列,AX寄存器的内容是多少?
TAB DW 1、2、3、4、5、6
ENTRY EQU 3
MOV BX , OFFSET TAB
ADD BX , ENTRY
MOV AX , WORD PTR [BX]
答案是:0300H
请问这个结果是怎么算来的?
另外,还请教一个附加问题:
这道题里面,我们知道“1、2、3、4、5、6”这些数字都是按字存放的,也就是一个数字占用两个字节的空间,我假设其实这些数据存储的其实地址是00H
那么对于数字0010,它的存储情况是:地址00H存放00,然后地址01H存放10呢?还是地址00H存放10,然后01H存放00呢?
简单的说就是对于两字节数据 是高位存放在低地址呢?还是低位存放在低地址?

先谢谢了 - !-

高对高,低对低

按你的假设,内存段内的内容如下:
数字皆为十六进制
偏移地址 内容
0000 01
0001 00
0002 02
-> 0003 00
0004 03
0005 00
0006 04
0007 00
0008 05
0009 00
000A 06
000B 00
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-07
硬件相关。
intel 的CPU是little endian。
见:http://www.360doc.com/content/06/0520/16/3630_119118.shtml
第2个回答  2010-09-07
DW定义的每个操作数都占用一个字(即两个字节)的内存,低字节存放在低地址,高字节存放在高地址(低对低,高对高)
第3个回答  2010-09-07
低位存放在低地址
相似回答