MSDOS“Hello World”EXE

时间:2010-04-15 12:09:30

标签: dos

一个悬而未决的问题 - 但我无法找到任何地方开始!!

我想编译一个“Hello World”MS-DOS exe。

不是在XP 16位模式下运行的程序,也不是在Windows操作系统之上的MSDos模式下运行的程序。

我可以在我的MSDOS盒子上运行的HELOWRLD.EXE。

Thanksyou!

8 个答案:

答案 0 :(得分:24)

我认为DEBUG.EXE仍然附带Windows(至少它与XP有关)。运行debug并输入以下脚本中的内容:

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> _

在DEBUG.EXE上阅读更多内容:http://en.wikipedia.org/wiki/Debug_(command)

INT 21显示字符串http:http://www.uv.tietgen.dk/staff/mlha/PC/Prog/asm/int/21/09.htm

答案 1 :(得分:8)

请按照以下步骤操作:

  1. here, legally获取并安装Turbo C 2.0。
  2. 复制此代码(*)
  3. 编译它。
  4. 您的hello.exe已准备好运行。
  5. 这是你应该复制的代码(*):

    int main(int argc, char **argv)
    {
       printf("Hello, world.\n");
       return 0;
    }
    

答案 2 :(得分:4)

  

DJGPP是一个完整的32位C / C ++   英特尔80386的开发系统   (和更高)运行DOS的PC。它   包括许多GNU开发的端口   公用事业。开发工具   要求80386或更新的计算机   和他们制作的节目一样。   在大多数情况下,它的程序   产品可以商业销售   没有许可证或版税。

http://www.delorie.com/djgpp/

答案 3 :(得分:2)

对于C和C ++开发,请使用以下免费和开源编译器之一:

  • DJGPP - GCC的DOS端口。它构建了32位保护模式的DOS应用程序。
  • Open Watcom - 我不熟悉这个,但它已经积极开发,可以针对16位和32位DOS,Windows和OS / 2。

答案 4 :(得分:2)

这将在DOS中的命令行调试器中直接执行。 http://www2.latech.edu/~acm/helloworld/dosdebug.html

它写的是COM文件,而不是EXE(有区别),但对你来说应该是一个好的开始。

答案 5 :(得分:0)

您想要一个MS-DOS C编译器。还有旧版本的Borland C漂浮在周围吗?此外,您可能会找到适用于DOS的GNU C编译器的端口。

答案 6 :(得分:0)

安装Turbo C / C ++ 16位编译器。然后创建新的noname00.c文件 将此代码写入其中。

//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;  
}

此编译器生成的.exe文件可以在源目录中找到 尝试在您自己的MS-DOS Box中运行它 它应该运行。

答案 7 :(得分:0)

对于Pascal,你会想要Free Pascal。它生成像DJGPP这样的32位Go32v2二进制文件,并且可以编译旧的TP代码。

Windows®> 16位Dos编译器(可生成.COM)也正在进行工作,但在工作时,尚未在已发布的分支中进行。