作者簡介:呂菊慧(1976-),女,本科,助教,研究方向:計算機應用與研究;
李娜娜(1981-),女,商丘市人,本科,助理實驗師,研究方向:計算機教學與研究。
摘要:C語言和匯編語言原本各自獨立,在單片機程序設計中各具優勢。為減輕程序開發難度,并提高程序的效率,將兩種設計語言混合是最好的方式。主要對混合編程機理以及函數的混合調用進行了分析。
關鍵詞:C語言;匯編語言;混合編0.引言
當前的單片機系統程序設計多依靠兩種設計語言完成,一是C語言,它具有良好的可讀性和較強的可移植性,不足之處在于難以精確控制程序的運行時間,而且編碼效率較低;二是匯編語言,其編碼效率高,但是可讀性并不理想,且數據運算處理函數設計極為復雜。在提高運行效率的同時,為了能降低開發難度,將C語言和匯編語言混合使用成了研究重點。
1.原理
設計人員在利用純匯編語言設計程序時,常會出現代碼重疊的情況,這就要求綜合代碼長度、代碼段的起始地址等因素加以考慮;設計中斷服務函數時,需保證代碼定位的準確性;使用數據段時,需合理分配寄存器空間,為提高對空間的利用率,通常還會涉及數據生存期等問題。如果使用純C語言進行編程,則無需考慮這些問題,可將其交由編譯器和連接器完成。基于C語言的程序最終經編譯器轉換,會形成包含有代碼段定位、寄存器使用狀況等信息的匯編語言文件。因此,在今后可以此匯編文件規范進行匯編程序的編寫工作,從而使得編譯器和連接器將C語言代碼和匯編代碼相結合。……