存儲地址定址方式
1. S7-200PLC存儲器定址方式有哪幾種
S7-200PLC根據存儲器的編程元件,把數據存儲在不同的存儲單元,通過每個單元的地址 進行數據訪問,訪問數據的過程稱為「定址」,根據訪問數據存取的方式不同.可劃分為直接定址和間接定址。
1.直接定址
直接定址就是明確存儲器的區域、長度和位置,直接使用存儲器編程元件的名稱和地址進行數據交換,使用戶程序直接存取這些數據。直接定址包括位定址、位元組定址、字定址、雙字定址等方式。
(1)位定址方式
位(bit)定址方式用來表示「開關量或邏輯量」的工作過程。進行位定址時,要指定存儲器 編程元件的名稱、位元組地址和位地址,並把該位看成是一個獨立的元件。
(2)位元組、字、雙字定址方式
除了按位定址方式外,還可按數據存儲區域(I、Q、M、V、L、 S、SM等)的位元組、字和雙字的地址格式存取數據,進行位元組、字、雙字定址方式時,要指定存儲區域標識符、數據長度和起始地址。
2.間接定址
間接定址是使用指針的方式來訪問存儲器中的數據,而不是直接使用編程元件的地址編號 來訪問存儲器中的數據。
2. 內存定址方式具體是指什麼
一、隱含定址 在指令中不明顯的給出而是隱含著操哪滲作數的地址。例如,單地址的指令格式,沒有在地址欄位中指明第二操作數地址,而是規定累加寄指緩灶存器AC作為第二操作數地址,AC對單地址指令格式來說是隱含地址。二、立即定址 指令的地址欄位指出的不是操作數的地址,而是操作數本身。這種方式的特點是指令執行時間很短,不需要訪問內存取數。 例如:單地址的移位指令格式為 OP(移位) F D這里D不是地址,而是一個操作數。F為標志位,當F=1,操作數進行右移;當F=0時,操作唯扮數進行左移。三、直接定址 直接定址特點是:在指令格式的地址欄位中直接指出操作數在內存的地址D。點擊演示 採用直接定址方式時,指令字中的形式地址D就是操作數的有效地址E,既E=D。因此通常把形式地址。 點擊演示D又稱為直接地址。此時,由定址模式給予指示。 如果用S表示操作數,那麼直接定址的邏輯表達式為 S=(E)=(D)四、間接定址 間接定址的情況下,指令地址欄位中的形式地址D不是操作數的真正地址,而是操作數地址的指示器,D單元的內容才是操作數的有效地址。 如果把直接定址和間接定址結合起來,指令有如下形式: 操作碼 I D 定址特徵位I=0,表示直接定址,這時有效地址E=D;I=1,表示間接定址,這時有效地址E=(D)。 間接定址方式是早期計算機中經常採用的方式,但由於兩次訪存,影響指令執行速度,現在已不大使用。五、寄存器定址方式和寄存器間接定址方式 當操作數不放在內存中,而是放在CPU的通用寄存器中時,可採用寄存器定址方式。此時指令中給出的操作數地址不是內存的地址單元號,而是通用寄存器的編號。 寄存器間接定址方式與寄存器定址方式的區別在於:指令格式中的寄存器內容不是操作數,而是操作數的地址,該地址指明的操作數在內存中。六、相對定址方式 相對定址是把程序計數器PC的內容加上指令格式中的形式地址D而形成操作數的有效地址。程序計數器的內容就是當前指令的地址。「相對」定址,就是相對於當前的指令地址而言。 點擊演示 採用相對定址方式的好處是程序員無須用指令的絕對地址編程,所編程序可以放在內存任何地方。 此時形式地址D通常稱為偏移量,其值可正可負,相對於當前指令地址進行浮動。七、基址定址方式基址定址方式是將CPU中基址寄存器的內容加上指令格式中的形式地址而形成操作數的有效地址。點擊演示它的優點是可以擴大定址能力。同形式地址相比,基址寄存器的位數可以設置得很長,從而可以在較大的存儲空間中定址。八、變址定址方式 變址定址方式與基址定址方式計算有效地址的方法很相似,它把CPU中某個變址寄存器的內容與偏移量D相加來形成操作數有效地址。 但使用變址定址方式的目的不在於擴大定址空間,而在於實現程序塊的規律性變化。九、塊定址方式 塊定址方式經常用在輸入輸出指令中,以實現外存儲器或外圍設備同內存之間的數據塊傳送。塊定址方式在內存中還可用於數據塊搬家。 塊定址時,通常在指令中指出數據塊的起始地址(首地址)和數據塊的長度(字數或位元組數)。 如果數據塊是變長的,可用三種方法指出它的長度: (1)指令中劃出欄位指出長度; (2)指令格式中指出數據塊的首地址與末地址; (3)由塊結束字元指出數據塊長度。 操作碼 首地址 標志位 末地址十、段定址方式 微型機中採用了段定址方式,例如它們可以給定一個20位的地址,從而有1M存儲空間的直接定址能力。為此將整個1M空間存儲器以64K為單位劃分成若干段。在定址一個內存具體單元時,由一個基地址再加上某些寄存器提供的16位偏移量來形成實際的20位物理地址。這個基地址就是CPU中的段寄存器。在形成20位物理地址時,段寄存器中的16位數會自動左移4位,然後以16位偏移量相加,即可形成所需的內存地址。
3. 計算機中常用的定址方式有哪幾種
存取數據有關的定址方式:立即定址 、寄存器定址、直接定址、寄存器間接定址、寄存器相對定址、基址變址定址、相對基址變址定址與程序控制有關的定址方式:段內直接定址、段間直接定址、段內間接定址、段間間接定址。
定址方式是指尋找指令或操作數有效地址的方式,也就是指確定本條指令的數據地址,以及下一條將要執行的指令地址的方式。
(3)存儲地址定址方式擴展閱讀:
指令中的地址碼欄位並不代表操作數的真實地址,稱為形式地址(A)。用形式地址並結合定址方式,可以計算出操作數在存儲器中的真實地址,稱為有效地址(EA)。尋找下一條要執行的指令地址稱為指令定址,尋找操作數的地址稱為數據定址。
1、指令定址
指令定址方式分為順序定址方式和跳躍定址方式。
1)順序定址方式可通過程序計數器PC加1,自動形成下一條指令的地址。
2)跳躍定址則通過轉移指令實現。所謂跳躍,是指下條指令的地址碼不是由程序計數器給出的,而是由本條指令給出。
2、數據定址
數據定址是如何在指令中表示一個操作數的地址,如何用這種表示得到操作數或怎樣計算出操作數的地址。
數據定址方式的種類較多,為了區別各種方式,通常在指令中設一個欄位,用來指明屬於屬於那種定址方式。
4. 什麼是直接定址,什麼是間接定址,什麼是存儲器定址
直接定址方式:
指令的地址碼部分直接給出的不是操作數,而是操作數的存儲器地址,這種方式稱為直接定址方式。根據指令地址碼部分給出的直接地址A就可以從存儲器中讀出所需要的操作數。這種定址方式簡單,直觀,也便於硬體實現,但是隨著計算機的存儲器容量不斷擴大,所需要的地址碼越來越長,勢必造成指令的一部分,不能修改,故只能用來訪問固定存儲器單元。
如果匯編原程序中跳轉指令中使用的是標號,編譯後是直接跳轉,如果使用了寄存器參量的就是間接跳轉的了。
只能說內存定址的大小與CPU位數有關,但不完全有CPU位數決定,這里有人為的設置,同為64位的CPU,定址大小、方式也是不一樣的,舉個例子:
人為限制內存地址用8位2進制數表示,那他的定址大小是2的8次方,就是256,也就是可以支持256比特大小的內存,以此類推,所以要看你的CPU是怎麼定義內存地址的。
如果你為了玩游戲沒必要關心這些,只要知道怎麼配置快就行了,如果你想學點東西,可以找本書看看,這不是什麼復雜的問題,在電子電路中是比較基礎的東西,因為不知道定址方式是無法設計電路和編程的。
你可以去INTEL網站下技術白皮書,裡面很詳細
5. 80x86中寄存器定址方式和存儲器定址方式是啥意思
首先內存和寄存器都是可以存放數據的
而寄存器是就那麼幾個,不可能把所有數據都放在寄存器里
寄存器裡面是有值的,如果直接丟給CPU運算,就是寄存器定址。
如果把寄存器裡面的數當作地址編改搭號,跟據編號在內存里找到另一個數,就是存儲器定址。
CS,DS,ES,SS是CPU的寄存器虛殲野
MOV
AX,DS
都是寄存器定址方式(它們本身都有值)。差喊
MOV
AX,[2000]
這個指令有兩種定址方式
AX表式寄存器定址方式,[2000]表示直接定址方式(存儲器定址方式的一種)
反正只要帶上中括弧的全是存儲器定址方式,而寄存器定址就只有一種(例如:AX)
6. 什麼是直接定址,什麼是間接定址,什麼是存儲器定址
一、直接定址方式
指令所要的操作數存放在內存中,在指令中直接給出該操作數的有效地址,這種定址方式為直接定址方式。
在通常情況下,操作數存放在數據段中,所以,其物理地址將由數據段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那麼,操作數可存放在其它段。
如
MOV
BX,
[1234H]
二、寄存器間接定址方式
操作數在存儲器中,操作數的有效地址用SI、DI、BX和BP等四個寄存器之一來指定,稱這種定址方式為寄存器間接定址方式。
在不使用段超越前綴的情況下,有下列規定:
若有效地址用SI、DI和BX等之一來指定,則其預設的段寄存器為DS;
若有效地址用BP來指定,則其預設的段寄存器為SS(即:堆棧段)。
如
MOV
BX,[DI]
7. 存儲器定址方式有哪些
存儲器定址可進一步分為直接定址、寄存器間接定址、寄存器相對定址、基址變址定址、相對基址變址定址
8. 訪問程序存儲器中的常數數據,可以使用哪些定址方式
1立即數定址;2寄存器定址;3.主存定址。
直接在指令中給出操作數,不需要存儲單元,執行速度快,但是顯然數據也不能冗長,通用型性就差,一般用來指定一些要求不高的整形整數。操作數來源於寄存器,結果也寫回寄存器。顯然這個主要用到寄存器,這也是他的名字的由來。
指令特點
MCS-51的指令系統由111條指令組成。如果按位元組數分類,有49條單位元組指令,46條雙位元組指令和16條三位元組指令,以單位元組指令為主;如果按照指令執行時間分類,有64條單周期指令、45條雙周期指令和2條四周期指令,以單周期指令為主。存儲效率高、執行速度快,可以進行直接地址到直接地址的數據傳送,能把一個並行I/O口中的內容傳送到內部RAM單元中而不必經過累加器A或工作寄存器Rn。這樣可以大大提高傳送速度和緩解累加器A的瓶頸效應。
9. 要訪問特殊功能寄存器和片外數據存儲器,可採用哪些定址方式
採用直接定址方式。
位定址也可,但是這仍然屬於直接定址。
不能用寄存器定址和寄存器間接定址。
在指令格式的地址的欄位中直接指出操作數在內存的地址。由於操作數的地址直接給出而不需要經過某種變換,所以稱這種定址方式為直接定址方式。在指令中直接給出參與運算的操作數及運算結果所存放的主存地址,即在指令中直接給出有效地址。
(9)存儲地址定址方式擴展閱讀:
在直接定址中,指令操作數欄位中存放的是操作數的16位偏移地址EA,即操作數的偏移地址EA和操作碼一起存放在代碼段中,而操作數可以存放在數據段,也可以存放在其它段,操作數的物理地址由其所在段的寄存器內容左移4位與指令中給出的偏移地址EA相加形成。
物理地址PH=(DS)*10H+EA(Disp)EA可以用符號或數值表示。如果用數值表示EA則必須用括弧括起來,而且是在方括弧前應給出段寄存器名,直接定址的操作數可以是字或位元組。
10. 定址方式有哪幾種
品牌型號:Redmibook Pro 15系統:Windows 10
定址方式有立即定址 、寄存野行器定址、直接定址、寄存器間接定址、寄存器相對定址、基址變址定址、相對基址變址定址與程序控制有關的定址。
定址方式就是處理器根據指令中給出的地址信息來尋找有效地址的方式,是確定本條指令的數據地址以及下一條要執行的指令地址的方法。在存稿冊儲器中,操作數或指令字寫入或讀出的方式,有地址指定方式、頌敬嘩相聯存儲方式和堆棧存取方式。幾乎所有的計算機,在內存中都採用地址指定方式。
當採用地址指定方式時,形成操作數或指令地址的方式稱為定址方式。定址方式分為兩類,即指令定址方式和數據定址方式,前者比較簡單,後者比較復雜。值得注意的是,在傳統方式設計的計算機中,內存中指令的定址與數據的定址是交替進行的。