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

【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: C語言中斷處理過程
- 下一篇: C語言編程時(shí)的注意事項(xiàng)

送.jpg)