文章目录
一、keil下c语言调用汇编程序
1.1 创建项目
参考 Keil环境下完成STM32汇编程序的编写以及Hex文件内容分析
1.2 新建文件main.c和Func.s
同样参考上面博客,结果如下:
main.c代码
#include<stdio.h>
extern void Init_1(void);
int main()
{
Init_1();
return 0;
}
Func.s代码
AREA My_Function,CODE,READONLY ;这一行必要的除了My_Function可以自己取名以外,其他的都是模板
EXPORT Init_1 ; 与在c文件中定义的Init_1函数关联起来
; 高级语言中的声明和使用变量其实是对板子寄存器的使用,所以我们只需要直接使用寄存器即可
Init_1
MOV R1,#0 ; 设R1寄存器为i
MOV R2,#0 ; 设R2寄存器为j
LOOP ; 写在最左边的是程序段的段名,执行跳转程序时用到
CMP R1,#10 ; 比较R1和10的大小
BHS LOOP_END ; 如果R1大于等于10,则跳转到LOOP_END程序段,反之忽略该语句,直接执行下面的语句
ADD R2,#1 ; j++
ADD R1,#1