正在阅读:Windows可执行文件简述(二)Windows可执行文件简述(二)

2004-03-30 09:56 出处:PConline 作者:rivershan 责任编辑:linjixiong


  mov zz.B,'1'

  mov ax,type(MAN) ;取结构所占字节数

  .exit ;可设置返回码

  end

  2.MZ格式

  com发展下去就是MZ格式的可执行文件,这是DOS所能了解的具有重定位功能的可执行文件格式。MZ可执行文件内含16位代码,在这些代码之前加了一个文件头,文件头中包括各种说明数据,如第一句可执行代码执行指令时所需要的文件入口点、堆栈的位置、重定位表等,操作系统根据文件头重的信息将代码部分装入内存,让后根据重定位表修正代码,最后在设置好堆栈后从文件头中指定的入口开始执行。所以DOS可以把程序放在任何它想要的地方。下图是MZ格式的可执行文件的简单结构示意图:

MZ标志

MZ文件头

其它信息

重定位表的字节偏移量

重定位表

重定位表

可重定位程序映像

二进制代码


  3.NE格式

为了保持对DOS的兼容性和保证Windows的需要,在Win 3.x中出现的NE格式的可执行文件中保留了MZ格式的头(具体原因后面会说,这里就不赘述了),同时NE文件又加了一个自己的头,之后才是可执行文件的可执行代码。Win 3.x中的16位Windows程序或OS/2程序都有可能是NE格式的。NE类型包括了.exe、.dll、.drv和.fon四种类型的文件。NE格式的关键特性是:它把程序代码、数据、资源隔离在不同的可加载区块中。它也藉由符号输入和输出,实现所谓的执行时期动态链接。


 

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品