匯編語言(Assembly Language)是面向機器的程序設(shè)計語言.匯編語言是一種功能很強的程序設(shè)計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編語言”作為一門語言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。高級的匯編器如MASM, TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。
在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。因此匯編語言亦稱為符號語言。
使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編語言編譯器把匯編程序翻譯成機器語言的過程稱為匯編。
匯編語言比機器語言易于讀寫、調(diào)試和修改,同時具有機器語言全部優(yōu)點。但在編寫復(fù)雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。
匯編語言的特點:
1.面向機器的低級語言,通常是為特定的計算機或系列計算機專門設(shè)計的。
2.保持了機器語言的優(yōu)點,具有直接和簡捷的特點。
3.可有效地訪問、控制計算機的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。
4.目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。
5.經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。
匯編語言的應(yīng)用:
1.70%以上的系統(tǒng)軟件是用匯編語言編寫的。
2.某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。
3.某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。
匯編語言是我們理解整個計算機系統(tǒng)的最佳起點和最有效途徑
人們經(jīng)常認為匯編語言的應(yīng)用范圍很小,而忽視它的重要性。其實匯編語言對每一個希望學(xué)習(xí)計算機科學(xué)與技術(shù)的人來說都是非常重要的,是不能不學(xué)習(xí)的語言。
所有可編程計算機都向人們提供機器指令,通過機器指令人們能夠使用機器的邏輯功能。
所有程序,不論用何種語言編制,都必須轉(zhuǎn)成機器指令,運用機器的邏輯功能,其功能才能得以實現(xiàn)。
機器的邏輯功能,軟件系統(tǒng)功能構(gòu)筑其上,硬件系統(tǒng)功能運行于下。
匯編語言直接描述機器指令,比機器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,能夠感知、體會、理解機器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。
學(xué)習(xí)匯編語言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個計算機系統(tǒng)的最佳起點和最有效途徑。