导航:首页 > 源码编译 > C语言嵌入汇编语言编译报错

C语言嵌入汇编语言编译报错

发布时间:2024-07-12 23:27:30

‘壹’ 单片机C语言编译错误:requires ANSI-style prototype

需要要把调用的子函数放到main前面,或者在main函数前面先把需要调用的子函数定义声明一下。

requires ANSI-style prototype的意思是:需要ANSI样式原型。

(1)C语言嵌入汇编语言编译报错扩展阅读

单片机汇编指令是为解决某些特定的问题代码中必须嵌入汇编语言以代替C语言完成的单片机的编程,汇编语言对于程序调试是不可或缺的。它包括:算术操作类指令,布尔变量操作类指令,逻辑操作数指令,控制转移类指令。

直接使用汇编指令编写单片机程序,对硬件的控制更加直接,可以直接操作物理地址,寄存器,端口等;其它更高级的语言对硬件的控制是依赖于类库来实现的。

对于一些对程序大小和运行速度有非常严苛要求的项目,都必须使用汇编指令。C语言只是为了方便编写,与机器打交道的都是2进制代码。

‘贰’ 是用c语言和汇编混合编的程序,在keil里编译时出现C51 FATAL-ERROR -

程序问题。
LL SEGMENT CODE; // 在程序存储区中定义段
PUBLIC LED; //声明函数
FLAG DATA 20H
DPFLAG DATA 22H
RSEG LL; //函数可被连接器放置在任何地方
LED:
NOP
DISP: MOV P1,#0FFH ;显示函数
MOV P2,#0
MOV DPTR,#TAB
MOV A,DPFLAG
CJNE A,#1,DISP0 ;判断是否有选择按键
SJMP N1
DISP0:MOV P1,#0F8H
MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
NOP ;弄两个空指令缓冲下数码管
NOP
MOV P2,#0
N1: MOV A,DPFLAG
CJNE A,#2,DISP1
SJMP N2
DISP1: MOV P1,#0F9H
MOV A,R3
MOVC A,@A+DPTR
MOV P2,A
NOP
NOP
MOV P2,#0
N2: MOV A,DPFLAG
CJNE A,#3,DISP2
SJMP NEND
DISP2: MOV P1,#0FAH
MOV A,R4
MOVC A,@A+DPTR
MOV P2,A
NOP
NOP
MOV P2,#0
NEND: RET
NOP
RET
TAB: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,40h,0
END
上面是汇编文件,。
#include<reg52.h>
extern void led();
void main()
{
P2=0XFF;
led();
while(1)
{
led();
}
}
这里是C文件。
你试试,我这个工程师可以的

阅读全文

与C语言嵌入汇编语言编译报错相关的资料

热点内容
lua编译有什么用 浏览:350
买了服务器如何架设 浏览:929
如何运用mex函数编译c 浏览:896
24岁程序员倒在工作上 浏览:919
怎么算梁的加密区 浏览:93
2016版office怎么解压 浏览:270
怎么把安卓手机调的更暗 浏览:167
苹果空间新算法 浏览:91
android文字动画效果 浏览:146
java调试命令 浏览:213
android子线程looper 浏览:782
linux安装java7 浏览:189
单片机fdh 浏览:107
单片机原理与应用下载 浏览:590
顺风车车主app在哪里下载 浏览:235
雷石柏云服务器功率 浏览:102
全球服是什么服务器 浏览:237
传感器怎么连接服务器 浏览:705
大数学pdf 浏览:646
哪个app可以登记自己的藏书 浏览:89