查看数据段内容时ds的值的问题
王爽老师的汇编书上4.9有讲的有关这个内容,就是说内存区有一段内存存放PSP的空间,所以程序的地址应该是:ds+10h:0,这里的程序的地址是指什么?程序的地址是不是cs:ip的指向?用d命令查看这不应该是数据段的数据吗?跟程序的入口有什么关系。。ds+10h和cs的值是否存在某种联系。。? 本帖最后由 兰陵月 于 2016-3-25 18:04 编辑以书上的那个例子来说,程序的第一条指令地址就是CS:IP指向的地址。
用D命令查看到的是PSP,这个书上已经明说了是DOS系统创建的,真正有用的从其后100H(256字节)的地方开始的。
ds+10H和CS是否存在某种联系?没有固定的某种联系,硬要看成有联系那就过了或者有联系,但是找出联系的意义不大或者说根本就没意义。
比如说:程序入口处的前面放有数据段定义区、放有栈段定义区,有或数据段、栈段放在code段的后面,这样CS出来的结果都是不一样的。从硬件上去理解,它们就是一个线性空间。 ds是程序载入内存的地址,psp是后面的一段我们现在暂时不用理解的信息,真正的程序代码是从cs哪里开始的,也就是ds+10H的地址。 (cs=ds+10H)
我也是刚看2个星期的书,可能说的不对,仅供参考。 兰陵月 发表于 2016-3-25 18:01
以书上的那个例子来说,程序的第一条指令地址就是CS:IP指向的地址。
用D命令查看到的是PSP,这个书上已 ...
感谢回复,还有一个问题{:10_256:} 兰陵月 发表于 2016-3-25 18:01
以书上的那个例子来说,程序的第一条指令地址就是CS:IP指向的地址。
用D命令查看到的是PSP,这个书上已 ...
咦大神有看到我的提问吗{:5_104:}就是看我贴的那个图啊,为什么用ds+10查看内存的值显示是没有内容的,相反数据是存在ds:00这段内存的,这与psp这段空间的存在性是否有出入呢? hack88 发表于 2016-3-26 09:53
ds是程序载入内存的地址,psp是后面的一段我们现在暂时不用理解的信息,真正的程序代码是从cs哪里开始的, ...
嘻嘻发现cs和ds没有必然关系呢!一起学习~ 乍泄1996 发表于 2016-3-26 17:56
咦大神有看到我的提问吗就是看我贴的那个图啊,为什么用ds+10查看内存的值显示是没有内容的,相 ...
图中显示你的传送CS:IP为077C:000B,而那个位置貌似都是0000等无意义数据。你要把你DEBUG的程序贴出来才知道。
页:
[1]