您的位置 首页 解答

c51与汇编语言的接口

1.c51与汇编语言的模块内接口有时候,需要使用汇编语言来编写程序,比如对硬件进行操作或在一些对时钟要求很严格的场合,但又不希望用汇编…

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进行编译。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/266562.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部