当前位置: 代码迷 >> 汇编语言 >> 关于PSP之后、CS:IP之前的这段内存的内容是什么?该如何处理
  详细解决方案

关于PSP之后、CS:IP之前的这段内存的内容是什么?该如何处理

热度:1681   发布时间:2013-02-26 00:00:00.0
关于PSP之后、CS:IP之前的这段内存的内容是什么?
关于PSP之后、CS:IP之前的这段内存的内容是什么?

PSP占了256字节,那么256字节之后的内容又是什么呢?

或者接下来程序的地址是不是就是cs:ip

------解决方案--------------------------------------------------------
是程序,但不一定就是CS的,也可能是DS或SS的,ES也可以...
------解决方案--------------------------------------------------------
后面是程序中定义的各个段。cs:ip是生成程序时指定的,没有固定位置。
------解决方案--------------------------------------------------------
探讨
程序生成时,cs:ip的值是dos里command程序赋予的
那cs,ds,es ,ss的值是怎么给的,是通过某一个程序赋给的吗?

------解决方案--------------------------------------------------------
程序的地址被为SA+10H:0 (其中SA为系统为程序分配内存的起始位置的段地址即当前寄存器DS的内容)
cs:ip指向的是程序代码在内存中的位置,如果在程序代码前面还有数据段或者堆栈段,则cs:ip指向的不是psp记下来的内存地址,而ds、es指向PSP段,ss指向堆栈段。
  相关解决方案