keil软件在C语言中内嵌汇编

在单片机开发中,有时候我们需要进行可位寻址。

C语言并不支持操作精确到位,例如我们想要对P2端口中的第3位进行置零。用C语言我们会这样:

P2 = 0xFB;    //也就是二进制的 1111 1011

那如果我们用汇编来写:

CLR 0xA0.3

那么,我们如何在C语言中内嵌汇编呢?

C语言中内嵌汇编

将需要写汇编的地方用#pragma ASM和#pragma ENDASM括起来,eg:

#pragma ASM

  #汇编代码

#pragma ENDASM

在左侧项目中,选择你现在的c语言文件。然后右键选择“Options for File’… …’”

先勾选图中这两个选项,可以看到选勾被取消。

然后在再勾选一次。直到变成下图的深黑色对勾。然后点“OK”:

添加外部文件到该项目中:

选择keli安装目录下的LIB文件夹下的“C51S.LIB”文件。添加到项目中即可。

试试看,已经可以正常编译了:

作者: 高志远

高志远,23岁,男生,毕业于上海杉达学院电子商务系。

发表评论

邮箱地址不会被公开。