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