How can we make a .com file using C/C++? Is it possible?
Edit: I was able to successfully make a com file using darin’s suggestions. But somehow the exe file of the following program cannot be converted to com file. I get the ‘File cannot be converted’ message by exe2bin. I’m using Borland Turbo C++ 3.0. Any suggestions?
#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); }
In C, you must compile your program with the TINY memory model. Then you can use use EXE2BIN or a similar program to convert an EXE file to a COM file.