这个问题可能有哪些需要注意的地方,请高手来看看!

[复制链接]
2683|5
 楼主| roadqq 发表于 2007-4-25 21:04 | 显示全部楼层 |阅读模式
我编的程序编译时出现这些个问题,是不是Data我占用得太多了,对于此类型得问题,在编程时需要注意哪些问题,请高手来看看!



*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA    
    SEGMENT: ?DT?_CALCULATEXORCODE?PROTOCOL
    LENGTH:  0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA    
    SEGMENT: ?DT?_VERIFYCODE?PROTOCOL
    LENGTH:  0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA    
    SEGMENT: ?DT?_URAT_TRANSMIT?URAT
    LENGTH:  0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA    
    SEGMENT: _DATA_GROUP_
    LENGTH:  0003H
Program Size: data=140.1 xdata=0 code=1485
Target not created
 楼主| roadqq 发表于 2007-4-25 21:06 | 显示全部楼层

re

我用的是AT89S52。
平常人 发表于 2007-4-25 21:08 | 显示全部楼层

天知、地知、你知、我不知!

“是不是Data我占用得太多了?”

这个问题没人能回答,因为楼主没有说你用的是什么芯片,RAM是多大。搞清这个问题,你自己就有答案了。
flwssg 发表于 2007-4-26 00:06 | 显示全部楼层

我也是初学者,随便说说

DATA区大小128B,你可以把一些变量定义在其它位置,如果没有指明定义在什么地方,可以在编译时不使用small模式。
zhaoyu2005 发表于 2007-4-26 08:11 | 显示全部楼层

data没有溢出,是地址溢出,估计你绝对定位了

140.1个data不会溢出的,AT89S52有256个data,除去特殊寄存器和堆栈一般也有150个以上,从上边的报错分析是你是用了地址绝对定位,但是这个地址超出了数据寻址的范围
xwj 发表于 2007-4-26 08:19 | 显示全部楼层

把部分变量改成idata定义即可

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

本版积分规则

2

主题

3

帖子

1

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