Keil下STM32的C与汇编语言混合编程
一、创建项目
1、创建一个新项目
因本人在之前的博客中有介绍如何在keil中创建基于STM32汇编程序的编写内容。链接如下:
https://blog.csdn.net/m0_48861452/article/details/120519334
这是本人创建文件时的两张图:
.c文件
.s文件
二、C语言调用汇编函数
1、无参函数调用
(1)代码编写
ccc.c:
# include<stdio.h>
extern void Init_1(void);
int main(){
Init_1();
return 0;
}
Fun.s
AREA MY_FUNCTION,CODE,READONLY
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
文章评论