匯編語(yǔ)言是任何一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱為符號(hào)語(yǔ)言。在匯編語(yǔ)言中,用助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語(yǔ)言對(duì)應(yīng)著不同的機(jī)器語(yǔ)言指令集,通過(guò)匯編過(guò)程轉(zhuǎn)換成機(jī)器指令。
一、匯編語(yǔ)言簡(jiǎn)介
匯編語(yǔ)言, 即第二代計(jì)算機(jī)語(yǔ)言,用一些容易理解和記憶的字母,單詞來(lái)代替一個(gè)特定的指令,比如:用“ADD”代表數(shù)字邏輯上的加減,“ MOV”代表數(shù)據(jù)傳遞等等,通過(guò)這種方法,人們很容易去閱讀已經(jīng)完成的程序或者理解程序正在執(zhí)行的功能,對(duì)現(xiàn)有程序的bug修復(fù)以及運(yùn)營(yíng)維護(hù)都變得更加簡(jiǎn)單方便。但計(jì)算機(jī)的硬件不認(rèn)識(shí)字母符號(hào),這時(shí)候就需要一個(gè)專門(mén)的程序把這些字符變成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制數(shù)。因?yàn)閰R編語(yǔ)言只是將機(jī)器語(yǔ)言做了簡(jiǎn)單編譯,所以并沒(méi)有根本上解決機(jī)器語(yǔ)言的特定性,所以匯編語(yǔ)言和機(jī)器自身的編程環(huán)境息息相關(guān),推廣和移植很難,但是還是保持了機(jī)器語(yǔ)言優(yōu)秀的執(zhí)行效率,因?yàn)樗目砷喿x性和簡(jiǎn)便性,匯編語(yǔ)言到現(xiàn)在依然是常用的編程語(yǔ)言之一。 [2] 匯編語(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ǔ)言。
二、匯編語(yǔ)言組成
由于匯編指令系統(tǒng)龐大,因而需構(gòu)建指令系統(tǒng)體系,其指令數(shù)量龐大,格式復(fù)雜,可記憶性差等。指令中最難的是指令所支持的尋址方式,其實(shí)質(zhì)就是指令中操作數(shù)如何獲取。對(duì)于處理器而言,就是如何找到他所需的數(shù)據(jù)。但對(duì)于計(jì)算機(jī)底層的匯編語(yǔ)言而言,這種尋址方式將涉及大量的計(jì)算存儲(chǔ)格式,與 復(fù)雜的存儲(chǔ)管理方式緊密相關(guān),因而難以理解。最后,匯編指令還關(guān)系到如何影響標(biāo)志位,但處理器標(biāo)志位非常復(fù)雜,因而對(duì)其機(jī)制掌握就比較困難。
三、匯編語(yǔ)言優(yōu)點(diǎn)
可以輕松的讀取存儲(chǔ)器狀態(tài)以及硬件I/O接口情況
編寫(xiě)的代碼因?yàn)樯倭撕芏嗑幾g的環(huán)節(jié),可以能夠準(zhǔn)確的被執(zhí)行
作為一種低級(jí)語(yǔ)言,可擴(kuò)展性很高