【发布时间】:2010-10-20 07:13:29
【问题描述】:
我们如何使用 C/C++ 制作 .com 文件?有可能吗?
编辑:我能够使用 darin 的建议成功制作 com 文件。但不知何故,以下程序的exe文件无法转换为com文件。我收到 exe2bin 的“文件无法转换”消息。我正在使用 Borland Turbo C++ 3.0。有什么建议吗?
#include <dos.h>
void interrupt (*oldint65)( );
char st[80] = {"Hello World$"};
void interrupt newint65(void);
void main()
{
oldint65 = getvect(0x65);
setvect(0x65, newint65);
geninterrupt (0x65);
geninterrupt (0x65);
geninterrupt (0x65);
setvect(0x65, oldint65);
}
void interrupt newint65( )
{
_AH = 0x09;
_DX=(unsigned int)st;
geninterrupt (0x21);
}
【问题讨论】:
-
原因:要转换的程序存在以下问题之一: * 程序的起点为0100h,但入口点不同。 * 该程序需要段修正。 * 程序代码和数据大于 64 KB。 * 程序有多个声明段 * 该文件不是有效的 .EXE 格式文件。