C语言与汇编语言程序的混合编程
C51编译器能对C语言源程序进行高效率的编译,生成高效简洁的代码,在绝大多数场合采用C语言编程即可完成预期的目的。但有时为了编程直观或某些特殊地址的处理,还须采用一定的汇编语言编程。而在另一些场合,出于某种目的,汇编语言也可调用C语言。在这种混合编程中,关键是参数的传递和函数的返回值。它们必须有完整的约定,否则数据的交换就可能出错。
C语言调用汇编语言程序一般有两种方法:
一种是对汇编函数名等定义使用C语言,但是在函数的内部是通过#pragma asm和#pragma endasm关键字来写入汇编程序;另一种方式是将所有的与函数有关的代码都用汇编来实现,这些汇编代码存成单独的文件,以 A51和.ASM为文件后缀名,并将其天添加到项目中,然后在要调用这些汇编程序的C文件中使用exter关键字来定义出函数原型,这样就可以直接对其进行调用了。由于第一种方法比较简单,所以第一种方法也就被广大的设计人员所采用,限于篇幅关系,这里通过一个简单的例子介绍一下第一种调用方法。
例:在主程序(C语言编写)中调用一个简单的汇编语言延时子程序。
#pragrna //注意这个语句是加在程序开头的。
- 上一篇:C语言编程时的注意事项
- 下一篇:C语言中断处理过程