运行一个可执行文件后经过什么过程才被cpu执行的?数据是怎么传输的?汇编解答
发布网友
发布时间:2022-04-23 21:42
我来回答
共1个回答
热心网友
时间:2023-10-10 18:15
这涉及到操作系统对EXE文件的装入问题。以DOS为例,它的装入过程要经过以下几个步骤:
1.
首先从磁盘取EXE文件,取EXE文件之前,通过判断EXE文件结构而识别之;
2.
在可用内存储器的一个小段边界上,构造一个256字节(100h)的程序段前缀(PSP);
3.
紧随PSP的下一个地址,也就是PSP起始地址的偏移257字节处,把EXE装入存储器中;
4.
把PSP的地址装入DS与ES寄存器;
5.
初始化CS,并把IP寄存器设置成代码段中第一条指令的偏移值(通常是0);
6.
初始化SS,并把SP设置成栈大小;
7.
把机器的控制权交给EXE文件,使其指向EXE代码段的第一条指令;
8.
CPU根据程序员设定的代码,执行程序,最后将控制权限返回给DOS。