C语言程序函数和汇编语言函数在互相调用时,可以利用8051单片机的工作寄存器最多可传递3个函数:
|
传递的函数 |
Char 一字节指针 |
Int 两字节指针 |
Long float |
一般指针 |
|
第一个参数 |
R7 |
R6(高字节),R7(低字节) |
R4~R7 |
R3(存储类型) R2(高字节),R1(低字节) |
|
第二个参数 |
R5 |
R4(高字节),R5(低字节) |
R4~R7 |
R3(存储类型),R2(高字节),R1(低字节) |
|
第三个参数 |
R3 |
R2(高字节) R3(低字节) |
无 |
R3(存储类型) R2(高字节) R1(低字节) |
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
void icl7135(void); 在主函数中声明汇编函数
icl7135(); /*调用汇编的A/D采集驱动函数
新建一个汇编文件QUDONG.asm的文件
?PR?ICL7135?QUDONG SEGMENT CODE 蓝颜色(ICL7135)为调用的函数名
PUBLIC ICL7135 紫颜色(DUDONG)为函数所在的文件名
RSEG ?PR?ICL7135?QUDONG
ICL7135:
;你的汇编程序
RET
END
本文介绍C语言程序与汇编语言程序如何通过8051单片机工作寄存器进行函数调用及参数传递的方法,具体展示了不同数据类型(如char、int等)的传递方式,并提供了一个汇编函数调用的实际例子。
2628

被折叠的 条评论
为什么被折叠?



