bu_gui 发表于 2014-9-30 13:55:05

汇编刚开始学,求教个问题!

内存地址是线性的,为什么在用debug的时候会发现13F8:80这样的段地址,一般的16位的寄存器寻址也就到13F8:10然后就应该是13F9:0了吧,不太搞的明白.

aa05001 发表于 2014-9-30 15:51:25

13f8是段地址,后面的10是偏移地址,因为是16进制的,所以逢16进位。也就是13f90.这个是实际的地址。然后下一个地址应该是13f91 .我也是新手,不知道回答的对不对

老师 发表于 2014-9-30 18:28:27

13F8X先13F8:10的物理地址应该是这样的
13F8HX10H=13F80,然后13F80H+10H(偏移地址)=13F90这才是它的物理地址

bu_gui 发表于 2014-9-30 22:00:33

老师 发表于 2014-9-30 18:28
13F8X先13F8:10的物理地址应该是这样的
13F8HX10H=13F80,然后13F80H+10H(偏移地址)=13F90这才是它的物 ...

是啊,我的意思是在13F80H到13F90H之间应该只有十个内存单元吧,但是13f8:80这样的地址是不是不合法的啊

小靚同学Leon 发表于 2014-9-30 23:35:31

bu_gui 发表于 2014-9-30 22:00
是啊,我的意思是在13F80H到13F90H之间应该只有十个内存单元吧,但是13f8:80这样的地址是不是不合法的啊

0x1. 13F80H到13F90H之间是16个内存单元
0x2. 13f8:80这个是段地址:偏移地址的描述方法,地址是合法的

于峰 发表于 2014-10-2 21:46:58

后面 的数不是表示偏移地址,不是一位十六进制数,是四位十六进制数..就像十位的个十百千位一样..
不知道能理解么...:dizzy:

854357336 发表于 2014-10-3 21:37:44

bu_gui 发表于 2014-9-30 22:00
是啊,我的意思是在13F80H到13F90H之间应该只有十个内存单元吧,但是13f8:80这样的地址是不是不合法的啊

多种表示可以表示一个地址,王爽的书里有说道

bu_gui 发表于 2014-10-4 11:14:30

小靚同学Leon 发表于 2014-9-30 23:35
0x1. 13F80H到13F90H之间是16个内存单元
0x2. 13f8:80这个是段地址:偏移地址的描述方法,地址是合法的

这个13f8:80也应该在13f80到13f90 之间吧,但这两个之间只有十个地址单元啊

草秩 发表于 2014-10-6 09:23:36

bu_gui 发表于 2014-10-4 11:14
这个13f8:80也应该在13f80到13f90 之间吧,但这两个之间只有十个地址单元啊

13f8:80   其实用1400:0合适点- -

大个的糖果 发表于 2014-11-1 04:13:52

页: [1]
查看完整版本: 汇编刚开始学,求教个问题!