任务内容: 1.函数Init_1,循环加1,数大于等于10退出循环 2.函数int Init_1(init) ,此函数功能为 传入一个整型数x,函数运行后返回整型数 x+100。编程实现,并仿真跟踪调试。
ATPCS中寄存器的使用规则:
![请添加图片描述](https://img-blog.csdnimg.cn/8ce5b6bab53d431dbf7b17fa2d19e455.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbW91ZXJfaA==,size_20,color_FFFFFF,t_70,g_se,x_16)
![请添加图片描述](https://img-blog.csdnimg.cn/4d910815a7884357a468b774c7eca23c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbW91ZXJfaA==,size_20,color_FFFFFF,t_70,g_se,x_16)
任务一
main.c
#include<stdio.h>
extern void Init_1(void);
int main(){
Init_1();
return 0;
}
test.s
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;
结果:
![请添加图片描述](https://img-blog.csdnimg.cn/8ea18c496ea44c8b88943c49597f3d63.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbW91ZXJfaA==,size_11,color_FFFFFF,t_70,g_se,x_16)
任务二
main.c
#include<stdio.h>
extern int Init_1(int x);
int main(){
Init_1(10);
return 0;
}
test.s
AREA My_Function,CODE,READONLY;
EXPORT Init_1;
Init_1
ADD R0,#100;
END;
结果:
![请添加图片描述](https://img-blog.csdnimg.cn/a094963810844cc6a858b41a81194a0a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbW91ZXJfaA==,size_10,color_FFFFFF,t_70,g_se,x_16)
|