一.新建项目
1.打开Keil,点击Project的第一个
2.输入文件名为test1
3.选择STM32F103ZE,点击ok
4.勾选如下图所示
点击ok
5.给project的Target中的Source Groud 1添加一个项目如图
选择第三个Asm File创建汇编程序输入下列程序
AREA MY_Function,CODE,READDNLY
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
给project的Target中的Source Groud 1添加一个项目选择第一个
键入下列程序
#include<stdio.h>
extern void Init_1(void);
int main()
{
Init_1();
return 0;
}
设置硬件仿真器,具体根据自己的实际情况进行选择我的设置如下
运行
运行结果如下
二.拓展
要求将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。 请编程实现,并仿真跟踪调试;
c语言程序改为
#include<stdio.h>
extern int Init_1(int x);
int main()
{
int xx;
xx=Init_1(20);
printf("%d",xx);
return 0;
}
汇编语言改为
AREA My_Function,CODE,READONLY
EXPORT Init_1
Init_1
ADD R0,#100
MOV PC,LR
LOOP
CMP R1,#10
BHS LOOP_END
ADD R2,#1
ADD R1,#1
B LOOP
LOOP_END
NOP
END
运行即可