第一条要执行的命令

来源:互联网 发布:程序员的工作时间 编辑:程序博客网 时间:2024/04/28 02:12
可执行文件中的程序执行过程

1. 由其他的程序(debug、command或者其他的程序)将可执行文件加载入内存


2.设置CS:IP 指向程序的第一条要执行的指令(第一条指令就是程序的入口),
使程序得意运行  !!就是这里出了问题! 怎样设置 CS:IP 的指向


3.程序运行结束后,返回到加载者  就是 返回到 debug 或是 command 程序




记得可执行文件是由 两个部分组成的,
  一个当然就是主体部分 就是 程序
另一个就是  可执行文件的描述信息  部分


描述信息主要是,


文件由编译程序、连接程序对源程序的中相关伪指令进行处理所得到的信息


上面这句话感觉是废话!!




伪指令 END 描述了  程序的结束  和 程序的入口   就是 汇编程序最后交代的 
“END 标号”  这个组合体  由“END 标号”指明了程序的入口,被转化为一个入口地址
就是说通过 "END 标号" 这个组合体 可以确定 CS:IP 对应的值 也就是讲 确定了程序的入口
就是确定了CPU 第一条执行的指令   


怎么说呢? 程序 .exe文件 就是指 可执行文件 被加载到内存中, 加载者(比如debug ,或者command)从这个程序的的可执行文件(就是加载的这个文件)的描述信息部分,读到程序的入口, 从而设置 CS:IP  


就是说 是加载者 找到程序的入口


关于CPU 的使用权限  因为这是 单任务系统  DOS  所以 CPU 的使用权限 要知道怎样传递


就一个简单的运行一个汇编程序, 刚开始 CPU的 使用权限是 由 加载者掌控的 
当 加载者确定了 CS:IP, 就是程序的入口 ,CPU 的使用权限就 交由载入内存的程序了
  
0 0
原创粉丝点击