想了解一下 寄存器区域内间接寻址与区域间间接寻址在应用上的本质区别是什么。
比如 把ID50的数据传输到MD80中,可以用如下的程序实现
区域内寻址程序
LAR1 P#40.0
L ID [AR1,P#10.0]
T MD80
区域间寻址程序
LAR1 P#I40.0
L DW [AR1,P#10.0]
T MD80
从上面两个程序中,我的理解是
区域内寻址:第一步先指定指针的地址基数,然后在应用时,再明确的指定寻址的数据区域种类,数据长度和偏移量。 可以通过修改L ID [AR1,P#10.0] 的ID为QD,MD,来实现不同数据区的寻址。
区域间寻址:第一步同时指定了寻址的数据区域种类和指针的地址基数, 然后在应用时,只需指明数据的长度和偏移量即可。 可以通过修改LAR1 P#I40.0的 P#I为 P#Q,P#M 来实现不同数据区的寻址
但如果两种寻址的方法只是这种区别的话,实际应用时,感觉只使用其中的一种完全可以替代另一种方法。并没有本质上的区别。但不确定我的理解是否正确,还是说区域间寻址可以通过某种方法更方便的实现跨数据区域的寻址。 最好能举个差别特别明显的例子 谢谢