❶ 什麼是直接定址,什麼是間接定址,什麼是存儲器定址,還有什麼定址的都給我介紹一下,並都舉個例子吧
直接定址方式:
指令的地址碼部分直接給出的不是操作數,而是操作數的存儲器地址,這種方式稱為直接定址方式。根據指令地址碼部分給出的直接地址A就可以從存儲器中讀出所需要的操作數。這種定址方式簡單,直觀,也便於硬體實現,但是隨著計算機的存儲器容量不斷擴大,所需要的地址碼越來越長,勢必造成指令的一部分,不能修改,故只能用來訪問固定存儲器單元。
如果匯編原程序中跳轉指令中使用的是標號,編譯後是直接跳轉,如果使用了寄存器參量的就是間接跳轉的了。
只能說內存定址的大小與CPU位數有關,但不完全有CPU位數決定,這里有人為的設置,同為64位的CPU,定址大小、方式也是不一樣的,舉個例子:
人為限制內存地址用8位2進制數表示,那他的定址大小是2的8次方,就是256,也就是可以支持256比特大小的內存,以此類推,所以要看你的CPU是怎麼定義內存地址的。
如果你為了玩游戲沒必要關心這些,只要知道怎麼配置快就行了,如果你想學點東西,可以找本書看看,這不是什麼復雜的問題,在電子電路中是比較基礎的東西,因為不知道定址方式是無法設計電路和編程的。
你可以去INTEL網站下技術白皮書,裡面很詳細
參考資料:http://..com/question/2881954.html?si=1
❷ 寄存器定址的含義是什麼
操作數在寄存器中,由指令操作碼中的rrr三位的值和PSW中RS1及RS0的狀態,選中某個工作寄存器區的某個寄存器,然後進行相應的指令操作。
指令所要的操作數已存儲在某寄存器中,或把目標操作數存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助憶符)的定址方式稱為寄存器定址方式。
指令中可以引用的寄存器及其符號名稱如下:
、8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;
、16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;
、32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。
寄存器定址方式是一種簡單快捷的定址方式,源和目的操作數都可以是寄存器。
1、源操作數是寄存器定址方式
如:ADD VARD, EAXADD VARW, AXMOV VARB, BH等。
其中:VARD、VARW和VARB是雙字,字和位元組類型的內存變數。在第4章將會學到如何定義它們。
2、目的操作數是寄存器定址方式
如:ADD BH, 78hADD AX, 1234hMOV EBX, 12345678H等。
3、源和目的操作數都是寄存器定址方式
如:MOV EAX, EBXMOV AX, BXMOV DH, BL等。
由於指令所需的操作數已存儲在寄存器中,或操作的結果存入寄存器,這樣,在指令執行過程中,會減少讀/寫存儲器單元的次數,所以,使用寄存器定址方式的指令具有較快的執行速度。通常情況下,我們提倡在編寫匯編語言程序時,應盡可能地使用寄存器定址方式,但也不要把它絕對化。
❸ 請問單片機中的「定址」到底是什麼意思啊直接定址、間接定址、分頁定址到底是什麼意思啊
定址的意思就是根據存儲地址找到存儲的數據,簡單的說就是通過門牌號碼找人,呵呵。
指令中直接給出操作數地址(dir)的定址方式稱為直接定址。定址對象為:1 內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。
以寄存器中的內容為地址,該地址的內容為操作數的定址方式稱為寄存器間接定址。能夠進行寄存器間接定址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器間接定址的存儲空間包括內部數據存儲器和外部數據存儲器。由於內部數據存儲器共有128位元組,因此用一位元組的R0和R1可間接定址整個空間。而外部數據存儲器最大可達64K,僅R0或R1無法定址整個空間,為此需要由P2埠提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同定址64K位元組范圍。也可用16位的DPTR寄存器間接定址64K位元組存儲空間。
分頁定址我不太清楚,好像這是linux內存空間的一種定址方式,51單片機是沒有的,51隻有7中定址方式。
其實,如果是入門的話,這些知識你不必深究,先學會怎麼應用即可,等你的知識深度到達一定層次的時候,你就會明白是什麼意思了。如果想完全了解的話,建議你去看看《微機原理》吧,上面說的很詳細,很清楚!
❹ 什麼是存儲器定址
存儲器
定址是
寄存器
與存儲器間的
定址方式
。使用存儲器定址的
指令
,其
操作數
通常存放在
代碼段
之外的存儲區,如
數據段
、
堆棧段
和附加段。指令中,通常給出的是
存儲單元
地址或產生存儲單元地址的有關信息。執行指令時,需要首先計算出數據存放的
有效地址
,接著計算出其在存儲器中的
物理地址
,然後訪問存儲器,讀取數據,再執行指令規定的基本操作。
❺ 什麼叫定址
舉個簡單點的例子,比如你在硬碟里保存了一首歌。
這首歌是保存在硬碟里某個磁軌上面的。
當你需要聽歌的時候,就需要找到這個磁軌,才能找到這首歌。
這個找到磁軌的過程,就是定址。
❻ 存儲器定址
如果是直接定址,32位的CPU最大定址范圍也就4GB.
一般的大容量存儲器都必須採用格式化的訪問方式才能訪問到全部的物理空間。也就是說必須使用文件系統才能夠訪問超過CPU定址范圍的內存空間。
(我是這樣認為的,不知道對不對。像PC的內存最大隻能4G也就是這個原因,因為PC的內存也是直接訪問的。)
http://designerlife.cn
❼ 隱含定址,立即定址和直接定址的區別,直接定址還好說就是存儲器里直接放著操作數的地址,那個隱含定址和
立即定址就是在原來存放地址的地方直接存儲你要操作的數字的二進制形式,就不需要訪存去找數到底是多少了
隱含定址應該是特定用於有兩個操作數的時候,指令的地址碼還是存放其中一個操作數的真實地址,這一部分和直接定址是一樣的,但是另外一個操作數會直接存放在某個寄存器中然後直接輸入到ALU里
最近也在自學,希望能幫助到你,哪裡不對,歡迎指正