s7-200編程語言的基本單位是語句,而語句的構成是指令,每條指令有兩部分:一部分是操作碼,另一部分是操作數。操作碼是指出這條指令的功能是什么,操作數則指明了操作碼所需要的數據所在。所謂尋址,就是尋找操作數的過程。s7-200 cpu的尋址分三種:立即尋址、直接尋址、間接尋址。
1.立即尋址
在一條指令中,如果操作碼后面的操作數就是操作碼所需要的具體數據,這種指令的尋址方式就叫立即尋址。
如:在傳送指令中:mov in out——操作碼“mov”指出該指令的功能把in中的數據傳送到out中,其中in——源操作數,out——目標操作數。
若該指令為:movd 2505 vd500
功能:將十進制數2505傳送到vd500中,這里2505就是源操作數。因這個操作數的數值已經在指令中了,不用再去尋找,這個操作數即立即數。這個尋址方式就是立即尋址方式。而目標操作數的數值在指令中并未給出,只給出了要傳送到的地址vd500,這個操作數的尋址方式就是直接尋址。
2.直接尋址
在一條指令中,如果操作碼后面的操作數是以操作數所在地址的形式出現的,這種指令的尋址方式就叫直接尋址。
如:movd vd400 vd500
功能:將vd400中的雙字數據傳給vd500
3.間接尋址
在一條指令中,如果操作碼后面的操作數是以操作數所在地址的地址形式出現的,這種指令的尋址方式就叫間接尋址。
如:movd 2505 *vd500
*vd500是指存放2505的地址的地址。
如vd500中存放的是vb0,則vd0則是存放2505的地址。
該指令的功能:將十進制數2505傳送給vd0地址中。