打印

求助间接寻址问题

[复制链接]
2706|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fly_bear|  楼主 | 2008-7-11 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用F877A编一段程序,需要在体2中存储一段数据,地址是从120h开始,我想用间接寻址来写,可是在赋值定义时,该怎样赋值呢?是data0 equ 120h 还是 data0 equ 20h? 在间接寻址的时候,是不是这样写:bsf status,7    movlw data0     movwf fsr ?还请各位帮帮分析一下,谢谢了 
沙发
zhaoyu2005| | 2008-7-11 17:35 | 只看该作者

汇编的间接寻址忘了怎么写

不管在哪个存储区,都要减去页地址,其实该区的寻址也是从0开始的,但是记得进行页切换就行了

使用特权

评论回复
板凳
xieyuanbin| | 2008-7-12 16:17 | 只看该作者

汇编中要注意存储体的切换.

间接寻址,低7 BIT 地址在FSR的低7位中,另外两个BANK地址由两个特殊位IRP-FSR(7)决定,FSR(7)即是FSR的第7位,IRP在STATUS中,所以要寻址data0 = 0x120,程序要这样写:
DATA0 EQU 0X120



MOVLW LOW(DATA0)      ;取DATA0的低字节,即0X20
MOVWF FSR
BSF   STATUS,IRP
MOVF  INDF,W
此时W中的值即是DATA0地址指向单元的值.

使用特权

评论回复
地板
fly_bear|  楼主 | 2008-7-14 09:39 | 只看该作者

谢谢

十分感谢!!

使用特权

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

本版积分规则

3

主题

15

帖子

0

粉丝