如何对连续的寄存器写入或读取(不使用indf和fsr)

[复制链接]
2885|0
 楼主| lylkr 发表于 2008-7-14 12:38 | 显示全部楼层 |阅读模式
如题<br />例如我想要用30H--3fH分别减去20H--2fH<br />结果分别写入40H--4fH<br /><br />只对4n(n为0--f)用indf和fsr,而3n,2n则不用,<br /><br />这个程序要如何实现?<br /><br />本想用下面这段程序实现的,但set指令只有在顺序结构中才可以实现连续寄存器地址的递增,<br />而在循环结构中则无法实现<br /><br />js&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;&nbsp;&nbsp;20h<br />bjs&nbsp;&nbsp;set&nbsp;&nbsp;&nbsp;30h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;.0x0f<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;50h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;40h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;fsr<br />xht&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movf&nbsp;&nbsp;js,0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;subwf&nbsp;bjs,0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;indf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;incf&nbsp;&nbsp;fsr,1<br />js&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;&nbsp;&nbsp;js+1<br />bjs&nbsp;&nbsp;seg&nbsp;&nbsp;&nbsp;bjs+1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decfsz&nbsp;&nbsp;xht,1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;&nbsp;&nbsp;&nbsp;xht<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />谢谢,<br />请高手把你们的大脑借我一用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

20

帖子

0

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