请问是什么原因?

[复制链接]
768|18
 楼主| guoyt 发表于 2018-9-4 21:01 | 显示全部楼层 |阅读模式

Build target 'Target 1'
assembling STARTUP.A51...
assembling lamp5.ASM...
linking...
*** WARNING L5: CODE SPACE MEMORY OVERLAP
FROM: 0000H
TO: 0002H
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C_START
MODULE: .\STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C_START
MODULE: .\STARTUP.obj (?C_STARTUP)
ADDRESS: 008DH
Program Size: data=9.0 xdata=0 code=146
"lamp5" - 0 Error(s), 3 Warning(s).
请问是什么原因?
hanwe 发表于 2018-9-4 21:04 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| guoyt 发表于 2018-9-4 21:06 | 显示全部楼层


ORG 0000H
LJMP MAIN
ORG  0080H

MAIN:MOV P1,#0
END
上面是我的源程序。
yufe 发表于 2018-9-4 21:09 | 显示全部楼层


STARTUP.a51里已经定义了ORG 0000H,所以lamp5.ASM里不要再定义了
llia 发表于 2018-9-4 21:13 | 显示全部楼层


用汇编了,那个“startup.a51"就不要用了
wangpe 发表于 2018-9-4 21:16 | 显示全部楼层
是啊,、可以在生成工程时选择
langgq 发表于 2018-9-4 21:18 | 显示全部楼层
没有写ORG 0000H,也有警告。我写了 MOV P1,#0,也警告的。
 楼主| guoyt 发表于 2018-9-4 21:28 | 显示全部楼层
是不是用C需要用STARTUP.A51啊?这个文件起什么作用?
wangzsa 发表于 2018-9-4 21:31 | 显示全部楼层
asm一样可以使用STARTUP.A51文件,当然有些地方是要修改一下的
wangzsa 发表于 2018-9-5 09:36 | 显示全部楼层

8楼可否举个例子
zhuww 发表于 2018-9-5 09:39 | 显示全部楼层
比如?C_START这个标号,因为这是C编译器里的符号,自然你的汇编程序是没有这个符号的
zhanglli 发表于 2018-9-5 09:42 | 显示全部楼层


怎么办呢?
lium 发表于 2018-9-5 09:45 | 显示全部楼层


哈哈,换个自己的名字
hanwe 发表于 2018-9-5 09:49 | 显示全部楼层
用dos版的asm51
限制没那么多!
ORG 0000H
LJMP MAIN
ORG  0080H

MAIN:MOV P1,#0
END
完全可以通过
yufe 发表于 2018-9-5 09:53 | 显示全部楼层


我明白了,不知楼主明白了吗?
 楼主| guoyt 发表于 2018-9-5 09:56 | 显示全部楼层
俺一直暗暗关注呢,呵呵,明白了
llia 发表于 2018-9-5 10:00 | 显示全部楼层
使用c语言需要引用的是“<inclde REG52_H>”
llia 发表于 2018-9-5 10:03 | 显示全部楼层
只需要把工程里的startup文件删除即可。
 楼主| guoyt 发表于 2018-9-5 10:07 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部