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

[复制链接]
3979|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,也警告的。
 楼主| pidcy 发表于 2010-6-8 20:14 | 显示全部楼层
既然用汇编了,那个“startup.a51"就不要用了(可以在生成工程时选择)。
HWM 发表于 2010-6-8 17:22

是不是用C需要用STARTUP.A51啊?这个文件起什么作用?
HWM 发表于 2010-6-8 20:54 | 显示全部楼层
re 5L:

确实是为C配,起系统启动和初始化的作用。
 楼主| pidcy 发表于 2010-6-9 07:34 | 显示全部楼层
re 5L:

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

谢谢了
gdqinci 发表于 2010-9-17 17:25 | 显示全部楼层
哦,原来是这样啊,长见识了
ayb_ice 发表于 2010-9-18 08:56 | 显示全部楼层
asm一样可以使用STARTUP.A51文件,当然有些地方是要修改一下的,比如?C_START这个标号,因为这是C编译器里的符号,自然你的汇编程序是没有这个符号的,解决方法是换个自己的名字

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

60

帖子

1

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