【转载】COM文件与EXE文件的区别与联系
COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似。在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排外,段寄存器一般不发生变化。四个段寄存器具有同样的内容,都指向PSP,因此程序的大小仍限于64k以内。COM文件的入口必须是100H,而EXE文件可以有多个段。其中CS和SS以及IP和SP在程序装入时由DOS根据文件头中的信息初始化,ES和DS则指向PSP。EXE文件除了程序本身外,还要包括文件头(512字节的整数倍),因而所占磁盘空间大一些,装入也慢一些,但程序大小不受限制。EXE文件用debug修改后,无法直接写回磁盘上去。
一、相同点
二者都是DOS下的可执行文件。.COM文件是可执行的二进制代码文件,.EXE文件是可执行的浮动代码文件。
二、不同点
(1).COM文件一般比较小,其大小不能超过64KB,而.EXE文件一般比较大,可以超过64KB。
(2).COM文件装入内存较快,而.EXE文件较慢。
(3).COM文件一般比较简单,.EXE文件则比较复杂,编写的难度较大。
(4).COM文件在执行时段寄存器含有相同的值,即代码、数据等混合在一起,而.EXE文件在执行时段寄存器含有不同的值,即代码、数据等驻留在不同的段中。
(5)驻留在磁盘上的.COM文件既无文件头也没有任何其它的内部标识信息,而驻留在磁盘上的.EXE文件有一个文件头(也称作控制信息块)、一个重定位图以及DOS使用的其它信息。
(6)对.COM文件来说,DOS的装入程序不能为其执行段重定位,而对.EXE文件来说,其执行段可以被重定位。
(7).COM文件只能有一个段,而.EXE文件可以有一个以上的段。
【转自】http://blog.csdn.net/u014304560/article/details/48715415
【转载】COM文件与EXE文件的区别与联系的更多相关文章
- 关于DLL文件和EXE文件不在同一目录下的设置【转】
https://www.cnblogs.com/chaosimple/archive/2012/08/13/2636181.html 关于DLL文件和EXE文件不在同一目录下的设置 在开发程序结束后, ...
- python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...
- 使用fiddler,提示系统找不到相应的文件FSE2.exe文件
使用fiddler时候遇到了如下问题: Rules中customize rules 时,提示系统找不到相应的文件FSE2.exe文件. 这个文件的位置可以在Tools->opinions-> ...
- 怎样在windows下和linux下获取文件(如exe文件)的具体信息和属性
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xmt1139057136/article/details/25620685 程序猿都非常懒.你懂的! ...
- nwjs如何打包文件为exe文件并修改exe图标
1.下载nw.js,如果是SDK版的可以调试页面,打包后可不可以调试还没有试,不是SDK的话没有调试选项,试了一下,打包后的文件也一样调试不了. 2.把要打包的文件和package.json都放在nw ...
- 关于python文件转为exe文件
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...
- pyinstaller打包py文件成exe文件时,出现ImportError: No module named 'pefile'错误解决办法!
首先pyinstaller的安装与使用详见如下链接: 安装完成之后,命令行中输入pyinstaller之后,结果如下: ImportError: No module named 'pefile' 缺少 ...
- py文件转换为exe文件
遇到这个问题时在网上找了一会资料,很多博客的方法很旧了,介绍一种最简单的,pyinstaller. 时间比较早的资料还在介绍如何安装pip(python的包管理器),其实python中已经自带pip了 ...
- 屏幕录像大师如何把LXE文件转换为EXE文件
EXE 和 LXE 实际上是同一种格式,文件大小完全相同,可以快速相互转换.区别是EXE复制到其它电脑上可以直接播放,LXE需要播放器播放,我们提供LXE播放器,而且是完全免费的.EXE的好处是复制到 ...
随机推荐
- FastDFS和集中存储方式对比
指标 FastDFS NFS 集中存储设备如NetApp.NAS 线性扩容性 高 差 差 文件高并发访问性能 高 差 一般 文件访问方式 专有API POSIX 支持POSIX 硬件成 ...
- set容器几个关键函数
set在OI中非常好用,归纳几种常见的功能qwq #include<iostream> #include<cstdio> #include<set> //set容器 ...
- Jenkins中部署Sonar代码检查
1 安装并启动sonarqube docker pull sonarqube:7.5-community docker run \ --name sonarqube \ --network ci \ ...
- 利用RestTemplate进行http调用
在对接API的时候,会涉及调用第三方的服务,这时候可以利用RestTemplate进行调用,下面给大家展示一个简单的调用demo. package com.tanlu.user.api.control ...
- HTML5结构
1.显示编排内容区域块(明确使用section等元素创建文档结构,在每个区域块中使用标题元素) 2.隐示编排内容区域块(不明确使用section等元素,而是根据网页需求来将各级的元素创建出来) 3.标 ...
- 数据结构( Pyhon 语言描述 ) — — 第2章:集合概览
集合类型 定义 个或多个其他对象的对象.集合拥有访问对象.插入对象.删除对象.确定集合大小以及遍历或访问集合的对象的操作 分类 根据组织方式进行 线性集合 线性集合按照位置排列其项,除了第一项,每一项 ...
- POJ 2485 Highways (求最小生成树中最大的边)
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
- POJ 2631 Roads in the North (求树的直径)
Description Building and maintaining roads among communities in the far North is an expensive busine ...
- Java基础学习总结(90)——Java单元测试技巧
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 虽然有三种主要类型的软件测试:单元测试,功 ...
- LoadRunner中,参数化时Unique取值方式的理解
LoadRunner中,参数化时Unique取值方式的理解 2012年10月15日 18:10:36 瑞秋 阅读数:10028 在LoadRunner中进行参数化时,Parameter的取值设置有 ...