這是我在編程中積累的經驗,希望對大家有用!
如何實現C51和匯編的混合編程
(文中用到的編譯器一律為keil)
1、首先來個范例,并從這個范例展開說明:
............ //C51 Code here
#pragma ASM
............. //Here is the Assembler Code
#pragma ENDASM
........... //C51 Code here
2、看到范例,大家應該對實現C51和匯編的混合有個大概了解了,呵呵,
其實也就這么一回事。
但是我們還必須要做一些前提工作,首先在Project窗口中包含匯編代碼(
ASM)的C文件單擊右鍵,選擇“Options for ...”,然后點擊“Generate
Assembler SRC File”和“Assemble SRC File”
3、根據選擇的編譯模式,把相應的庫文件加入工程,應該注意的是,這個
文件必須作為該工程的最后一個文件
4、大家可以復制下面這個C51和匯編的混編代碼練習一下,加深印象
#i nclude <reg51.h>
void main(void)
{
P2=0x00;
#pragma asm
MOV R7,#10
#pragma endasm
P2=0xff;
}
5、上面的過程掌握了以后,我們再來看一下如何實現無參數傳遞的函數調
用
例如我們要調用一個延時函數delay()
//C51
extern void delayms(); //聲明
int main()
{
delayms(); //調用
}
6、有參傳遞
其實是一樣的,就是在子函數中加了參數罷了
例如:int delay(int minite,int second,……)//參數可以多個
求助!!!! 大俠,我還是不知道.我是初學者!!
o(∩_∩)o...學習了
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |