51 C语言与汇编语言混编

本文介绍了如何在51单片机的C程序中内嵌汇编语句,以及C程序如何调用汇编函数和汇编如何调用C函数。通过示例详细展示了不同情况下的代码实现,包括通过寄存器传递参数的混合调用。这种方法虽然存储空间效率较低,但在特定场景下仍具有实用性。
摘要由CSDN通过智能技术生成

1.在C中内嵌汇编语句

   在#pragma asm 与#pragma endasm 中加入要内嵌的汇编语句

例子:

 

   #include <reg52.h>

   void main()

  {

     P0^1=1;

    #pragma asm

    汇编延时程序

    #pragma endasm

     P0^1=0;

}

 

2.C程序调用汇编

 (1)C文件格式

    C程序调用汇编函数之前必须先用extern对函数加以声明

       例子:

     #include<reg51.h>

    extern void DLY1s();

    void main()

    {

       P2=0xff;

       DLY1s(); 

       P2=0;

    }

   (2)汇编文件格式

       用NAME定义模块名,PUBLIC声明为公共函数,RESG为汇编函数起始标志

例子1:

;;************************************
    ;Delay time 1s
;;************************************
      NA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值