[AVR单片机] TINY13 lpm指令

[复制链接]
 楼主| robin_ee 发表于 2007-1-17 16:32 | 显示全部楼层 |阅读模式
hi
tiny13的lpm怎么使用啊?我发现偏移不正确
help文件里面说flash里面是16位寻址的,如何分别读取一个word的高低字节啊,里面写 ZLSB = 0寻址低字节,ZLSB = 1寻址高字节,可没有找到ZLSB这个寄存器啊


 楼主| robin_ee 发表于 2007-1-17 17:19 | 显示全部楼层

tiny13 lpm

TABLE:
      0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78

ldi zl, low(TABLE << 1)
ldi zh, high(TABLE << 1)
clc
add zl, temp             ; temp为字节索引
clr temp
adc zh,temp
lpm temp, Z              ;  读取temp索引所在的字节


以上的代码有错误吗? 为什么发现偏移有错误?


七月飞雪 发表于 2007-1-17 18:45 | 显示全部楼层

没用过

没用过tiny 不过代码看不出来有问题啊
不知道是否和TABLE定义时没加DB伪指令有关

 楼主| robin_ee 发表于 2007-1-18 09:10 | 显示全部楼层

tiny13 lpm

写忘了,有写db
习惯了51汇编,所以这样写了.理论上应该不会错,IDE里面的汇编帮助文件里面的例子太简单了,没有msdn详细.

如果上午这个问题还搞不定,我就只能通过那个 
lpm Rn, Z+
来移动Z指针到想要的地方了
郁闷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

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

1

主题

8

帖子

0

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