標籤: 暫無標籤

把彙編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。彙編程序輸入的是用彙編語言書寫的源程序,輸出的是用機器語言表示的目標程序。彙編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由彙編執行指令和彙編偽指令組成。採用彙編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是彙編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。

1詞意解釋

【漢語拼音】huibian chengxu
【中文詞條】彙編程序
【外文詞條】assembler

2簡介

彙編執行指令是機器指令的符號化表示,其操作碼用記憶符表示,地址碼直接用標號、變數名字、常數等表示。彙編執行指令經彙編程序翻譯為機器指令,二者之間基本上保持一一對應的關係。彙編偽指令又稱作彙編指示,用於向彙編程序提供用戶自定義的符號、數據的類型、數據空間的長度,以及目標程序的格式、存放位置等提示性信息,其作用是指示彙編程序如何進行彙編。

3發展過程

彙編程序的雛型是在電子離散時序自動計算機 EDSAC上研製成功的。這種系統的特徵是用戶程序中的指令由單字母指令碼、十進位地址和終結字母組成。第一個彙編程序是符號優化彙編程序(SOAP)系統,它是50年代中期為IBM650計算機研製的。這種計算機用磁鼓作存儲器,每條指令指出後繼指令在磁鼓中的位置。當初研製SOAP系統的動機不是引入彙編語言的符號化特色,而是為了集中解決指令在磁鼓中合理分佈的問題,以提高程序的運行效率。IBM704計算機的符號彙編程序(SAP)是彙編程序發展中的一個重要里程碑。此後的彙編程序大都以這一系統為模型,其主要特徵至今未發生本質的變化。隨著計算機軟體的高速發展和廣泛應用,彙編程序又吸收了宏加工程序、高級語言翻譯程序等系統的一些優點,相繼研製出宏彙編程序、高級彙編程序。

4分類

模塊彙編程序
模塊彙編程序 為適應模塊程序設計方法而研製的。它除了克服簡單彙編程序的缺點之外,還提供并行設計、編碼和調試不同程序模塊的能力,而且更改程序時只更改有關的模塊即可。每個彙編后的程序模塊稱為目標模塊,多個目標模塊經連接裝配程序組合成一個完整的可執行的程序。
宏彙編程序
宏彙編程序 主要特點是在彙編程序中增加宏加工功能。它允許用戶方便地定義和使用宏指令,適用於程序中多處出現、具有一定格式、可以通過少數參數調節改變的程序段落的場合。採用這種方法不僅減少程序的長度,增加可讀性,而且程序段落的格式需要改變時,只須改動定義處,而不必改動每一使用處。

高級彙編程序

高級彙編程序 採用高級程序設計語言的控制語句結構的彙編程序。它不僅保持彙編語言表達能力強、程序運行效率高的優點,而且能充分吸收高級語言書寫簡單和易讀的長處。這是由於高級彙編程序允許用戶使用高級程序設計語言的控制語句(如條件語句、循環語句、函數和過程)編寫程序中的控制部分,而且還允許用戶直接利用彙編語言直接控制存儲分配、存取寄存器硬體,描述高級語言難於表達的演算法。第一個高級彙編程序是N.沃思為IBM360系統研製的PL/360語言彙編程序,其特點是程序的控制部分採用高級語言的控制語句編寫,而數據加工部分採用IBM360彙編指令編寫。自此以後,又相繼出現了類似ALGOL的彙編程序,類似FORTRAN的彙編程序FAT。

5結構與實現

由於彙編語言的指令與機器語言的指令大體上保持一一對應的關係,彙編演算法採用的基本策略是簡單的。通常採用兩遍掃描源程序的演算法。第一遍掃描源程序根據符號的定義和使用,收集符號的有關信息到符號表中;第二遍利用第一遍收集的符號信息,將源程序中的符號化指令逐條翻譯為相應的機器指令。具體的翻譯工作可歸納為如下幾項:用機器操作碼代替符號操作;用數值地址代替符號地址;將常數翻譯為機器的內部表示;分配指令和數據所需的存儲單元。除了上述的翻譯工作外,彙編程序還要考慮:處理偽指令,收集程序中提供的彙編指示信息,並執行相應的功能。為用戶提供信息和源程序清單。彙編的善後處理工作,隨目標語言的類型不同而有所不同。有的直接啟動執行,有的先進行連接裝配。如果具有條件彙編、宏彙編或高級彙編功能時,也應進行相應的翻譯處理。
假定彙編語言中規定符號的應用一定出現在定義之後,則兩遍演算法可容易地合併成一遍演算法加以實現。

6工作過程

工作過程:輸入彙編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進位或浮動二進位的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已彙編出的目標程序進行善後處理。
上一篇[計算機硬體系統]    下一篇 [程序錯誤]

相關評論

同義詞:暫無同義詞