c51语言与汇编语言混合编程应注意的问题,C51语言与汇编语言混合编程

关于51单片机C语言与汇编混编的教程

51单片机C语言与汇编混合编程

7.8 C51语言与汇编语言混合编程

在某些需要精确控制指令运行时间的环境,我们可以使用Keil C51 语言与汇编语言混合编程。

7.8.1 在C51语言函数中嵌入汇编语言

(1)在C51语言函数中要嵌入汇编语言,可以用如下方式加入汇编代码:

#pragma ASM

; Assembler Code Here

#pragma ENDASM

(2)这时必须对编译器进行设置,一种方式是在uVision2编辑环境的Project窗口中包含汇编代码的C文件上单击右键,选择“Opitons for…”单击右边的“Generate Assembler SRC File”和 “Assemble SRC File”选择框,使检查框由灰色变成黑色(有效)状态;另外一种方法是在程序中添加编译器控制命令,编译器控制指令“#pragma src”和“#pragma asm/#pragma endasm”实现。“src”为编译控制命令,令编译器将C源文件编译成汇编文件。

格式:

#pragma src (放在文件开始)

:

[return_type] function_name([args]) [其他参数]

{ : (C语言源程序)

#pragma asm

: (汇编语言源程序)

#pragma endasm

: (C语言源程序)

}

这两种方法都是告诉编译器将包含汇编语言的C51文件编译成汇编语言文件。

(3)根据选择的编译模式,把相应的库文件(如Small模式时,是Keil\C51\Lib\C51S.Lib) 加入工程中,该文件必须作为工程的最后文件。

(4)编译,即可生成目标代码。

例:

#include

void main()

{

P2=1;

#pragma asm

MOV R7,#10

DEL:MOV R6,#20

DJNZ R6,$

DJNZ R7,DEL

#pragma endasm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值