匯編語言(Assembly Language) 是面向機器的程序設(shè)計語言。在匯編語言中,,用助記符(Memoni)代替機器指令的操作碼,,用地址符號(Symbol)或標(biāo)號(Label)代替指令或操作數(shù)的地址,如此就增強了程序的可讀性和編寫難度,,象這樣符號化的程序設(shè)計語言就是匯編語言,,因此亦稱為符號語言。使用匯編語言編寫的程序,,機器不能直接識別,,還要由匯編程序或者叫匯編語言編譯器轉(zhuǎn)換成機器指令。匯編程序?qū)⒎柣牟僮鞔a組裝成處理器可以識別的機器指令,,這個組裝的過程稱為組合或者匯編,。因此,,有時候人們也把匯編語言稱為組合語言。
匯編語言特點
1.機器相關(guān)性,。
這是一種面向機器的低級語言,,通常是為特定的計算機或系列計算機專門設(shè)計的。因為是機器指令的符號化表示,,故不同的機器就有不同的匯編語言,。使用匯編語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序,。
2.高速度和高效率,。
匯編語言保持了機器語言的優(yōu)點,具有直接和簡捷的特點,,可有效地訪問,、控制計算機的各種硬件設(shè)備,如磁盤,、存儲器、CPU,、I/O端口等,,且占用內(nèi)存少,執(zhí)行速度快,,是高效的程序設(shè)計語言,。
3.編寫和調(diào)試的復(fù)雜性。
由于是直接控制硬件,,且簡單的任務(wù)也需要很多匯編語言語句,,因此在進行程序設(shè)計時必須面面俱到,需要考慮到一切可能的問題,,合理調(diào)配和使用各種軟,、硬件資源。這樣,,就不可避免地加重了程序員的負擔(dān),。與此相同,在程序調(diào)試時,,一旦程序的運行出了問題,,就很難發(fā)現(xiàn)。
匯編語言優(yōu)點
1,、因為用匯編語言設(shè)計的程序最終被轉(zhuǎn)換成機器指令,,故能夠保持機器語言的一致性,直接,、簡捷,,并能象機器指令一樣訪問,、控制計算機的各種硬件設(shè)備,如磁盤,、存儲器,、CPU、I/O端口等,。使用匯編語言,,可以訪問所有能夠被訪問的軟、硬件資源,。
2,、目標(biāo)代碼簡短,占用內(nèi)存少,,執(zhí)行速度快,,是高效的程序設(shè)計語言,經(jīng)常與高級語言配合使用,,以改善程序的執(zhí)行速度和效率,,彌補高級語言在硬件控制方面的不足,應(yīng)用十分廣泛,。
匯編語言缺點
1,、匯編語言是面向機器的,處于整個計算機語言層次結(jié)構(gòu)的底層,,故被視為一種低級語言,,通常是為特定的計算機或系列計算機專門設(shè)計的。因此,,不同的處理器有不同的匯編語言語法和編譯器,,編譯的程序無法在不同的處理器上執(zhí)行,缺乏可移植性;
2,、難于從匯編語言代碼上理解程序設(shè)計意圖,,可維護性差,即使是完成簡單的工作也需要大量的匯編語言代碼,,很容易產(chǎn)生bug,,難于調(diào)試;
3、使用匯編語言必須對某種處理器非常了解,,而且只能針對特定的體系結(jié)構(gòu)和處理器進行優(yōu)化,,開發(fā)效率很低,周期長且單調(diào),。