908QG8 RAM出现在超过0X100错误的问题

[复制链接]
4287|8
 楼主| FENG89 发表于 2007-12-5 13:36 | 显示全部楼层 |阅读模式
我定义以下数据:<br /><br />#pragma&nbsp;DATA_SEG&nbsp;SHORT&nbsp;MY_ZEROPAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//direct&nbsp;addressing&nbsp;data&nbsp;segment<br />unsigned&nbsp;char&nbsp;&nbsp;mflag;<br />unsigned&nbsp;char&nbsp;&nbsp;strack_f;<br />unsigned&nbsp;char&nbsp;Tn,Tm;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//重要的元件编号变量.<br />unsigned&nbsp;char&nbsp;&nbsp;cmd1,cmd2,cmd3,cmd4,cmd5,cmd6,cmd7,cmd8,cmd9,cmd10;<br />XT[1],YT[1],MT[30],TT[8],CT[8];<br />#pragma&nbsp;DATA_SEG&nbsp;DEFAULT<br /><br />unsigned&nbsp;int&nbsp;D[100]&nbsp;;<br /><br />程序中,我总共定义了276变量,INT的我算两个了,908QG8有512啊,没有超出的呀,到底是哪里不对?我选用了SMALL模式的
ayb_ice 发表于 2007-12-5 13:39 | 显示全部楼层

我没有看到哪里不对啊

  
 楼主| FENG89 发表于 2007-12-5 13:43 | 显示全部楼层

908QG8 RAM出现在超过0X100错误的问题

D[100]没法定义到0X0100以上的空间<br />Link&nbsp;Error&nbsp;&nbsp;&nbsp;:&nbsp;L1102:&nbsp;Out&nbsp;of&nbsp;allocation&nbsp;space&nbsp;in&nbsp;segment&nbsp;RAM&nbsp;at&nbsp;address&nbsp;0x100<br /><br /><br />Link&nbsp;Error&nbsp;&nbsp;&nbsp;:&nbsp;Link&nbsp;failed<br /><br /><br /><br />还有,怎么看到我的程序用了多少代码空间呢?
wacke 发表于 2007-12-5 15:30 | 显示全部楼层

是超出零页的范围

是你在<br />#pragma&nbsp;DATA_SEG&nbsp;SHORT&nbsp;MY_ZEROPAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//direct&nbsp;<br />#pragma&nbsp;DATA_SEG&nbsp;DEFAULT<br />之间的变量超了.你移一部分到外面就可以了.
ayb_ice 发表于 2007-12-5 15:45 | 显示全部楼层

先去掉#pragma DATA_SEG SHORT MY_ZEROPAGE试一下就知道了

  
feng89 发表于 2007-12-5 15:54 | 显示全部楼层

908QG8 RAM出现在超过0X100错误的问题

谢谢楼上,全试了,不知是哪出错了,.PRM文件里也指定了0X100-0X25F了<br />
wacke 发表于 2007-12-5 16:18 | 显示全部楼层

缩小一个数组的大小.先编译通过,再看一个MAP文件就可以知道

缩小一个数组的大小.先编译通过,再看一个MAP文件就可以知道了.
feng89 发表于 2007-12-5 18:44 | 显示全部楼层

908QG8 RAM出现在超过0X100错误的问题

通过了,是因为前面定义有一个CONST&nbsp;的表格,定义不对<br /><br />谢谢大家!
quguoli81 发表于 2007-12-6 14:19 | 显示全部楼层

我晕

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

本版积分规则

40

主题

162

帖子

1

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