欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13121|回復: 8
打印 上一主題 下一主題
收起左側

[原創]如何實現c51和asm的混編

[復制鏈接]
跳轉到指定樓層
樓主
ID:7 發表于 2008-6-9 19:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

這是我在編程中積累的經驗,希望對大家有用!

如何實現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,……)//參數可以多個

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

無效樓層,該帖已經被刪除
板凳
ID:3490 發表于 2008-7-20 09:02 | 只看該作者

求助!!!! 大俠,我還是不知道.我是初學者!!

回復

使用道具 舉報

地板
ID:2902 發表于 2008-7-27 22:37 | 只看該作者

o(∩_∩)o...學習了

回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
6#
ID:67887 發表于 2014-10-27 20:50 | 只看該作者
高手。。。。。
回復

使用道具 舉報

7#
ID:50881 發表于 2014-11-10 13:35 | 只看該作者
頂!!!!!!!
回復

使用道具 舉報

8#
ID:72947 發表于 2015-1-31 23:00 來自觸屏版 | 只看該作者
正想研究這個方法呢……頂一個
回復

使用道具 舉報

9#
ID:103327 發表于 2016-1-26 18:40 | 只看該作者
很不錯,樓主厲害,謝樓主!支持一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表