C語言中調(diào)用匯編語言詳解
1.建立新工程
首先點擊Project里面的 New uVision Project
然后輸入文件名,點擊保存即可。
在你命名的project中創(chuàng)造一個匯編程序與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
然后進行設(shè)置,點擊Debug,勾選Use Simulator,將dialog dll下改為DARMSTM.dll ,將parameter下改為-pSTM32F103ve
注意:parameter中的調(diào)試型號要與最初選擇的芯片一致
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里面的函數(shù)Init_1。
結(jié)果
3.總結(jié)
通過這次實驗,我熟悉了keil5下匯編語言和C語言的混用,既能在C語言里面調(diào)用匯編程序,也能在匯編程序里面調(diào)用C函數(shù),也更加清楚地了解了寄存器的原理。
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++中繼承與多態(tài)的基礎(chǔ)虛函數(shù)類詳解
這篇文章主要給大家介紹了關(guān)于C++中繼承與多態(tài)的基礎(chǔ)虛函數(shù)類的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-09-09C/C++利用棧和隊列實現(xiàn)停車場管理系統(tǒng)
數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計一般都不是很好理解,今天小編為大家總結(jié)了一下c和c++版本的常見棧和隊列的的停車場管理程序,需要的小伙伴可以參考一下2022-06-06