您的位置:網站首頁 > 電器維修資料網 > 正文 >
C語言與匯編語言程序的混合編程
來源: 日期:2013-12-18 14:00:46 人氣:標簽:
c51編譯器能對c語言源程序進行高效率的編譯,生成高效簡潔的代碼,在絕大多數場合采用c語言編程即可完成預期的目的。但有時為了編程直觀或某些特殊地址的處理,還須采用一定的匯編語言編程。而在另一些場合,出于某種目的,匯編語言也可調用c語言。在這種混合編程中,關鍵是參數的傳遞和函數的返回值。它們必須有完整的約定,否則數據的交換就可能出錯。
c語言調用匯編語言程序一般有兩種方法:
一種是對匯編函數名等定義使用c語言,但是在函數的內部是通過#pragma asm和#pragma endasm關鍵字來寫入匯編程序;另一種方式是將所有的與函數有關的代碼都用匯編來實現,這些匯編代碼存成單獨的文件,以 a51和.asm為文件后綴名,并將其天添加到項目中,然后在要調用這些匯編程序的c文件中使用exter關鍵字來定義出函數原型,這樣就可以直接對其進行調用了。由于第一種方法比較簡單,所以第一種方法也就被廣大的設計人員所采用,限于篇幅關系,這里通過一個簡單的例子介紹一下第一種調用方法。
例:在主程序(c語言編寫)中調用一個簡單的匯編語言延時子程序。
#pragrna src//注意這個語句是加在程序開頭的。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: C語言中斷處理過程
- 下一篇: C語言編程時的注意事項