組合語言是一種功能很強的程式設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。組合語言,作為一門語 組合語言
言,對應於高階語言的編譯器,需要一個“彙編器”來把組合語言原檔案彙編成機器可執行的程式碼。高階的彙編器如MASM,TASM等等為我們寫彙編程式提供了很多類似於高階語言的特徵,比如結構化、抽象等。在這樣的環境中編寫的彙編程式,有很大一部分是面向彙編器的偽指令,已經類同於高階語言。現在的彙編環境已經如此高階,即使全部用匯編語言來編寫windows的應用程式也是可行的,但這不是組合語言的長處。組合語言的長處在於編寫高效且需要對機器硬體精確控制的程式。 大多數情況下Linux程式設計師不需要使用匯編語言,因為即便是硬體驅動這樣的底層程式在Linux作業系統中也可以用完全用C語言來實現,再加上GCC這一優秀的編譯器目前已經能夠對最終生成的程式碼進行很好的最佳化,的確有足夠的理由讓我們可以暫時將組合語言拋在一邊了。但實際情況是Linux程式設計師有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和libc無關性。假設要移植Linux到某一特定的嵌入式硬體環境下,首先必然面臨如何減少系統大小、提高執行效率等問題,此時或許只有組合語言能幫上忙了。
打字不易,如滿意,望採納。
組合語言是一種功能很強的程式設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。組合語言,作為一門語 組合語言
言,對應於高階語言的編譯器,需要一個“彙編器”來把組合語言原檔案彙編成機器可執行的程式碼。高階的彙編器如MASM,TASM等等為我們寫彙編程式提供了很多類似於高階語言的特徵,比如結構化、抽象等。在這樣的環境中編寫的彙編程式,有很大一部分是面向彙編器的偽指令,已經類同於高階語言。現在的彙編環境已經如此高階,即使全部用匯編語言來編寫windows的應用程式也是可行的,但這不是組合語言的長處。組合語言的長處在於編寫高效且需要對機器硬體精確控制的程式。 大多數情況下Linux程式設計師不需要使用匯編語言,因為即便是硬體驅動這樣的底層程式在Linux作業系統中也可以用完全用C語言來實現,再加上GCC這一優秀的編譯器目前已經能夠對最終生成的程式碼進行很好的最佳化,的確有足夠的理由讓我們可以暫時將組合語言拋在一邊了。但實際情況是Linux程式設計師有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和libc無關性。假設要移植Linux到某一特定的嵌入式硬體環境下,首先必然面臨如何減少系統大小、提高執行效率等問題,此時或許只有組合語言能幫上忙了。
打字不易,如滿意,望採納。