C語言中調用匯編語言詳解

1.建立新工程

首先點擊Project裡面的 New uVision Project

然後輸入文件名,點擊保存即可。

在你命名的project中創造一個匯編程序與c程序

c程序

#include<stdio.h>
extern void Init_1(void);
int main()
{
    Init_1();
    return 0;
}

匯編程序

     AREA    My_Function,CODE,READONLY
    EXPORT Init_1
Init_1
    MOV R1,#0
    MOV R2,#0
LOOP
    CMP R1,#10
    BHS LOOP_END
    ADD R2,#1
    ADD R1,#1
    B LOOP
LOOP_END
    NOP
    END

然後進行設置,點擊Debug,勾選Use Simulator,將dialog dll下改為DARMSTM.dll ,將parameter下改為-pSTM32F103ve

註意:parameter中的調試型號要與最初選擇的芯片一致

2.改寫程序

c語言

#include<stdio.h>
extern int Init_1();
int Init_1()
{
    int x=5;
    return x+100;
}

匯編語言

 IMPORT Init_1
    AREA MYCODE, CODE
    EXPORT __main
__main
    BL Init_1
    END
 

解釋:這裡的IMPORT Init_1 表示匯編程序裡面進口或引入C裡面的函數Init_1。

結果

3.總結

通過這次實驗,我熟悉瞭keil5下匯編語言和C語言的混用,既能在C語言裡面調用匯編程序,也能在匯編程序裡面調用C函數,也更加清楚地瞭解瞭寄存器的原理。

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: