Reputation: 23119
I want to compile a "Hello World" MS-DOS exe.
Not a program that runs in XP 16bit mode, or in MS-DOS mode on top of Windows OSs.
A HELOWRLD.EXE that I can run on my MS-DOS box.
Upvotes: 5
Views: 14614
Reputation: 26358
For Pascal you will want Free Pascal. It generates 32-bit Go32v2 binaries like DJGPP, and can compile old TP code.
Work is also being done on a Windows->16-bit Dos compiler (can generate .COM), but while working, that is not in a released branch yet.
Upvotes: 0
Reputation: 8069
I think DEBUG.EXE
still ships with windows (at least it does with XP). Run debug and enter something along the lines of the following transcript:
c:\src> debug
-a 100
1373:0100 mov ah,9
1373:0102 mov dx,108
1373:0105 int 21
1373:0107 ret
1373:0108 db "Hello world!$"
1373:0115
-n c:\hi.com
-r bx
BX 0000
:0
-r cx
CX 0000
:15
-w
Writing 00015 bytes
-q
c:\src> c:\hi.com
Hello world!
c:\src> _
Read more on DEBUG.EXE at: http://en.wikipedia.org/wiki/Debug_(command)
And the INT 21 display string http at: http://www.uv.tietgen.dk/staff/mlha/PC/Prog/asm/int/21/09.htm
Upvotes: 30
Reputation: 181270
Follow these steps:
This is code you should copy (*):
int main(int argc, char **argv)
{
printf("Hello, world.\n");
return 0;
}
Upvotes: 9
Reputation: 1839
Install Turbo C/C++ 16-bit compiler. Then create new noname00.c
file.
Write this code in it.
//Include necessary files stdio.h and conio.h for function prototypes.
//The "int agrc , char *argv[]" are optional parameters to main program.If you don't want to use //it you can just write "int main()"
int main(int argc,char *argv[])
{
printf("Hello World !!!!");
getch();
return 0;
}
the .exe file generated by this compiler can be found in source directory.
Try to run it in your own MS-DOS Box.
It should run.
Upvotes: 0
Reputation: 3190
This will do it straight in the command line debugger in DOS. http://www2.latech.edu/~acm/helloworld/dosdebug.html
It does write a COM file and not an EXE (there is a difference) but should be a good start for you.
Upvotes: 3
Reputation: 58342
For C and C++ development, use one of these free and open source compilers:
Upvotes: 2
Reputation: 4733
DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. It includes ports of many GNU development utilities. The development tools require a 80386 or newer computer to run, as do the programs they produce. In most cases, the programs it produces can be sold commercially without license or royalties.
Upvotes: 4
Reputation: 70314
You want a MS-DOS C compiler. Is there still an old version of Borland C floating around? Also, you might find a port of the GNU C compiler for DOS.
Upvotes: 0