2011-10-27 53 views
-2

我是計算機科學和學習彙編語言的學生。現在我想用匯編語言編寫一個項目,請告訴我用匯編語言編寫了什麼樣的應用程序。所以我選擇適合我的主題的項目。我們可以用匯編語言開發哪種軟件

+4

如果你在學校,你有沒有試過問你的教授/教練的建議? – Tim

回答

2

大會,作爲低級編程語言,可以用來開發任何東西,從一個小小的「你好,世界!編程到操作系統。曾幾何時(四十年代後期),所有開發人員必須與之合作,但隨後高級語言開始出現,人們迅速前進。

今天,使用匯編語言主要包含沒有足夠編譯器和手工優化代碼的設備。也就是說,在今天的體系結構中,很難生成一個比現代編譯器更優化的彙編代碼。

爲了您的目的,它取決於項目範圍和要求。請記住,即使是一個非常簡單的項目,就像一個基於交互式控制檯的井字遊戲在組裝中可能會相當大。這裏有一個小項目的一些例子:

  1. 猜數字:PC將選擇一個隨機數[1..100],用戶將需要猜測它。
  2. 找到除數:給出用戶的號碼,找到這個號碼的所有除數。
  3. 排列字符串:給出用戶的字符串,找到該字符串的所有排列。
+2

第一種彙編語言直到20世紀50年代纔開始 - 早在20世紀40年代,就只有機器代碼。 –

1

理論上,您可以使用匯編語言構建任何軟件;但是,僅在下列情況下才使用匯編語言:

(1)直接與硬件通信。例如,編寫硬件驅動程序。 (2)使用底層操作系統服務(或破解操作系統)。例如,編寫病毒或防病毒軟件。

(3)編寫高效程序。彙編代碼會生成非常小的可執行文件。如果要運行該程序的設備的內存非常有限,則這是完美的選擇。另外,理論上和大多數時候,Assemble程序運行速度比使用高級語言創建的程序要快。

根據我的經驗,一個真實的例子是我用匯編語言攔截Windows API,很久以前就向英語Windows 98引入了一些阿拉伯語言服務。另外,我不得不使用Assemble語言來創建一個阿拉伯字符串實用程序,該實用程序經常被核心使用,並且證明使用Assemble語言是一個正確的選擇。

+0

-1這是錯誤的。我(和其他許多人)已經在組裝中開發了許多Windows GUI應用程序。雖然不使用HLA,但源代碼非常明確(並且比許多等效的C/C++/java和其他應用程序更容易理解)。在組裝中開發並不需要花費更多時間,而是需要在更高級別上進行開發語言。 –

+0

是的。在Assemble中有很多應用程序。但使用Assembly for Desktop GUI應用程序是不切實際的。我敢打賭,我(和許多其他人)可以比使用Assembly更快地創建使用VB/C#的GUI應用程序。如果您發現使用Assemble創建GUI應用程序需要花費與使用高級語言相同的時間,那麼現在絕對是您開始更詳細地查看高級語言的合適時間。另外不要忘記澄清誰是「許多其他人」。 – carawan

+0

有用於彙編的資源編譯器(winasm也可以讓你像VB一樣放置組件),我可以在幾分鐘內製作一個複雜的GUI。其餘的我可以使用Windows API。這與衆不同。我建議你看看可用的工具。 –