[电池电源管理] Memory address is out of range

[复制链接]
 楼主| 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

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