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

電子電路設(shè)計中常用的接地方式詳解

各類電機有沒有編碼器?如何分類?
電源盒的分類有哪些
調(diào)制方式的分類與比較
AN-152:電力系統(tǒng)管理尋址

屏蔽雙絞線的絞合方式分類
斷路器的分類及應(yīng)用領(lǐng)域
生物芯片有哪些分類
常見室內(nèi)定位技術(shù)詳解及其發(fā)展
利用位反轉(zhuǎn)尋址實現(xiàn)循環(huán)緩沖器

評論