目录
? ? ? ? 一.完成C语言调用汇编函数
? ? ? ? ?二.修改代码
三、汇编函数中调用C语言
一.完成C语言调用汇编函数
1.新建一个项目
2.
3.配置环境
?4.选择运行环境
5.添加源文件,创建汇编文件
6.编写代码
main.c
#include<stdio.h>
extern void Init_1();
int main(){
Init_1();
return 0;
}
func.s
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
7.仿真调试
?调试成功
二.修改代码
main.c
#include<stdio.h>
extern int Init_1(int x);
int main(){
Init_1(10);
return 0;
}
func.s
AREA My_Function,CODE,READONLY
EXPORT Init_1
ENTRY
Init_1
ADD R0,R0,#100
BX LR
END
调试
三、汇编函数中调用C语言
修改代码 main.c #include<stdio.h> extern int sum(int a,int b); int sum(int a,int b){ ? int c; ?? ?a=15; ?? ?b=14; ?? ?c=a+b; ?? ?return c; }
func.s
AREA MYDATA, DATA ?? ?IMPORT sum ?AREA MYCODE, CODE ?? ?ENTRY ?? ?EXPORT __main
__main
? ? BL sum ?? ? ?? ?BX LR ?? ? ?? ?END
仿真调试:结果与预算一致,c函数被成功调用
|