日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
C51和匯編混合編程(3)-有參數(shù)傳遞的函數(shù)調(diào)用
C51和匯編混合編程(3)-有參數(shù)傳遞的函數(shù)調(diào)用
 更新時(shí)間:2009-7-9 16:49:42  點(diǎn)擊數(shù):0
【字體: 字體顏色

        舉個(gè)例子吧,void delay(unsigned char i, unsigned int j)  當(dāng)執(zhí)行語(yǔ)句delay(10,1000)時(shí),10會(huì)存入R7中,1000高位會(huì)存入R4中,低位存入R5中。在匯編語(yǔ)句中從這幾個(gè)寄存器中取數(shù),再進(jìn)行操作就行了,說起來也很簡(jiǎn)單的嘛,呵呵~
       來個(gè)最簡(jiǎn)單的實(shí)例吧,沒什么意義,傻瓜式的程序:

****************************main.c*********************************************
extern void DELAY(unsigned char i,unsigned int j);

main()
{
DELAY(10,1000);
while(1);
}
**********************DELAY.A51********************************************
?PR?_DELAY?DELAY     SEGMENT CODE
PUBLIC _DELAY
RSEG  ?PR?_DELAY?DELAY
_DELAY:
       DJNZ R4,$
       DJNZ R5,$
       DJNZ R7,$
       RET   
END

還要說的是,函數(shù)名前要加下劃線,表示是有參數(shù)傳遞的函數(shù)調(diào)用!

 在寫這片文章之前,寫了個(gè)試驗(yàn)程序,但總是通不過,查看匯編代碼發(fā)現(xiàn)c文件中的語(yǔ)句根本沒有被編譯進(jìn)去,怎么也找不到原因,郁悶~~ 
      最后在網(wǎng)上搜了個(gè)試驗(yàn)程序,把我的程序復(fù)制過去,可以編譯成功,奇怪了,在我的project里就是不行,我注意到我的project編譯后出現(xiàn)一條WARNING:

*** WARNING L7: MODULE NAME NOT UNIQUE
    MODULE:  8.obj (8)

       而同樣的程序代碼在另外一個(gè)project中沒有WARNING,肯定是這條WARNING語(yǔ)句導(dǎo)致的,里面提到NAME,難道和名字有關(guān),馬上把A51 文件改個(gè)名字(原來c文件和a51文件名字一樣),編譯,哈哈,WARNING不見了,查看匯編代碼,一切按預(yù)想的進(jìn)行,唉,一個(gè)名字害得我不淺啊,記住哦,c文件和A51文件不能使用同一個(gè)文件名,不過我還不知道為什么會(huì)這樣,有高手知道得話請(qǐng)告知,還是進(jìn)行今天的作業(yè)吧!
        今天說說帶參數(shù)傳遞的函數(shù)調(diào)用,在C51和匯編之間傳遞參數(shù)的方式有兩種,一種是通過寄存器傳遞參數(shù),C51中不同類型的實(shí)參會(huì)存入相應(yīng)的寄存器,在匯編中只需對(duì)相應(yīng)寄存器進(jìn)行操作,即達(dá)到傳遞參數(shù)的目的。

   不同類型的數(shù)據(jù)及其傳遞參數(shù)的寄存器如下表所示:
 
參數(shù)類型charintlong/float通用指針
第1個(gè)R7R6&R7R4-R7R1-R3
第2個(gè)R5R4&R5R4-R7R1-R3
第3個(gè)R3R2&R3--R1-R3
  • 上一篇: C51和匯編混合編程(2)-無參數(shù)傳遞的函數(shù)調(diào)用
  • 下一篇: C51和匯編混合編程(4)-函數(shù)的返回值傳遞參數(shù)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1