這個程序的值是多少。
劉玉蓉
發(fā)布于2014-11-19 17:28
69
0
標(biāo)簽:
假設(shè)L P##IN_DRY_ADDRESS的值是P#260,那么它經(jīng)過移動后的值是多少。麻煩您寫詳細點,理解能力有限。
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位,相當(dāng)于乘以16 所以是16
+AR1 // 這個時候AR1的值為:262
L D[AR1,P#0.0] //DBD262的值
SRD 3 //右移動3位相當(dāng)于除以8
T #ST_DRY_ADDRESS _WORD //DBD262的值除以8
首先要了解每一條指令的作用,然后下載一個有關(guān)指針尋址的資料看看,資料連接(我也??催@個資料):《S7-300和S7-400尋址》https://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=