彙編語言的特點
計算機的程式設計語言(簡稱計算機語言)是人們用來給計算機描述操作任務的工具。
由于計算機是一種數字邏輯裝置,它隻能識别用二進制代碼表示的資訊,是以,最初的計算機語言是直接用二進制代碼來表述的,這就是機器語言。機器語言的基本要素是機器指令(簡稱指令),每條指令用于給計算機下達一個簡單操作任務,一個複雜的解題任務需要按一定的順序執行多條指令才能完成。這種按一定順序排列起來的指令序列就是程式。
機器語言的優點是程式執行速度快、占用存儲空間小,缺點是語言難以掌握,程式調試和排錯困難,需要對計算機的硬體系統有較多的了解。
為了便于掌握和使用,人們将機器語言符号化,産生了彙編語言。彙編語言使用一些容易掌握和使用的符号來表示每條指令,使程式設計和調試更加友善。
例如,在8086系統中,以下機器指令代碼
所描述的操作為:将0号16位寄存器中的資料與3号16位寄存器中的資料相加,其和存入0号16位寄存器。這串二進制代碼中,各部分所代表的含義如下圖(機器指令代碼分析)所示。

顯然,要熟練掌握和使用這種機器指令代碼是很困難的。而彙編語言則把一條機器指令的操作性質和操作對象分别用符号表示。如在8086系統的彙編語言中,上述指令被符号化為:
其中,ADD代表相加操作,AX代表0号16位寄存器,BX代表3号16位寄存器。彙編 語言指令中所使用的這些符号稱為助記符,這種符号化的彙編語言指令顯然更容易掌握和使用。
由于計算機不能直接了解彙編語言的符号系統,是以,需要一個轉換工具來将用彙編語言編寫的程式轉換成機器語言程式,這個轉換工具叫作彙程式設計式。
計算機的程式設計語言分為低級語言和進階語言兩大類,其中,機器語言和彙編語言屬于低級語言,其餘均為進階語言。語言的“進階”與“低級”之分,并不是指語言之間的優劣,而是指語言的使用是否直接涉及計算機的硬體。進階語言在使用過程中,不用(或基本上不用)直接與計算機的硬體打交道,而使用低級語言則時刻需要直接操作計算機的硬體。
例如,用彙編語言程式設計時,必須準确指出資料存放的地方一一某個寄存器、某個存儲單元或某個I/O端口,必須直接控制相關的裝置完成資料的輸入/輸出。而用進階語言程式設計時,則無須關心一個資料究竟是存放在寄存器中,還是存放在記憶體中,而當需要輸入或輸出資料時,隻要寫出一條輸入或輸出語句即可,不用直接去控制相關的輸入/輸出裝置。
相對于彙編語言,進階語言更便于描述複雜的程式控制結構及處理功能,更接近人們的語言習慣,并且基本上不直接涉及計算機硬體概念,是以更容易掌握和使用。但用任何一種進階語言編寫的程式,都必須轉換成機器語言程式才能被計算機執行。完成這種轉換任務的工具叫作編譯程式,每種進階語言都要配備自己的編譯程式。
直接用彙編語言程式設計雖然困難一些,但編出的程式時、空效率高(即運作速度快,占用存儲空間少):而用進階語言編寫的程式由編譯程式轉換為機器代碼後,并不是最優化的執行代碼,其時、空效率要低得多。此外,在需要直接控制計算機硬體的應用場合,彙編語言比進階語言更靈活、友善,甚至是非用彙編語言不可的。 是以,彙編語言與進階語言各有其應用場合,學習和掌握彙編語言程式設計方法,是提高計算機應用能力的重要基礎。
值得指出的是,低級語言是與計算機硬體系統的功能設計、組成結構密切相關的,是以,不同系列的計算機,其低級語言是不相容的。盡管如此,其彙編語言的基本特點及程式設計的基本方法是相通的。