2010-04-15 146 views
6

一個開放的問題 - 但我無法找到任何啓​​動!MSDOS「Hello World」EXE

我想編譯一個「Hello World」的MS-DOS exe文件。

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

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

Thanksyou!

+2

什麼(編程)語言? – wqw 2010-04-15 12:11:15

+3

呼應的Hello World (會寫什麼u需要),也許你需要更具體的東西,告訴我們 – 2010-04-15 12:15:22

+1

這裏有許多語言(OS旁列出它們)的例子。正如其他人所指出的 - 很可能您將使用C,C++,彙編甚至批處理。 http://www.ntecs.de/old-hp/uu9r/lang/html/lang.en.html – ktharsis 2010-04-15 12:19:14

回答

23

我覺得DEBUG.EXE還附帶了窗口(至少它與XP一樣)。運行調試和大致如下成績單的行中輸入的內容:

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

+3

舊學校的+1 – 2010-04-15 12:42:05

+0

所有的答案都非常有幫助 - 但是當你爲我打開一扇門時:)授予謝謝! – divinci 2010-04-19 16:43:53

+0

它不在Windows 7 x64中,可能是因爲它是一個16位應用程序。 – nyuszika7h 2011-02-11 18:10:18

0

你想要一個MS-DOS C編譯器。 Borland C還存在一箇舊版本嗎?另外,您可能會發現DOS的GNU C編譯器的端口。

7

遵循以下步驟:

  1. 獲取和安裝here, legally的Turbo C 2.0。 (*)
  2. 編譯它。
  3. 您的hello.exe已準備好運行。

這是代碼,您應該複製(*):

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

還有DJGPP,這是真正的免費軟件,而不只是放棄:http://www.delorie.com/djgpp/ – 2010-04-15 12:17:41

+1

是的,看到我的答案;) – 2010-04-15 12:18:19

+0

完全同意你們倆。我只是喜歡老Borland編譯器。他們真棒! – 2010-04-15 12:27:12

4

DJGPP是一個完整的32位C/C++ 開發系統爲英特爾運行DOS 80386 (或更高版本)的個人電腦。它 包括許多GNU開發 實用程序的端口。開發工具 需要80386或更新的計算機運行,它們所生成的程序也是如此。 在大多數情況下,它生產的程序可以在沒有許可證或版稅的情況下以商標 出售。

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

2

對於C和C++開發,利用這些免費的開源編譯器之一:

  • DJGPP - GCC的DOS端口。它構建32位保護模式DOS應用程序。
  • Open Watcom - 我不太熟悉這個,但它是積極開發的,可以定位16位和32位DOS,Windows和OS/2。
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中運行它。
它應該運行。

0

Pascal的你將要Free Pascal。它生成32位Go32v2二進制文件(如DJGPP),並可以編譯舊的TP代碼。

工作也正在對Windows的> 16位DOS編譯器(可生成.COM)來完成,但工作時,是不是在釋放分支呢。