找回密碼
         注冊會員
        搜索附件  
        MCU資訊論壇 附件中心 單片機論壇 51單片機論壇 KEIL_C51在線匯編舉例.rar

        KEIL_C51在線匯編舉例.rar

         

        給大家介紹一下用Keil C51實現C語言和匯編語言混合編程的方法,:
        大家都知道,在嵌入式開發中,C語言的可移植性強和可讀性好等優點,而匯編語言的高效、快速及可直接對硬件進行操作等優點又是C語言所難以達到的,
        KEIL C51支持C和匯編混合編程的方法,則將這兩者的優點完美的結合!
        如用此方法實現51單片機對320kbps mp3文件的播放就是一個很好的實例!

        所謂混合編程,就是在一個項目中,同時使用C和匯編兩種語言。 C語言和匯編語言混合編程的方法形式多樣,可以是以匯編語言為主體,在其中內嵌部分C語言;也可以是以C語言為主體在其中加入部分匯編語言(此方法實用價值較高,而被工程師們廣泛的采用)。在此方法中,用匯編語言編寫對有關硬件的驅動和處理、復雜的算法、實時性要求較高等底層的東西,來滿足單片機對某些硬件高效、快速、精確的處理等性能上的要求。用C語言來編寫程序的主體部分。這樣就將C語言的可移植性強和可讀性好與匯編語言的高效、快速及可直接對硬件進行操作等優點相結合。兩者優劣互補、相得益彰,加快我們產品的開發周期,具有極高的現實意義和實用價值!
        在KEIL C51中加入的匯編代碼需按照其編譯器中約定的規則才可以實現C語言程序對匯編代碼的調用。即KEIL C51的命名規則和參數傳遞規則。
        一. KEIL C51的命名規則
        在KEIL C51中,編譯器對C語言程序中的函數會自動的進行轉換,轉換規則如下表:
        函數屬性 函數舉例 段中的函數名
        無參數或無寄存器參數傳遞的函數 void func1(void) func1
        含通過寄存器傳遞的參數 void func2(int) _func2
        可重入函數 void func3(char)reentrant _?func3
        二. KEIL C51函數的參數傳遞規則
        (一)通過寄存器傳遞的函數參數表
        參數長度 第1個形參 第2個形參 第3個形參
        1字節(char) R7 R5 R3
        2字節(int) R6(H) R7 R4(H) R5 R2(H) R3
        3字節(通用指針) R1(H)~R3
        4字節(long) R4(H)~R7
        (二)函數返回值使用的寄存器列表
        返回類 使用的寄存器
        位數據(bit) 位累加器CY
        1字節(char) R7
        2字節(int) R6(H) R7
        3字節(通用指針) R3(類型)R2(H) R1
        4字節(long) R4(H)~R7
        4字節(float) R4(H)~R7,32位IEEE格式,指數和符號位在R7

        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-5-4 12:00 , Processed in 0.046912 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        精品国产日韩亚洲一区| 一区二区三区日韩精品| 四虎国产精品免费入口| 国产三级国产精品国产普男人| 午夜国产精品无套| 久久综合久久自在自线精品自| 国产精品第13页| 国产天天综合永久精品日| 欧美特黄一片aa大片免费看| 99久久精品日本一区二区免费| 国产精品永久免费| 美女扒开尿口给男人捅| 国产精品视频网站| 欧美黑人巨大videos精品| 免费精品无码AV片在线观看| 久久这里只精品国产99热| 午夜亚洲av永久无码精品| 国产精品涩涩涩视频网站| 精品福利一区二区三区| 亚洲高清国产AV拍精品青青草原 | 亚洲国产另类久久久精品黑人 | 日本精品久久久久影院日本| 久久精品中文无码资源站| 999国产精品色在线播放| 中文字幕精品视频在线| laowang在线精品视频| 四虎影视永久在线精品免费| …久久精品99久久香蕉国产| 欧美精品黑人粗大| 国产精品jizz视频| 久热精品视频第一页| 国产精品国产三级国产AV主播| 久久久久久噜噜精品免费直播| 青青草原精品99久久精品66| 国产精品自产拍在线观看花钱看| 四虎国产成人永久精品免费| 国产成人毛片亚洲精品| 久久婷婷国产综合精品| 久久精品国产亚洲精品| 国产成人精品无码一区二区| 亚洲国产成人久久精品99 |