2017-03-14 14:20:26

指針用來指向一個地址。使用這種尋址方式的優點在於可以在程序運行過程中實現變址。 指針用於存儲器間接尋址 
   程序中用於存儲器間接尋址的語句包含一個指令、一個地址標識符、以及一個偏移量(偏移量必須在方括號內給出)。 
  
  下麵給出一個雙字格式的指針的例子:
   L P#8.7 把指針值裝載到累加器1
   T I[MD2] 把指針值傳送到MD2
   A I[MD2] 查詢I8.7的信號狀態
   = Q[MD2] 給輸出位Q8.7賦值
  
  存儲區域內部尋址及交叉尋址 :程序中采用這些尋址方式的語句包含一個指令以及下列內容:地址標識符、地址寄存器標識符、偏移量。地址
  
  寄存器(AR1、AR2)及偏移量必須寫在方括號內。
   
  存儲區域內部尋址例程 :指針不包含指示存儲區域的信息:
   L P#8.7 把指針值裝載到累加器1
   LAR1 把指針從累加器1裝載到AR1
   A I[AR1,P#0.0] 查詢I8.7的信號狀態
   = Q[AR1,P#1.1] 給輸出位Q10.0賦值
  偏移量0.0不起作用。輸出Q10.0 等於8.7 (AR1) 加偏移量1.1。結果是10.0 ,而不是9.8。
  
  存儲區域交叉尋址例程 :在存儲區域交叉尋址中,指針中包含指示存儲區域的信息(例子中為 I 和 Q)。
   L P#I8.7 把指針值及存儲區域標識裝載到累加器1
   LAR1 把存儲區域I 和地址8.7裝載到AR1
   L P#Q8.7 把指針值和地址標識符裝載到累加器1
   LAR2 把存儲區域Q和地址8.7裝載到AR2
   A [AR1,P#0.0] 查詢輸入位I8.7的信號狀態
   = [AR2,P#1.1] 給輸出位Q10.0賦值
  偏移量0.0不起作用。輸出Q10.0 等於8.7 (AR2) 加偏移量1.1。結果是10.0 ,而不是9.8, 

第1頁  

http://www.autooo.net/autooo/elec/news/2017-03-14/170864.html