1. 什麼是直接定址,什麼是間接定址,什麼是存儲器定址
一、直接定址方式
指令所要的操作數存放在內存中,在指令中直接給出該操作數的有效地址,這種定址方式為直接定址方式。
在通常情況下,操作數存放在數據段中,所以,其物理地址將由數據段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那麼,操作數可存放在其它段。
如
MOV
BX,
[1234H]
二、寄存器間接定址方式
操作數在存儲器中,操作數的有效地址用SI、DI、BX和BP等四個寄存器之一來指定,稱這種定址方式為寄存器間接定址方式。
在不使用段超越前綴的情況下,有下列規定:
若有效地址用SI、DI和BX等之一來指定,則其預設的段寄存器為DS;
若有效地址用BP來指定,則其預設的段寄存器為SS(即:堆棧段)。
如
MOV
BX,[DI]
2. 如何區分定址方式
定址方式是指如何對指令中的地址欄位進行解釋,以獲得操作數的方法或獲得程序轉移地址的方法.常見的定址方式有立即定址、直接定址、間接定址、寄存器定址、寄存器間接定址、相對定址和變址定址等.
在立即定址方式中,操作數包含在指令中;在直接定址分式中,操作數存放在內存單元中,指令中直接給出操作數所在存儲單元的地址;在寄存器定址方式中,操作數存放在某一寄存器中,指令中給出存放操作數的寄存器名;在間接定址方式中,指令中給出了操作數地址的地址;在相對定址方式中,在指令地址碼部分給出一個偏移量(可正可負),操作數地址等於本條指令的地址加上該偏移量;在變址定址方式中,操作數地址等於變址寄存器的內容加偏移量.
3. 1採用直接定址方式則操作數在()中A主存B寄存器C直接存取存儲器D光碟 2名詞解釋:控制存儲器(cpu內的)
採用直接定址方式操作數在寄存器中。
指令直接包含有操作數的有效地址(偏移地址)。
操作數一般存放在數據段,所以操作數的地址由DS加上指令中直接給出的16位偏移得到。如果採用段超越前綴,則操作數也可包含在數據段外的其他段中。例如:MOV AX,[8054]。
(3)直接定址存儲單元地址在哪裡擴展閱讀:
控制存儲器用來存放實現全部指令系統的所有微程序,它是一種只讀型存儲器 。一旦微程序固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執行這條微指令;接著又讀出下一條微指令。又執行這一條微指令.讀出一條微指令並執行微指令的時間總和稱為一個微指令周期。
通常,在串列方式的微程序控制器中。微指令周期就是只讀存儲器的工作周期。控制存儲器的字長就是微指令字的長度,其存儲容量視機器指令系統而定,即取決於微程序的數量。對控制存儲器的要求是讀出周期要短,因此通常採用雙極型半導體只讀存儲器。控制存儲器的容量為微指令數與字長的乘積。
4. 定址的定址操作方法
就是指定指令要進行操作的地址。給定指令操作的地址方法,就是定址方法。完整的一條指令,應該包含指令符+操作數(當然不包括那些單指令,比如NOT等)。其中的操作數是指令要執行的目標,也就是指令要進行操作的地址。
我們知道,在PLC中劃有各種用途的存儲區,比如物理輸入輸出區P、映像輸入區I、映像輸出區Q、位存儲區M、定時器T、計數器C、數據區DB和L等,同時我們還知道,每個區域可以用位(BIT)、位元組(BYTE)、字(WORD)、雙字(DWORD)來衡量,或者說來指定確切的大小。當然定時器T、計數器C不存在這種衡量體制,它們僅用位來衡量。由此我們可以得到,要描述一個地址,至少應該包含兩個要素:1、存儲的區域
2、這個區域中具體的位置比如:AQ2.0
其中的A是指令符,Q2.0是A的操作數,也就是地址。這個地址由兩部分組成:Q:指的是映像輸出區; 2.0:就是這個映像輸出區第二個位元組的第0位。由此,我們得出,一個確切的地址組成應該是:〖存儲區符〗〖存儲區尺寸符〗〖尺寸數值〗.〖位數值〗。
分類:
直接定址,簡單的說,就是直接給出指令的確切操作數. 直接定址方式常用於處理內存單元的數據,其操作數是內存變數的值,該定址方式可在64K位元組的段內進行定址。注意:立即定址方式和直接定址方式的書寫格式的不同,直接定址的地址要寫在括弧「[」,「]」內。在程序中,直接地址通常用內存變數名來表示,如:MOV BX, VARW,其中,VARW是內存字變數。
間接定址就是間接的給出指令的確切操作數。間接定址方式計有兩大類型:存儲器間接定址和寄存器間接定址。
存儲器間接定址指針,是作為指定的存儲區域的確切數值單元來運用的。也就是說,指針不包含區域標識,它只是指明了一個數值。
存儲器間接定址的地址給定格式是:地址標識符+指針。指針所指示存儲單元中所包含的數值,就是地址的確切數值單元。
存儲器間接定址具有兩個指針格式:單字和雙字。
單字指針是一個16bit的結構,從0-15bit,指示一個從0-65535的數值,這個數值就是被定址的存儲區域的編號。
雙字指針是一個32bit的結構,從0-2bit,共三位,按照8進制指示被定址的位編號,也就是0-7;而從3-18bit,共16位,指示一個從0-65535的數值,這個數值就是被定址的位元組編號。
指針可以存放在M、DI、DB和L區域中,也就是說,可以用這些區域的內容來做指針。
單字指針和雙字指針在使用上有很大區別。單字指針的存儲器間接定址只能用在地址標識符是非位的場合;雙字指針由於有位格式存在,所以對地址標識符沒有限制。也正是由於雙字指針是一個具有位的指針,因此,當對位元組、字或者雙字存儲區地址進行定址時,必須確保雙字指針的內容是8或者8的倍數。
5. 程序存儲器中的數據怎麼定址
程序存儲器指令地址使用程序計數器PC指針,PC中存放的是下一條將要從程序存儲器中取出的指令的地址。程序計數器PC變化的軌跡決定程序的流程,PC最基本的工作方式是自動加1。
在執行條件轉移或無條件轉移指令時,將轉移的目的地址送入程序計數器,程序流向發生變化。在執行調用指令或響應中斷時,將子程序的入口地址或者中斷矢量地址送人PC,程序流向發生變化。
DPTR是一個16位特殊功能寄存器,主要功能是作為片外數據存儲器或I/0定址用的地址寄存器,這時會產生RD或wR控制信號,用於單片機對外擴的數據存儲器或I/0的控制。數據指針DPTR也可以作為訪問程序存儲器時的基址寄存器,此時是定址程序存儲器中的表格、常數等單元,而不是定址指令。
6. 什麼是直接定址,什麼是間接定址,什麼是存儲器定址,還有什麼定址的都給我介紹一下,並都舉個例子吧
直接定址方式:
指令的地址碼部分直接給出的不是操作數,而是操作數的存儲器地址,這種方式稱為直接定址方式。根據指令地址碼部分給出的直接地址A就可以從存儲器中讀出所需要的操作數。這種定址方式簡單,直觀,也便於硬體實現,但是隨著計算機的存儲器容量不斷擴大,所需要的地址碼越來越長,勢必造成指令的一部分,不能修改,故只能用來訪問固定存儲器單元。
如果匯編原程序中跳轉指令中使用的是標號,編譯後是直接跳轉,如果使用了寄存器參量的就是間接跳轉的了。
只能說內存定址的大小與CPU位數有關,但不完全有CPU位數決定,這里有人為的設置,同為64位的CPU,定址大小、方式也是不一樣的,舉個例子:
人為限制內存地址用8位2進制數表示,那他的定址大小是2的8次方,就是256,也就是可以支持256比特大小的內存,以此類推,所以要看你的CPU是怎麼定義內存地址的。
如果你為了玩游戲沒必要關心這些,只要知道怎麼配置快就行了,如果你想學點東西,可以找本書看看,這不是什麼復雜的問題,在電子電路中是比較基礎的東西,因為不知道定址方式是無法設計電路和編程的。
你可以去INTEL網站下技術白皮書,裡面很詳細
參考資料:http://..com/question/2881954.html?si=1
7. 存儲器地址線定址怎麼求
計算機有多種定址方式,如立即數定址方式,寄存器定址,存儲器定址方式,與I/0埠有關的定址方式,又包括直接埠定址和間接埠定址。
8. 地址匯流排如何尋找各個存儲單元的
CPU定址有很多種模式,並不是像問題中所說的是掃描法。定址方式如下:
1.
立即定址
2.
直接定址
3.
寄存器定址
4.
寄存器間接定址
5.
寄存器相對定址方式
6.
基址變址定址
7.
相對基址變址定址
這是基本的定址方式,每個程序都有不同的定址演算法,什麼時候使用,什麼時候釋放,是定義好了的。
如果你要真想弄明白,建議你去看一下《計算機原理》一書。
9. 隱含定址,立即定址和直接定址的區別,直接定址還好說就是存儲器里直接放著操作數的地址,那個隱含定址和
立即定址就是在原來存放地址的地方直接存儲你要操作的數字的二進制形式,就不需要訪存去找數到底是多少了
隱含定址應該是特定用於有兩個操作數的時候,指令的地址碼還是存放其中一個操作數的真實地址,這一部分和直接定址是一樣的,但是另外一個操作數會直接存放在某個寄存器中然後直接輸入到ALU里
最近也在自學,希望能幫助到你,哪裡不對,歡迎指正
10. 什麼是存儲單元的地址什麼是存儲單元的內容
地址為一個無符號整數,為了書寫方便和編程,在源程序中常用十六進制數或符號來表示一個存儲單元的地址。每一個單元的地址稱為位元組地址,任何相鄰兩個單元組成一個字地址,按編址原則約定用其中一個較小的地址來表示字地址。一個字由兩個位元組組成,則低位元組對應低地址,高位元組對應高地址。
存放在內存單元中的信息稱為存儲單元內容,按地址的表示類型,存儲單元的內容分位元組地址內容字地址內容和雙字地址內容。
(10)直接定址存儲單元地址在哪裡擴展閱讀
存儲地址用十六進制數表示,而每一個存儲器地址中又存放著一組二進制(或十六進制)表示的數,通常稱為該地址的內容。存儲單元的地址和地址中的內容兩者是不一樣的。前者是存儲單元的編號,表示存儲器總的一個位置,而後者表示這個位置里存放的數據。正如一個是房間號碼,一個是房間里住的人一樣。
如果機器字長等於存儲器單元的位數,一個機器字可以包含數個位元組,所以一個存儲單元也可以包含數個能夠單獨編址的位元組地址。例如一個16位二進制的字存儲單元可存放兩個位元組,可以按字地址定址,也可以按位元組地址定址。當用位元組地址定址時,16位的存儲單元占兩個位元組地址。