大家帮我帮我看看这个程序的值是多少。谢谢了

假设L   P##IN_DRY_ADDRESS的值是P#260,那么它经过移动后的值是多少。麻烦您写详细点,理解能力有限。
L           P##IN_DRY_ADDRESS
LARI
L          1
SLD     4
+AR1
L          D[AR1,P#0.0]
SRD     3
T          #ST_DRY_ADDRESS  _WORD

问题补充:
还是没有搞清楚,能不能在每个指令后面注释下!

最佳答案

L           P##IN_DRY_ADDRESS    //装载指针地址#IN_DRY_ADDRESS 
LARI                                             //装载到地址寄存器1里面
L          1                                       //装载1到ACCU1里
SLD     4                                       //左移动4位,相当于乘以16 所以是16
+AR1                                            // 这个时候AR1的值为:262
L          D[AR1,P#0.0]                    //DBD262的值
SRD     3                                         //右移动3位相当于除以8
T          #ST_DRY_ADDRESS  _WORD   //DBD262的值除以8
首先要了解每一条指令的作用,然后下载一个有关指针寻址的资料看看,资料连接(我也常看这个资料):《S7-300和S7-400寻址》http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=

提问者对于答案的评价:
谢谢您的回答和你的资料~~还要认真学习。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc233041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午1:31
下一篇 2018年12月1日

相关推荐