打印
[电池电源管理]

Memory address is out of range

[复制链接]
1132|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
st316|  楼主 | 2015-12-5 22:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的4bit的MCU,手册上关于RAM部分写着:
System register and I/O : $000 - $02F, $380 - $38C
Data memory: $030 - $ 0EF


我有如下几行代码:
DET7_CT                EQU        8CH
...
ADIM          DET7_CT,        01H         ;次数加一


可以编译出错,提示:Memory Address is out of range, truncated to 7 bits


我看了一下ADIM指令格式,里面似乎确实只能寻址7bit的RAM空间,请问我要怎么解决这个问题哇?
谢谢大伙了!
沙发
st316|  楼主 | 2015-12-6 11:12 | 只看该作者
OK,解决方法已找到。

RAM中8CH这个地址BANK1了,改为如下的代码即可:
DET7_CT                EQU        0CH
...
LDI             TBR,               01H            ;这里只是借用TBR,此语句真实目的是向累加器A写01H,这个01H是“次数加一”中的“一”
ADDM         DET7_CT,        01H            ;这里的01H表示BANK1

使用特权

评论回复
板凳
forgot| | 2015-12-6 15:06 | 只看该作者
解决就好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

167

帖子

3

粉丝