什么是間接尋址?
閱讀:2248 發(fā)布時(shí)間:2021-4-28
S7-200的間接尋址與FX系列的變址寄存器的作用相同,用于修改操作數(shù)的地址,常用于循環(huán)指令。
使用間接尋址之前,首先應(yīng)創(chuàng)建一個(gè)指向初始地址的指針。指針為雙字值,用來(lái)存放另一個(gè)存儲(chǔ)器的地址,只能用變量存儲(chǔ)
器V、局部變量L或累加器作指針。雙字傳送指令“MOVD&VBO,VD4”將VBO的存儲(chǔ)器地址送到指針VD4中。
圖4-3中的&VBO表示VBO的地址,而不是VBO中的數(shù)據(jù)。值得注意的是只能裝入字節(jié)的地址,如果使用&VWO或&VDO,編程軟件將會(huì)自動(dòng)改正為&VBO。

圖4-3中的指令“MOVW *VD4.VW8”表示將一個(gè)存儲(chǔ)器字中的數(shù)據(jù)傳送到VW8,這個(gè)存儲(chǔ)器字的地址在VD4中,這種尋址方式就是間接尋址。*VD4表示VD4是一個(gè)指針,’VD4是VD4所指的地址中的數(shù)據(jù)。雖然裝入指針的是字節(jié)地址,但是可以用指針來(lái)訪問(wèn)字和雙字。
因?yàn)橹羔樖?2位數(shù)據(jù),為了存取下一個(gè)存儲(chǔ)單元的值,應(yīng)使用雙字指令來(lái)修改指針值,例如雙字加法(ADDD)或雙字加1 (INCD)指令。修改時(shí)記住需要調(diào)整的存儲(chǔ)器地址的字節(jié)數(shù):存取字節(jié)時(shí),指針值加1;存取字時(shí),指針值加2;存取雙字時(shí),指針值加4