無涯 发表于 2013-3-2 13:10:05

寄存器地址

   各位大神,我看了小甲鱼的视频后有一点小疑问,望各位大神抽空解答一下

mov ax,    这个是有ds的段地址+偏移地址合成的20位物理地址,可是ax只有16位,怎么存储

还有, 我用-e 1000:0 b8 10 01 debug如何翻译成mov ax,0110
b8就是ax么?!在-r中查看ax不是等于0000么? 我学的有点混乱,希望大神们帮我缕屡

lukelqz 发表于 2013-3-2 13:10:06

本帖最后由 lukelqz 于 2013-3-2 14:02 编辑

20位的物理地址里面存放的数据可以是16位的啊。事实上,一个地址存放的是一个字节的数据(8位),地址+1就是下一个字节的数据。因为你是ax,所以编译器自动扩展成16位然后读取。
你要搞清地址和数据。一个是门牌号,一个是里面住的人。我们操作的是里面的人。当然想要找到这个人,我们可以通过门牌号,关系大概就是这样。
门牌号的范围是从多少到多少呢,其实就是20位地址的范围,0h~1111 1111 1111 1111 1111h。
这里面每个地址都可以存放一个字节的数据。

b8应该是mov ax吧。汇编怎样对应机器码的没必要研究吧

無涯 发表于 2013-3-2 13:10:49

自己顶一下,希望大神们回复

無涯 发表于 2013-3-2 13:15:54

求大神啊 -.-

無涯 发表于 2013-3-2 13:32:37

继续自定 =。=

NGtailang 发表于 2013-3-2 14:32:44

楼主多看物理地址一节啊。要深刻理解

無涯 发表于 2013-3-2 15:48:17

lukelqz 发表于 2013-3-2 13:42 static/image/common/back.gif
20位的物理地址里面存放的数据可以是16位的啊。事实上,一个地址存放的是一个字节的数据(8位),地址+1就是 ...

谢谢,非常感谢{:5_107:}

無涯 发表于 2013-3-2 15:48:57

NGtailang 发表于 2013-3-2 14:32 static/image/common/back.gif
楼主多看物理地址一节啊。要深刻理解

嗯,好的,谢谢你
页: [1]
查看完整版本: 寄存器地址