匯編�(yǔ)言(Assembly Language)是指用指令助記符代替機(jī)器碼的編程語(yǔ)言,是一種與硬件緊密相關(guān)的程序設(shè)�(jì)低級(jí)�(yǔ)言。匯編語(yǔ)言程序�(jié)�(gòu)�(jiǎn)�,執(zhí)行速度快,程序易優(yōu)�,編譯后占用存儲(chǔ)空間小,�單片�(jī)�(yīng)用系�(tǒng)�(kāi)�(fā)中最常用的程序設(shè)�(jì)�(yǔ)言。匯編語(yǔ)言的缺�(diǎn)是可讀性比較差,只有熟悉單片機(jī)的指令系�(tǒng),并具有一定的程序�(shè)�(jì)�(jīng)�(yàn),才能研制出功能�(fù)雜的�(yīng)用程��
匯編�(yǔ)言不像其他大多�(shù)的程序設(shè)�(jì)�(yǔ)言一樣被廣泛用于程序�(shè)�(jì);在今天的實(shí)際應(yīng)用中,它通常被應(yīng)用在底層硬件操作和高要求的程序優(yōu)化的�(chǎng)合。驅(qū)�(dòng)程序�嵌入式操作系�(tǒng)和實(shí)�(shí)�(yùn)行程序都需要匯編語(yǔ)言�
?�?)與�(jī)器指令一一�(duì)�(yīng)。用匯紡�(yǔ)言編制的程序效率高,占用存�(chǔ)空間�,運(yùn)行速度�。匯編語(yǔ)言能編寫出化的程序,且能反映計(jì)算機(jī)的實(shí)際運(yùn)行情況�
?�?)較�(yǔ)言編寫困難。因?yàn)閰R編語(yǔ)言是面向計(jì)算的,程序設(shè)�(jì)人員必須�(duì)�(jì)算機(jī)有相�(dāng)深入的了�,才能使用匯編語(yǔ)言編制程序�
?�?)匯編語(yǔ)言能直接訪�(wèn)硬件部件與接口電路�
?�?)缺乏通用性,程序不易移植。不同計(jì)算機(jī)的匯編語(yǔ)言之間是不能通用�,因?yàn)樗鼈兏髯远加羞m合于自己�(jī)型特�(diǎn)的匯編語(yǔ)言。但�,掌握了一種計(jì)算機(jī)的匯編語(yǔ)言,有助于�(xué)�(xí)其他�(jì)算機(jī)的匯編語(yǔ)言�
使用匯編�(yǔ)言�(shè)�(jì)一�(gè)程序大致上可分為以下幾�(gè)步驟� 1、分析題�,明確要求� 2、確定算�� 3、畫程序流程�,用圖解�(lái)描述和說(shuō)明解題步驟� 4、分配內(nèi)存工作單元,確定程序與數(shù)�(jù)區(qū)的存放地址� 5、編寫源程序 6、程序優(yōu)�� 7、上�(jī)�(diào)�、修改和確定源程序�
匯編�(yǔ)言作為最基本的編程語(yǔ)言之一,匯編語(yǔ)言雖然�(yīng)用的范圍不算很廣,但重要性卻勿庸置疑,因?yàn)樗軌蛲瓿稍S多其它語(yǔ)言所�(wú)法完成的功能。就拿Linux�(nèi)核來(lái)�,雖然絕大部分代碼是用C�(yǔ)言編寫的,但仍然不可避免地在某些關(guān)鍵地方使用了匯編代碼,其中主要是在Linux的啟�(dòng)部分。由于這部分代碼與硬件的關(guān)系非常密�,即使是C�(yǔ)言也會(huì)有些力不從心,而匯編語(yǔ)言則能夠很好揚(yáng)�(zhǎng)避短,限度地�(fā)揮硬件的性能�
1.70%以上的系�(tǒng)軟件是用匯編�(yǔ)言編寫��
2.某些快速處�、位處理、訪�(wèn)硬件�(shè)備等高效程序是用匯編�(yǔ)言編寫��
3.某些繪圖程序、視頻游戲程序是用匯編語(yǔ)言編寫��
匯編�(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)�