如何在 KEIL C51 中调用汇编函数的一个示例 您所在的位置:网站首页 怎样用keil写C51程序 如何在 KEIL C51 中调用汇编函数的一个示例

如何在 KEIL C51 中调用汇编函数的一个示例

2023-03-12 06:45| 来源: 网络整理| 查看: 265

如何在 KEIL C51(v6.21) 中调用汇编函数的一个示例 [ycong_kuang]

有关c51调用汇编的方法已经有很多帖子讲到,但是一般只讲要点,很少有对整个过程作详细描述,对于初学者是不够的,这里笔者通过一个简单例子对这个过程进行描述,希望能对初学者有所帮助。几年来,在这个论坛里笔者得到很多热心人指导,因此也希望藉此尽一点绵薄之力。

在这个例子里,阐述了编写c51程序调用汇编函数的一种方法,这个外部函数的入口参数是一个字符型变量和一个位变量,返回值是一个整型变量。例中,先用c51写出这个函数的主体,然后用SRC控制指令编译产生asm文件,进一步修改这个asm文件就得到我们所要的汇编函数。该方法让编译器自动完成各种段的安排,提高了汇编程序的编写效率。

step1. 按写普通c51程序方法,建立工程,在里面导入main.c文件和CFUNC.c文件。

相关文件如下://main.c文件#include

#define uchar unsigned char#define uint unsigned int

extern uint AFUNC(uchar v_achr,bit v_bflag);

void main(){    bit BFLAG;    uchar mav_chr;    uint    mvintrslt;

    mav_chr=0xd4; BFLAG=1;    mvintrslt=AFUNC(mav_chr,BFLAG);}

//CFUNC.c文件

#define uchar unsigned char#define uint unsigned int

uint AFUNC(uchar v_achr,bit v_bflag){    uchar tmp_vchr;    uint  tp_vint;

    tmp_vchr=v_achr;    tp_vint=(uint)v_bflag;    return tmp_vchr+(tp_vint



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有