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