一、C中调用汇编(无参)
1.建立工程
链接:https://blog.youkuaiyun.com/asdf_qfvr/article/details/120579498?spm=1001.2014.3001.5501
2.要求:实现在C语言中调用汇编语言,功能如下:
-
设置R1,R2。循环加1,当R1大于或等于10,结束程序。
3.编写程序如下:
main1.c
#include<stdio.h>
extern void Init_1(void);
int main()
{
Init_1();
return 0;
}
lin.s
AREA My_Function,CODE,READONLY;这一行必有,My_Function可以随意取,其他需一样
EXPORT Init_1;与c文件中定义的Init_1关联起来
Init_1
MOV R1,#0
MOV R2,#0
LOOP
CMP R1,#10;比较R1与10的大小
BHS LOOP_END;如果R1大于或等于10,则跳转到LOOP_END程序段,反之忽略。
ADD R2,#1
ADD R1,#1
B LOOP;无条件跳转,继续执行LOOP
LOOP_END
NOP
END;必须空格再写,不然会认为是段名,表示程序结束
4.调试结果
运行中&#x