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