COM文件和EXE文件的区别

Author: 福建 张春秀 Date: 1994-01-07

        以COM为扩展名的文件的特点如下:
        1.程序只能设置一个段,且不建立堆栈段;
        2.程序的长度必须少于64K字节;
        3.程序必须预留100H空间,开始处是一条可执行指令;
        4.程序被装入的起始标号必须由END语句说明开始地址;
        5.程序中的子程序必须具有近程属性(NEAR);
        6.如果COM文件是由几个不同的目标模块链接生成的,要求所有目标模块具有同一代码段名和类别名(CLASS),且赋予公共属性(PUBLIC),而主模块应具有100H的入口指针并优先连接。
        EXE文件的结构特点如下:
        1.程序允许建立若干不同名的代码段、数据段、堆栈段或附加段。
        2.程序的长度仅受当前内存可用空间的限制。
        3.程序的入口随应用而定,只需起始标号与END语句说明的起始地址一致。
        4.程序中的各个子程序的属性随段内或段间调用而定为NEAR或FAR。
        5.连接生成EXE文件的各个不同的目标模块内的代码段,数据段或附加段可取同名或独立命名。但要求只有主模块的END语句指出程序入口的起始标号,并至少有一个具有STACK属性的堆栈段。  (福建   张春秀)