康晶晶
摘 要: 匯編語言作為一種面向機器的語言,具有占用存儲空間小、運行速度快的優點,并可直接控制硬件,在某些場合具有重要的作用;然而,匯編語言的編寫和調試卻相對困難和復雜,在進行數值混合運算與數據處理上尤為突出。C語言具有開發效率高,功能豐富、使用靈活、表達能力強的優點。在軟件開發中,采用匯編語言與C語言混合程序設計技術,能有效提高運行效率。筆者結合自身工作經驗,具體探討了這一混合程序設計技術,希望能為廣大同行提供借鑒。
關鍵詞: 匯編語言; C語言; 混合編程
中圖分類號:TP311.1 文獻標志碼:A 文章編號:1006-8228(2013)06-01-02
Exploration on design technique of hybrid programming of assembly language and C language
Kang Jingjing
(Institute of Information, Shanxi Agricultural University, Jinzhong, Shanxi 030800, China)
Abstract: Assembly language, as a machine-oriented language, has advantages of less storage space and faster processing, and can directly control hardware. It plays an important role in some occasions. However, writing and debugging in assembly language are relatively difficult and complicated, especially when conducting numerical hybrid computing and data processing. C language shows strengths of high efficiency of development, abundant feature, flexibility, strong expression abilities. During developing software, hybrid programming of assembly language and C language can effectively improve operational efficiency. Combined with author's own work experience, the technique is discussed in detail, in order to provide a reference for the peers.
Key words: assembly language; C language; hybrid programming
0 引言
在大型程序的設計中,如果將匯編語言程序和高級語言程序結合使用,能充分發揮其各自的優點,實現兩種語言的混合編程。在程序設計中,C語言可以調用匯編語言的子程序,而匯編語言也可調用C語言的子程序,還可在C語言程序中嵌入匯編語句,具有極大的優點[1]。同時,在混合編程中,模塊的連接、參數的傳遞和調用關系的確定等都是應當引起編程者注意的重要問題。
1 匯編語言與C語言混合編程的方法
匯編語言與C語言混合編程的方法主要包括以下幾種:
⑴ 在C語言程序中使用匯編程序定義的常量與變量[2];
⑵ 在C語言程序中內嵌匯編語句,實現C語言不能做到的對硬件的控制功能;
⑶ 在C語言程序中使用內部函數調用匯編語句;
⑷ 混合編程時,單個任務可被分成若干個功能模塊,每個功能模塊均以子程序或函數的形式存在,根據各單一模塊的特點,選擇合適的編程語言進行獨立編程,然后通過對應的語言編譯系統編譯成目標文件,最后將諸多目標文件集合在一起成為一個可執行文件。……