假设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