如何在 KEIL C51 中调用汇编函数的一个示例 | 您所在的位置:网站首页 › 怎样用keil写C51程序 › 如何在 KEIL C51 中调用汇编函数的一个示例 |
如何在 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 实验室设备网 版权所有 |