打印

请问大家,我在用KEIL,汇编编写程序出现警告。

[复制链接]
2925|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pidcy|  楼主 | 2010-6-8 17:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请问大家,我在用KEIL,汇编编写程序出现警告。
ORG 0000H
LJMP MAIN
ORG  0080H

MAIN:MOV P1,#0
END
上面是我的源程序。

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).
请问是什么原因?

相关帖子

沙发
ayb_ice| | 2010-6-8 17:20 | 只看该作者
STARTUP.a51里已经定义了ORG 0000H,所以lamp5.ASM里不要再定义了

使用特权

评论回复
板凳
HWM| | 2010-6-8 17:22 | 只看该作者
既然用汇编了,那个“startup.a51"就不要用了(可以在生成工程时选择)。

使用特权

评论回复
地板
pidcy|  楼主 | 2010-6-8 20:13 | 只看该作者
STARTUP.a51里已经定义了ORG 0000H,所以lamp5.ASM里不要再定义了
ayb_ice 发表于 2010-6-8 17:20

没有写ORG 0000H,也有警告。我写了 MOV P1,#0,也警告的。

使用特权

评论回复
5
pidcy|  楼主 | 2010-6-8 20:14 | 只看该作者
既然用汇编了,那个“startup.a51"就不要用了(可以在生成工程时选择)。
HWM 发表于 2010-6-8 17:22

是不是用C需要用STARTUP.A51啊?这个文件起什么作用?

使用特权

评论回复
6
HWM| | 2010-6-8 20:54 | 只看该作者
re 5L:

确实是为C配,起系统启动和初始化的作用。

使用特权

评论回复
7
pidcy|  楼主 | 2010-6-9 07:34 | 只看该作者
re 5L:

确实是为C配,起系统启动和初始化的作用。
HWM 发表于 2010-6-8 20:54

谢谢了

使用特权

评论回复
8
gdqinci| | 2010-9-17 17:25 | 只看该作者
哦,原来是这样啊,长见识了

使用特权

评论回复
9
ayb_ice| | 2010-9-18 08:56 | 只看该作者
asm一样可以使用STARTUP.A51文件,当然有些地方是要修改一下的,比如?C_START这个标号,因为这是C编译器里的符号,自然你的汇编程序是没有这个符号的,解决方法是换个自己的名字

未命名.JPG (101.97 KB )

未命名.JPG

新建文件夹 (2).rar

20.82 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

60

帖子

1

粉丝