1、匯編語言的概念
定義:為特定計算機或計算機系統設計的面向機器的符號化程序設計語言。匯編程序也就是用匯編語言編寫的程序。計算機要運行匯編程序需要用專門的翻譯程序進行翻譯,然后計算機才可以識別。
匯編語句的分類:指令語句、偽指令語句和宏指令語句
1.1 指令語句
又稱機器 指令語句,翻譯后能夠產生相應的機器代碼,并且能被CPU直接識別并執行相應的操作。常見的基本指令如ADD、SUB、AND等。書寫指令必須遵循指令的格式規范。經過翻譯后會產生相應的機器代碼。指令語句是在程序運行的時候完成。
1.2 偽指令語句
指示匯編程序在翻譯源程序的時候完成某些工作,比如給變量分配存儲單元、給某個符號賦值等。翻譯后不會產生機器代碼。偽指令語句是在源程序匯編的時候完成。
1.3 宏指令語句
允許用戶多次重復使用的程序代碼段稱為宏。
2、匯編程序
2.1 匯編程序的作用
可以將所編寫的源程序翻譯成機器指令對程序,匯編程序主要工作是將每一條可以執行的匯編語句轉換為相應的機器指令,處理源程序中的偽指令。因為匯編指令中形成的操作數地址的部分可能出現在后面才會有定義的符號,所以匯編程序一般要經過兩次掃描源程序才能完成翻譯過程。
2.2 第一次掃描
第一次掃描主要工作是定義符號的值,并創建一個符號表ST,記錄了匯編時所遇到的符號的值。
MOT1:固定的機器指令表,記錄了每條機器指令的記憶碼和指令的長度。
掃描過程
1、單元計數器LC置初始值0
2、打開源程序文件
3、從源程序中讀入第一條語句
4、while(若當前語句不是End語句)
5、關閉源程序文件
2.3 第二次掃描
MOT2:機器指令表包含機器指令助記符、機器指令的二進制操作碼、格式、長度等。
第二次掃描產生目標程序。
如下圖:
? ? ? ?