匯編語言(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)。
|