导航:首页 > 源码编译 > 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语言嵌入汇编语言编译报错相关的资料

热点内容
魔兽大脚解压安装教程 浏览:5
超时代共享文件夹破解版 浏览:441
命令与征服红色警戒3攻略 浏览:724
解压缩jar包 浏览:586
如何计算服务器的最大并发数 浏览:345
java数组类型定义 浏览:850
安卓卡一和卡二怎么切换 浏览:965
用价值观统领算法强化责任 浏览:783
外汇阿里云服务器买哪一种类型 浏览:448
绍兴程序员接私活攻略 浏览:644
java获取上传图片 浏览:48
主次梁交叉处箍筋加密长度 浏览:965
快递时效的算法 浏览:585
菜谱大全pdf 浏览:317
怎么在风云pdf上把文件夹汇总 浏览:880
java创建子类 浏览:533
安卓实况怎么退出渠道服登录 浏览:107
汽车12v电压缩机 浏览:418
乐图java 浏览:790
命令与征服注册表 浏览:324