c51与汇编语言的接口
时间:11-18
来源:互联网
点击:
1.c51与汇编语言的模块内接口
有时候,需要使用汇编语言来编写程序,比如对硬件进行操作或在一些对时钟要求很严格的场合,但又不希望用汇编语言来编写全部程序或调用汇编语言编写的函数,那么可以通
过预编译指令“asm,在C代码中插入汇编代码。
方法是用#pragma语句。具体结构是:
#pragma asm
汇编行
#pragma endasm
这种方法是通过#pragma asm和#pragma endasm告诉c51编译器,中间行不用编译为汇编行。例如:
2.c51与汇编语言的模块间接口
C51模块与汇编语言模块的接口较简单,分别用C5l与A51对源文件进行编译,然后用L51连接obj文件即可。模块接口间的关键问题在于C函数与汇编函数之间的参数传递。C51中有两种参数传递方法。
①通过寄存器传递函数参数
汇编函数要得到参数值时就访问这些寄存器,如果这些值正被使用并保存在其他地方或己经不再需要了,那么这些寄存器可被用作其他用途。应该注意到通过内部RAM传递参数的函数将使用规定的寄存器,汇编函数将使用这些寄存器接收参数。对于要传递多于3个参数的函数,剩余的参数将在默认的存储器段中传递。
②通过固定存储区传递(Fixed Memory)
(3)SRC控制
该控制指令将C文件编译生成汇编文件(.SRC),该汇编语言文件在改名后,生成汇编.ASM文件,再用A5l进行编译。
c51汇编语言接 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)