- 0
- 0
- 约小于1千字
- 约 1页
- 2022-04-13 发布于未知
- 举报
实验五 C 语言与汇编语言编程实验
一、实验目的
1.掌握在 ADT IDE 中编写汇编语言和 C 语言混合编程程序。
2.掌握 C 语言和汇编语言相互调用的过程。
3.掌握 GNU C 中内嵌汇编语言的编程方法
二、实验要求
1 请指出程序中的内联汇编和内嵌汇编,并理解内联汇编和内嵌汇编的区别
内联汇编 x=asse_add(10,20);
y=embed_add(10,20);
内嵌汇编 __asm__(“add r0,r0,r1”);
区别:内联汇编在C语言中调用的是在汇编文件中已定义好的汇编函数;内嵌汇编是在C语言程序中直接使用汇编语句。
2 分别用内联汇编和内嵌汇编,实现实验3中的允许和禁止IRQ中断。
内联汇编:
在汇编程序的头尾分别插入以下两段程序
global IQR;
IQR:
MRS r0,CPSR
ORR r0 , r0 , #0x80
MSR CPSR ,r0
MOV PC,CR
在C程序的开始和main主函数中分别插入一下两段程序
extern void IQR();
IRQ();
内嵌汇编:
在C程序的开始和main主函数中分别插入一下两段程序
void IQR();
void IQR(){
__asm__(“MRS r0,CPSR”);
__asm__(“ORR r0 , r0 , #0x80
原创力文档

文档评论(0)