L #DB_ADR //加載地址基址
SLD 8 //左移8位,為什麽要左移?因為模擬模塊的地址默認從256開始。
LAR1 //將模擬模塊的第壹個地址載入地址寄存器。
L #AI_COUNT //加載計數器
Lp1: T #anzahl_loop //將計數器作為循環變量。
L DBW [AR1,P#2.0]壹次移動2個,也就是這次256,下次258260。
T #zs_pew
您應該還沒有發布循環指令。
壹次移動3位的原因是為了形成壹個32位的地址指針。在STL中,地址指針分為16位和32位,16位用於計數器、定時器、數據塊號等尋址,32位指針用於尋址特定地址。
例如,對於DBWMD0,MD0中的數據需要左移3位,以形成用於尋址的32位指針。
在妳的程序中,DBW [AR1,P#2.0]使用了壹個地址寄存器,寄存器中的所有地址都是指針。這句話相當於DBWAR1=AR1+2.0。