STM32的C与汇编语言混合编程
一、C语言调用汇编函数
1.文件创建与编辑
右击group1选择add new item,新建main.c的c语言文件和Func.s文件
2.编译与调试
点击左上角的编译按钮
没有错误,接下来点击右上角的调试按钮
3.结果
可以看到R1,R2 从初值“0”循环加“1”,直至R1的值等于“10”时退出循环,R1,R2的值变为10
二、修改参考代码
修改参考代码,要求将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。请编程实现,并仿真跟踪调试;
1.修改代码
修改c语言文件与Func文件为下图代码
2.编译与调试
3.结果
可以看到上图,传入整型数“0”,函数运行后返回整型数“0+100”,即100,存放在寄存器R0中
三、汇编函数中调用一个 C语言函数
1.修改代码
将代码修改为以下图中的代码
2.编译与调试
编译成功,没有错误,进行调试
3.结果
如上图,汇编函数调用c语言get函数成功 ,R0的值变为10
参考:https://blog.csdn.net/XTF201029/article/details/120687828