<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> EDA開發(fā)應(yīng)用 >> Keilc >> 正文

      小結(jié)一下KeilC與IAR對函數(shù)參數(shù)及返回值的處理

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2011/3/3

      在C51中,KeilC與IAR在函數(shù)參數(shù)的傳遞及返回值的處理上,有著較大的不同。本文主要小結(jié)不同,并稍稍發(fā)表Hanny個人對這些方式的優(yōu)缺點的看法。

      首先,我們對數(shù)據(jù)類型進行分類。根據(jù)數(shù)據(jù)類型的長度,我們可以將數(shù)據(jù)簡單分為:bit, u8, u16, u32。其中,bit表示位變量;u8主要為char、signed char、unsigned char型變量;u16主要為short、usigned short、int、unsigned int、point型變量;u32主要為long、unsigned long、float型變量。

      然后,先介紹一下函數(shù)參數(shù)的傳入。
      首先是bit,KeilC采用的是位尋址區(qū)的變量來進行bit型參數(shù)的傳入。而IAR采用的是B寄存器來傳入。
      接著是u8,KeilC主要采用R7、R5、R3來進行參數(shù)的傳入。也就是說:當函數(shù)的參數(shù)為一個時使用R7,兩個時使用R7和R5,三個時就使用R7、R5及R3。同樣的,IAR主要采用R1、R2、R3、R4、R5來進行u8型參數(shù)的傳遞。
      緊接著是u16,KeilC主要采用R6:R7、R4:R5、R2:R3來進行傳入,而IAR采用R3:R2、R5:R4來進行傳入。
      再接著就是u32,KeilC主要采用R4:R7來進行傳入,IAR采用R5:R2來進行傳入。
      最后,KeilC還支持一種叫做通用數(shù)據(jù)指針的數(shù)據(jù)類型。主要采用R2:R1、R3來傳入。其中,R2:R1存儲指針地址,R3存儲內(nèi)存類型。

      然后再說說返回值。
      返回值為bit時,KeilC與IAR都用C來傳出。
      返回值為u8時,Keil采用R7,而IAR采用R1。
      返回值為u16時,Keil采用R6:R7,而IAR采用R3:R2。
      返回值為u32時,Keil采用R4:R7,而IAR采用R5:R2。

      下面是Hanny的個人小結(jié):
      KeilC的函數(shù)傳入傳出都是秉承KeilC的大端思想,主要用到的寄存器為R7-R2;IAR的函數(shù)傳入傳出是秉承小端思想,主要用到的寄存器為R1-R5。
      KeilC函數(shù)參數(shù)傳遞的優(yōu)點是:在從u8向u16、u32擴展時,由于低位所處的寄存器位置不變,擴展時對代碼的修改較小。
      IAR的優(yōu)點是:在傳入的參數(shù)位數(shù)為u8時,更緊湊的方式能夠傳入更多的參數(shù)。

      相比之下,Hanny更喜歡KeilC這種方式。

      Tags:keilc,keil,IAR對函數(shù)參數(shù),返回值  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产精品亚洲综合天堂夜夜| 成人综合国产乱在线 | 91精品国产综合久久香蕉| 一本一本久久aa综合精品 | 激情五月婷婷综合网站| 一本色综合网久久| 亚洲综合色视频在线观看| 人人狠狠综合久久亚洲88| 好了av第四综合无码久久| 亚洲一区综合在线播放| 色视频综合无码一区二区三区| 久久天天躁狠狠躁夜夜躁综合| 狠狠做深爱婷婷久久综合一区| 婷婷四房综合激情五月在线 | 狠狠人妻久久久久久综合蜜桃| 国产香蕉尹人综合在线| 国产成人综合在线视频| 色综合久久综精品| 鲁一鲁一鲁一鲁一曰综合网| 久久午夜综合久久| 一本一道色欲综合网中文字幕| 色欲老女人人妻综合网| 亚洲狠狠成人综合网| 久久久久国产综合AV天堂| 日本一道综合色视频| 中文字幕久久综合| 色爱区综合激情五月综合激情| 国产亚洲精品第一综合| 色偷偷91久久综合噜噜噜噜| 人妻av综合天堂一区| 狠狠做深爱婷婷久久综合一区| 亚洲av综合日韩| 亚洲国产成人久久综合碰| 亚洲国产一成久久精品国产成人综合 | 青草久久精品亚洲综合专区| 国产婷婷综合丁香亚洲欧洲| 亚洲伊人精品综合在合线| 91丁香亚洲综合社区| 五月天激情综合网丁香婷婷| 精品综合久久久久久88小说| 亚洲国产成人久久综合一|