找回密碼
         注冊會員
        搜索附件  
        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.

        返回頂部
        最新在线精品国自av| 久久精品国产半推半就| 九九热精品在线| 好属妞这里只有精品久久| 国产精品视频免费一区二区| 亚洲国产精品无码久久九九 | 无码国内精品久久人妻麻豆按摩| 国产精品高清视亚洲乱码| 国产精品久久久久国产A级| 北条麻妃国产九九九精品视频 | 黄网站色视频毛片| 69久久夜色精品国产69| 国产欧美日韩综合精品一区二区三区 | 成人国内精品久久久久影院| 精品97国产免费人成视频| 色婷婷影院你懂的| 久久99国产精品久久久| 亚洲爆乳精品无码一区二区| 国产精品免费AV片在线观看| 国产一区二区三区欧美精品 | 精品国产欧美另类一区 | 日韩精品无码一区二区三区不卡 | 国产亚洲精品a在线观看| 在线播放不卡一区二区视频| 国产精品视频一区二区三区经| 国产精品无码不卡一区二区三区| 亚洲精品一品区二品区三品区| 亚洲国产精品久久久久| 国内精品久久久久影院薰衣草| 欧美久久精品一级c片片| 日本一区二区三区免费观看| 日本精品中文字幕| sprd在线播放| 国产在线观看高清精品| 四虎国产成人永久精品免费| 国产精品视频一区二区三区不卡| 亚洲AV无码精品色午夜在线观看 | 91视频-88av| 国产午夜精品一区二区三区小说| 国产在线精品一区二区在线观看| 久久精品国产WWW456C0M|