zz680217
级别: 略有小成
精华主题: 0
发帖数量: 252 个
工控威望: 343 点
下载积分: 1822 分
在线时间: 515(小时)
注册时间: 2008-12-03
最后登录: 2024-06-01
查看zz680217的 主题 / 回贴
楼主  发表于: 2010-03-10 19:13
各位同仁,近来研究S200简接寻址的问题,感觉挺难,不知有谁能解释间接寻址,相比直接寻址有什么优点,主要应用什么场合,不胜感激.最好能上传个样例来说明.
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5168 个
工控威望: 7391 点
下载积分: 156964 分
在线时间: 3124(小时)
注册时间: 2007-11-21
最后登录: 2024-05-31
查看sjm213的 主题 / 回贴
1楼  发表于: 2010-03-10 20:19
例如您遇到了这么一个控制过程:
在MW0=0时将VW0的值写入VW10,
那么我们可以这样写程序:
LDW= MW0,0
MOVW VW0,VW10

假如还有条件MW0=1时将VW0的值写入VW12,
那么我们继续写:
LDW= MW0,1
MOVW VW0,VW12

那么假如还有条件MW0=2时将VW0的值写入VW14……以此规律直到MW0=999时将VW0的值写入VW2008 。这么下去,我们按照以上的方法,总共要写1000个类似的程序才能满足这个要求。

而如果用变址,只需要
LD     SM0.0
MOVD   &VB10, AC1
MOVW   MW0, AC0
*I     +2, AC0
+I     AC0, AC1
MOVW   VW0, *AC1
就可以实现了。
zz680217
级别: 略有小成
精华主题: 0
发帖数量: 252 个
工控威望: 343 点
下载积分: 1822 分
在线时间: 515(小时)
注册时间: 2008-12-03
最后登录: 2024-06-01
查看zz680217的 主题 / 回贴
2楼  发表于: 2010-03-11 18:33
谢谢楼上的解释