1. gzyueqian
      13352868059

      嵌入式培訓(xùn)課程安排 匯編語言程序調(diào)用C語言程序

      更新時間: 2019-03-31 14:22:02來源: 嵌入式培訓(xùn)瀏覽量:5601

        學(xué)習(xí)嵌入式開發(fā),匯編語言程序如何調(diào)用C語言程序的呢?粵嵌嵌入式培訓(xùn)課程是這樣介紹。

        為了保證程序調(diào)用時參數(shù)的正確傳遞,匯編語言程序的設(shè)計要遵守ATPCS。在C語言程序中,不需要使用任何關(guān)鍵字來聲明將被匯編語言調(diào)用的C語言程序,但是在匯編語言程序調(diào)用該C語言程序之前,需要在匯編語言程序中使用IMPORT偽操作聲明來聲明該C語言程序。在匯編語言程序中通過BL指令來調(diào)用子程序。在示例中,匯編程序strcopy完成字符串賦值功能,C語言程序調(diào)用strcopy完成字符串的復(fù)制工作。



        示例:匯編語言程序調(diào)用C語言程序

        int g(int a,int b,int c,int d,int e)

        {

        return a+b+c+d+e;

        }

        匯編語言程序調(diào)用C語言程序g()計算5個整數(shù)i,2xi,3xi,4xi,5xi的和。

        匯編語言源程序:

        EXPORT f

        AREA f,CODE,READONLY

        IMPORT  g               ;在R0中

        STR     LR,[SP,#-4]!    ;預(yù)先保存LR

        ADD     R1,R0,R0        ;計算2xi(第2個參數(shù))

        ADD     R2,R1,R0        ;計算3xi(第3個參數(shù))

        ADD     R1,R0,R0        ;計算5xi(第5個參數(shù))

        STR     R3,[SP,#-4]!    ;將5個參數(shù)壓入堆棧

        ADD     R3,R1,R1        ;計算4xi(第4個參數(shù))

        BL      g               ;調(diào)用C語言程序g()

        ADD     SP,SP,#4        ;調(diào)整數(shù)數(shù)據(jù)棧指針,準(zhǔn)備返回

        LDR     PC,[SP],#4      ;從子程序返回

        END

        Linux內(nèi)核分析

        Linux的源代碼具有開放性,其內(nèi)核灰機(jī)了無數(shù)編程人員的編程思想,吸引著一批批的開發(fā)者去研究它。深刻領(lǐng)悟Linux內(nèi)核的編程思想,將是學(xué)習(xí)嵌入式Linux系統(tǒng)編程的基礎(chǔ)。嵌入式培訓(xùn)課程只有構(gòu)造出更加精簡、高效的嵌入式Linux內(nèi)核,才可編寫出更高質(zhì)量的驅(qū)動程序與應(yīng)用程序。

        學(xué)習(xí)嵌入式培訓(xùn)課程,粵嵌提供嵌入式學(xué)習(xí)平臺,通過嵌入式開發(fā)的學(xué)習(xí),讓你不斷進(jìn)步。


      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 中文国产日韩欧美二视频 | 最新国自产在线播放 | 亚洲日韩中文字幕一级乱码在线播放 | 亚洲熟女综合色一区二区三区 | 亚洲中文字幕久久久久 | 亚洲欧美另类色妞网欧美吧 |