求助!!!

[复制链接]
2442|7
 楼主| lzping0810 发表于 2007-4-27 19:39 | 显示全部楼层 |阅读模式
ov, hm, ST, start, mb
我用的是keilc51软件
ORG 2000H
MOV R0,#40H
MOV R1,#41H
MOV A,R0
MOV 30H,A
MOV 20H,30H
MOV A,#30H
MOV @R0,A
MOV A,30H
MOV R7,A
MOV A,@R0
MOV R7,A
MOV DPTR,#0A702H
MOV 30H,R7
MOV 20H,@R0
MOV 21H,#10H
MOV @R0,21H
MOV @R1,#01H
END
这个程序我单步执行
怎么老是执行一个死循环啊
什么问题啊
在我编译的时候就又出现
Build target 'Target 1'
assembling Text1.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: 202AH
Program Size: data=9.0 xdata=0 code=8239
"2" - 0 Error(s), 3 Warning(s).

到底是怎么回事啊     
请大家可怜我这个新人吧
jxmemail 发表于 2007-4-27 20:25 | 显示全部楼层

定义起始地址。

加上这几句试试。很久没用汇编了。
ORG 0000H
LJMP START
ORG 2000H
START:MOV R0,#40H
 楼主| lzping0810 发表于 2007-4-27 20:48 | 显示全部楼层

求助

多谢了
呵呵
但是为什么我的这个code=8239
这个也是太大了吧
computer00 发表于 2007-4-27 21:33 | 显示全部楼层

ORG 2000H, 2000H可不是个小数字呀......

conwh 发表于 2007-4-27 21:48 | 显示全部楼层

基本跑到片外地址了,呵呵.0地址都干什么去了

zgl7903 发表于 2007-4-27 21:56 | 显示全部楼层

2000H就已经8K了

 楼主| lzping0810 发表于 2007-4-28 09:47 | 显示全部楼层

求助

还是不大明白为什么2000H就八千了列
CODE是代码量的大小 还是代码的最后地址啊
呵呵
还有STARTUP.A51是什么文件啊 有什么作用
怎么每次我单步调试的时候 界面不是在我的ASM文件上 而是跑到A51文件上去了
什么原因啊
谢谢
zhaoyu2005 发表于 2007-4-28 10:02 | 显示全部楼层

懒蛋一个,只知道问,不知道找本书看看

2000H你换成10进制看一下是多少?你以为单片机的地址想从多少开始都可以阿,STARTUP.A51就是启动文件,用来初试化RAM什么的,自己看一下帮助文件,还有在keil c里使用纯汇编你不是在自找麻烦吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

11

帖子

0

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