根据一定了解keil建立工程里面创建文件
创建c语言程序加入工程里`
# include<stdio.h>
extern void Init_1(void);
int main()
{
Init_1();
return 0;
}
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 ;
将两个文件加入到工程里面 在main.c和func.s里面设置相关断点
断点设置完成进行单步运行
不断的单步运行会发现寄存器R1,R2会不断的加一到10
改变函数可完成
AREA My_Function,CODE,READONLY;
EXPORT Init_1;
;
Init_1
ADD R0,#100;
END;
#include<stdio.h>
extern int Init_1(int x);
int main()
{
Init_1(10);
return 0;
}
即传递整形函数10 ,之后R0与100相加放入R0中
|