1. gzyueqian
      18529173453

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

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

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

        為了保證程序調(diào)用時(shí)參數(shù)的正確傳遞,匯編語言程序的設(shè)計(jì)要遵守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()計(jì)算5個(gè)整數(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        ;計(jì)算2xi(第2個(gè)參數(shù))

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

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

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

        ADD     R3,R1,R1        ;計(jì)算4xi(第4個(gè)參數(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ū)動(dòng)程序與應(yīng)用程序。

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


      免費(fèi)預(yù)約試聽課

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

      
      

      1. 性爱国产精品福利 | 亚洲国产区美女 | 色婷婷亚洲一区二区综合 | 精品偷拍视频一区二区三区 | 亚洲变态另类天堂AV手机版 | 女教师巨大乳孔中文字幕 |