間接尋址是指使用地址指針來存取存儲(chu) 器中的數據。使用前,首先將數據所在單元的內(nei) 存地址放入地址指針寄存器中,然後根據此地址存取數據。S7-200 CPU中允許使用指針進行間接尋址的元器件有I、Q、V、M、S、T、C。
建立內(nei) 存地址的指針為(wei) 雙字長度(32位),故可以使用V、L、AC作為(wei) 地址指針。必須采用雙字傳(chuan) 送指令(MOVD)將內(nei) 存的某個(ge) 地址移入到指針當中,以生成地址指針。指令中的操作數(內(nei) 存地址)必須使用“&”符號表示內(nei) 存某一位置的地址(長度為(wei) 32位)。例如:
MOVD &VB200, AC1
表示將VB200在存儲(chu) 器的32位物理地址值送AC1。VB200是直接地址編號,&為(wei) 取地址符號。將本指令中&VB200改為(wei) &VW200或VD200,指令功能不變。
在使用指針存取數據的指令中,操作數前加有*時表示該操作數為(wei) 地址指針。例如:
MOVW *AC1. AC0
表示將AC1作為(wei) 內(nei) 存地址指針,把以AC1中內(nei) 容為(wei) 起始地址的內(nei) 存單元的16位數據送到累加器AC0中。