编译出错了

[复制链接]
2544|18
 楼主| happy_10 发表于 2010-10-14 09:24 | 显示全部楼层 |阅读模式
Memory Address is out of range,truncated to 7 bits
tian111 发表于 2010-10-14 09:24 | 显示全部楼层
是不是没有正确选择芯片的型号?
gongche 发表于 2010-10-14 09:31 | 显示全部楼层
是warnning的话应该没事吧
 楼主| happy_10 发表于 2010-10-14 09:32 | 显示全部楼层
为啥提示溢出了?
juginhine 发表于 2010-10-14 09:36 | 显示全部楼层
LZ应该是用的我们公司的4bit 芯片。LZ的问题是应该在对ram操作的时候,对应的寄存器不是在bank0里面。可能LZ对不在bank0的寄存器进行了立即数之类的操作了。请LZ定位到提示出错的地方,看看具体指令和定义的寄存器位置就应该清楚了。
chenho 发表于 2010-10-14 09:38 | 显示全部楼层
一般"Memory Address is out of range,truncated to 7 bits"只是"warnning",只是提醒一下,不会有问题.
chenho 发表于 2010-10-14 09:39 | 显示全部楼层
应该是你使用变量的问题.
 楼主| happy_10 发表于 2010-10-14 09:47 | 显示全部楼层
芯片型号肯定对了,我直接连接ICE然后编译,若是间接引用,就会出现WARNING
chenho 发表于 2010-10-14 09:49 | 显示全部楼层
如果是ERROR的话,检查一下报名的行号
chenho 发表于 2010-10-14 09:50 | 显示全部楼层
例如A0H前面的0是数字0还是字母O;或者其上下行是否有不可见的字符
 楼主| happy_10 发表于 2010-10-14 10:12 | 显示全部楼层
编译时TEMP1会出现错误提示
huanghuac 发表于 2010-10-14 10:31 | 显示全部楼层
不是定义变量的问题,是使用变量的问题
huanghuac 发表于 2010-10-14 10:34 | 显示全部楼层
有些指令只能对00H~7FH这段的RAM进行操
tian111 发表于 2010-10-14 10:38 | 显示全部楼层
对,嗯,如LDI,EORIM等
chenho 发表于 2010-10-14 10:39 | 显示全部楼层
正解,有些指令对超过0X80的RAM不能直接访问,我以前也遇到过,后来是通过中间变量来解决的。
宋倩2010 发表于 2010-10-14 11:02 | 显示全部楼层
关于哪些指令可以对所有RAM进行操作,查看一下规格书就行了
宋倩2010 发表于 2010-10-14 11:02 | 显示全部楼层
凡是指令中寄存器X后为(,B)的,即可对所有RAM进行操作,否则就不行
huanghuac 发表于 2010-10-14 11:29 | 显示全部楼层
程序是不是已经超过了2K的ROM空间?
宋倩2010 发表于 2010-10-14 11:30 | 显示全部楼层
建议楼主看一下置顶帖子"中颖单片机入门与实战",还能免费要印刷的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

744

主题

7973

帖子

6

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