在单片机开发中,有时候我们需要进行可位寻址。
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”文件。添加到项目中即可。
试试看,已经可以正常编译了: