錯誤,組譯程式不是用多種語言混合寫的程式。彙編程式是指把組合語言書寫的程式翻譯成與之等價的機器語言程式的翻譯程式。彙編程式輸入的是用組合語言書寫的原始程序,輸出的是用機器語言表示的目標程序。
組合語言是為特定電腦或電腦系列設計的一種面向機器的語言,由彙編執行指令和彙編偽指令組成。
採用組譯語言編寫程式雖不如高階程式設計語言簡便、直觀,但是彙編的目標程式佔用記憶體較少、運作效率較高,且能直接引用電腦的各種裝置資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和即時性要求較高的程序段。
背景資訊
彙編執行指令是機器指令的符號化表示,其操作碼用記憶符表示,地址碼直接用標號、變數名字、常數等表示。彙編執行指令經組譯程式翻譯為機器指令,二者之間基本上保持一一對應的關係。彙編偽指令又稱作彙編指示,用於向彙編程式提供使用者自訂的符號、資料的類型、資料空間的長度,以及目標程式的格式、存放位置等提示性訊息,其作用是指示彙編程式如何進行彙編。使用彙編語言編寫的原始程式碼,需要透過使用相應的彙編程式將它們轉換成可執行的機器碼。這個過程被稱為彙編過程。
許多彙編程式可以識別代表位址和常數的標籤(label)和符號(symbols),這樣就可以用字元來代表操作數而無需採取寫死的方式。普遍地說,特定的組合語言和特定的機器語言指令集是一一對應的。
許多彙編程式為程式開發、彙編控制、輔助偵錯提供了額外的支援機制。有的彙編語言程式設計工具經常會提供宏,它們也被稱為宏彙編器。
彙編語言不像其他大多數的程式設計語言一樣被廣泛用於程式設計;在實際應用中,它通常被應用在底層硬體操作和高要求的程式最佳化的場合。驅動程式、嵌入式作業系統和即時運行程式都需要彙編語言。
分類
簡單組譯程式
簡單組譯程式 又稱「裝入並執行」式組譯器。由於簡單而廣泛使用。這種彙編程式的特點是彙編後的機器語言程式直接放在記憶體之中準備執行。目標程序所佔據的儲存位置是在彙編時固定的,而且以後不能改變,所以這種工作方式不能將多個獨立彙編的子程序合併為一個完整的程序,而且只能調用位置與目標程序不衝突的程式庫中的子程序。
模組彙編程式
模組彙編程式 為適應模組程式設計方法而研發的。它除了克服簡單彙編程式的缺點之外,還提供並行設計、編碼和調試不同程式模組的能力,而且更改程式時才更改相關的模組即可。每個彙編後的程式模組稱為目標模組,多個目標模組經連接組裝程式組合成一個完整的可執行的程式。
條件彙編程式
條件彙編程式 主要特點是具有選擇彙編某些程式段的能力。它適用於編寫選擇性較大的程式或程式包,以便根據使用者的需求和設備的配置情況剪裁、編制適當的軟體。這種彙編語言通常要引入「條件轉移」、「轉移」等彙編指示,以便根據使用者指定的彙編條件選擇性地彙編某些程式段或控制彙編程式的加工路徑。
巨集彙編程式
巨集彙編程式 主要特點是在組譯器中增加巨集加工功能。它允許使用者方便地定義和使用巨集指令,適用於程式中多處出現、具有一定格式、可以透過少數參數調節改變的程式段落的場合。採用此方法不僅減少程式的長度,增加可讀性,而且程式段落的格式需要改變時,只須改動定義處,而不必改動每一使用處。
高階組譯器
高階組譯器 採用高階程式設計語言的控制語句結構的組譯器。它不僅保持組合語言表達能力強、程式運作效率高的優點,還能充分吸收高階語言書寫簡單易讀的長處。
這是由於高階彙編程式允許使用者使用高階程式設計語言的控制語句(如條件語句、循環語句、函數和流程)編寫程式中的控制部分,而且還允許使用者直接利用彙編語言直接控制儲存分配、存取暫存器硬件,描述高階語言難於表達的演算法。
第一個高階彙編程序是N.沃斯為IBM360系統開發的PL/360語言彙編程序,其特點是程式的控制部分採用高級語言的控制語句編寫,而資料加工部分採用IBM360彙編指令編寫。自此以後,又相繼出現了類似ALGOL的組譯程序,類似FORTRAN的組譯程式FAT。
更多相關知識,請造訪:PHP中文網!
以上是彙編程式就是用多種語言混合編寫的程式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!