标题:EXE文件和COM文件的区别
只看楼主
progbobo
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-4-18
 问题点数:0 回复次数:1 
EXE文件和COM文件的区别

EXE文件和COM文件的区别
COM文件
COM文件只有一个分段,无堆栈段,程序长度小于64KB。程序必须预留100H空间,且在位移100H处是一条可执行指令。
程序中的子程序必须具有近过程属性(NEAR)。该程序被加载的起始标号必须由END语句说明为开始地址。
DOS将一个COM文件装入内存时,寄存器CS、DS、ES、SS指向PSP的起始地址:代码装入程序段偏移量为100H处。如下图所示。

┏━━━━━━━┓←CS=DS=ES=SS
┃ PSP(100H) ┃
┃ ┃
┣━━━━━━━┫←CS:100H
┃ ┃
┃ 程序 ┃
┃ ┃
┃ ┃
┗━━━━━━━┛

EXE文件
有多个分段。程序长度受当前内存可用空间的限制。程序的起始标号与END语句说明的开始地址一致。程序中的子程序既可为NEAR,也可为FAR。
┏━━━━━━━┓←DS=ES
┃ PSP(100H) ┃
┃ ┃
┣━━━━━━━┫←CS
┃ ┃
┃ 程序 ┃←CS:IP
┃ ┃ 程序入口
┃ ┃
┗━━━━━━━┛

DS、ES:指向PSP起始地址
CS:IP:程序的执行入口
SS:SP:指向堆栈段

搜索更多相关主题的帖子: COM EXE 文件 
2007-07-18 03:48
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
得分:0 
你说的是dos吧

win32汇编
病毒 加密
目前兴趣所在
2007-07-18 18:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-156164-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099446 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved