分類:尋址方式從大的方面可以分成直接尋址和間接尋址。
直接尋址就像甲要和乙說話直接叫乙的名字就可以了,甲直接和乙建立聯。
間接尋址就像甲要和乙說話,而乙在另外一個城市,甲就寫了一封信通過郵遞員送給乙,甲通過郵遞員間接和乙建立聯系,這就叫間接尋址。間接尋址中指針就充當了郵遞員的角色。
直接尋址分為:絕對地址尋址,符號尋址
間接尋址分為:存儲器間接尋址,寄存器間接尋址。
一、直接尋址
直接尋址是最簡單的尋址方法,也是編程中最常用的尋址方式。
①絕對地址尋址
絕對地址尋址就是直接調用要使用的地址
示例:
I0.0 Q1.0 MW0
②符號尋址
符號尋址就是通過符號表中的絕對地址的命名進行尋址
示例:
用下圖中的I_Motor_Start進行尋址。
二、間接尋址
間接尋址是比較復雜的尋址方式,也是我們這里重點講解的地方,間接尋址需重點理解指針的概念。
指針:理解指針主要需要理解指針的兩個特性。
A.存儲性:存儲性指的是指針也是一段存儲空間,它的存儲內容是地址。
B.指向性:因為指針存放的內容是地址,那么指針中存放的是哪一個地址,我們就說指針指向了這個地址所對應的存儲空間,這就是指針的指向性。
A.存儲器間接尋址
【A1】16位指針尋址:
1)、16位指針存儲空間
16位指針存儲空間是16位,2個字節,通過這2個字節的空間來存放變量的地址。
2)、16位指針尋址范圍
16位指針只能對計時器(T),計數器(C),數據塊(DB,DI)的號,程序塊(FB,FC)的號進行尋址,也就是這2個字節的存儲空間中只能存放計時器的編號,計數器的編號,數據塊的編號,程序塊的編號。
3)、16位指針尋址表示格式
16位指針尋址表示格式為:區域標示符[16位地址指針]
示例:
DB [MW0] //表示對DB塊進行尋址,MW0中如果存儲的是1,那么該尋址結果為DB1,也就是通過該指令找到了DB1數據塊。
T [MW2] //表示對計時器進行尋址,MW2中如果存放的是2,那么該尋址結果為T2,也就是通過該指令找到了計時器T2。
4)、16位指針尋址程序示例
例1:
L 2//將2進行裝載
T MW 0//將2傳送到MW0
A I 0.0//如果I0.0 = True
L S5T#10S//裝載時間
SD T [MW0]//T開始計時
例2:
L 1//將1進行裝載
T MW 0//將1傳送到MW0
OPN DB [MW 0]//打開DB1
L 10//將10進行裝載
T DBW 0//將10傳送到DB1.DBW0中
L DBW 0//將DB1.DBW0進行裝載
T MW 2//將DB1.DBW0傳送到MW2中
【A2】32位指針尋址
1)、32位指針存儲空間
32位指針存儲空間是32位,4個字節,通過這4個字節的空間來存放變量的地址。
2)、32位指針尋址范圍
32位指針能對I、Q、M、L、數據塊的位、字節、字、雙字進行尋址,也就是這4個字節的存儲空間中能對上述存儲類型中的位、字節、字、雙字的地址進行存儲。
3)、32位指針存儲格式
4)、32位指針尋址表示格式
32位指針尋址表示格式為:地址存儲器標示符[32位地址指針]
示例:
I[MD0]//I表示輸入存儲區,MD0存儲地址信息。
Q[MD4]//Q表示輸出存儲區,MD4存儲地址信息。
5)、32位指針三種尋址方法
①直接輸入10進制數尋址(最復雜最不直觀的尋址方式,不推薦使用)。
②將輸入的10進制數左移3位進行尋址(比較直觀的尋址方式)。
③利用 P#字節.位 格式進行尋址(最直觀最方便的尋址方式,推薦使用)。
6)、32位指針三種尋址方法舉例
例1:直接輸入10進制數尋址
該程序實現的是兩個數相加的功能。
這里我們要重點理解為什么第六句將10傳送到了MW4中,而不是MW32中,為什么第八句將15傳送到了MW6中,而不是MW48中。
這是因為32,和48存放到指針中是按照32位二進制數進行存放的,下面我們通過將48存放到MD24來進行舉例說明
由上圖可知將48放進MD24則MW[MD24]指向了MW6
例2:左移3為進行尋址
由于將10進制數對應的2進制數左移三位后,字節存儲區的二進制數和該10進制數對應的2進制數又相同了,而位存儲區變為0,所以這樣的尋址要比例1的尋址方式顯得更為直觀,便于使用和理解。
例3:以 P#字節.位 格式進行尋址
通過這個實例我們可以發現直接使用P#字節.位的尋址方式是最直觀方便的。
B.寄存器間接尋址
寄存器間接尋址使用的是CPU的地址寄存器AR1和AR2
B1)、尋址格式
區域標示符[AR1/AR2,P#X]
注:
①AR1/AR2表示地址寄存器AR1或者AR2,地址寄存器中只能存放地址。
②P#X表示偏移量X是偏移具體數值。
B2)、寄存器間接尋址示例
-
程序
+關注
關注
116文章
3777瀏覽量
80853 -
尋址方式
+關注
關注
2文章
24瀏覽量
9956
發布評論請先 登錄
相關推薦
評論