2014-02-07 47 views
0

大會(據我所知)是最低級的語言。它直接與硬件和內存進行通信(再次,盡我所知)。使用Assembly開發實際應用程序是否實用?

使用Assembly開發實際應用程序(即使它只是基於文本的控制檯應用程序)是否可能(即使需要很長時間)? (比Hello World更復雜的應用程序)。這有沒有完成?或者,大會是否曾經「幫助」過像C這樣的高級語言?

+0

彙編程序通常轉換爲_macro彙編程序_。這意味着,在彙編器上已經有了另一種語言水平。除此之外,每位高效程序員都追求提高描述程序行爲的抽象級別。這意味着使用所有可用的工具編譯編譯時間和運行時語言(和解釋器)。編碼速度的差異在於其他現有語言是否已經說出您的應用程序。 –

+0

可能但不實際。找到熱點 - [90/10規則](http://en.wikipedia.org/wiki/Program_optimization#Bottlenecks) - 然後考慮更高效的算法。如果您必須*具有程序集可能提供的最終性能提升,那麼不能有效地封裝或由語言/編譯器公開,那麼值得考慮。陡峭的學習曲線,時間投資,不可寬恕的錯誤,維護和便攜性問題是值得的嗎?摩爾定律在幾個月內吃掉了5%的加速度值得嗎? ......再一次,一些熟悉使得更好的程序員。 –

回答

2

是,Yes和No.

彙編代碼是非常低的水平,因爲它直接模仿硬件理解的指令。還有另一個層次更深,這將是純粹的二進制代碼,但現在確實沒有人再使用它(儘管在計算機開始時已經完成)。但是沒有什麼能夠阻止你編寫整個應用程序。實際上,C編譯器(或任何其他高級編譯器)會在將代碼轉換爲二進制代碼之前,先將代碼轉換爲(某種類型)程序集。一些編譯器甚至允許你導出彙編代碼。沒有任何東西可以阻止你自己寫。

整個操作系統已經使用匯編編寫。實際上,即使是現在,您真正需要的唯一組件也是操作系統的核心,因爲實際上沒有對您需要的指令提供高級支持。

相關問題