① 什麼叫定址
舉個簡單點的例子,比如你在硬碟里保存了一首歌。
這首歌是保存在硬碟里某個磁軌上面的。
當你需要聽歌的時候,就需要找到這個磁軌,才能找到這首歌。
這個找到磁軌的過程,就是定址。
② 操作數在存儲器中,可能是什麼定址方式
可能是直接定址、寄存器間接定址、寄存器相對定址、基址變址定址和相對基址變址定址。
計算機一共有七種基本的定址方式,包括立即定址,寄存器定址,直接定址,寄存器間接定址,寄存器相對定址,基址變址定址,相對基址變址定址。
其中,後五種定址方式(即直接定址、寄存器間接定址、寄存器相對定址、基址變址定址和相對基址變址定址)屬於存儲器定址,用於說明操作數或操作數地址所在存儲單元的地址。
形成操作數的有效地址的方法稱為操作數的定址方式。
(2)數據在主存儲器的定址擴展閱讀:
1、隱含定址
這種類型的指令,不是明顯地給出操作數的地址。而是在指令中隱含著操作數的地址。
2、立即定址
指令的地址欄位指出的不是操作數的地址,而是操作數本身,這種定址方式稱為立即定址。立即定址方式的特點是指令執行時間很短,因為它不需要訪問內存取數,從而節省了訪問內存的時間。
3、直接定址
直接定址是一種基本的定址方法,其特點是:在指令格式的地址的欄位中直接指出操作數在內存的地址。由於操作數的地址直接給出而不需要經過某種變換,所以稱這種定址方式為直接定址方式。
4、間接定址
間接定址是相對直接定址而言的,在間接定址的情況下,指令地址欄位中的形式地址不是操作數的真正地址,而是操作數地址的指示器,或者說此形式地址單元的內容才是操作數的有效地址。
參考資料來源:網路-定址方式
③ 程序存儲器中的數據怎麼定址
程序存儲器指令地址使用程序計數器PC指針,PC中存放的是下一條將要從程序存儲器中取出的指令的地址。程序計數器PC變化的軌跡決定程序的流程,PC最基本的工作方式是自動加1。
在執行條件轉移或無條件轉移指令時,將轉移的目的地址送入程序計數器,程序流向發生變化。在執行調用指令或響應中斷時,將子程序的入口地址或者中斷矢量地址送人PC,程序流向發生變化。
DPTR是一個16位特殊功能寄存器,主要功能是作為片外數據存儲器或I/0定址用的地址寄存器,這時會產生RD或wR控制信號,用於單片機對外擴的數據存儲器或I/0的控制。數據指針DPTR也可以作為訪問程序存儲器時的基址寄存器,此時是定址程序存儲器中的表格、常數等單元,而不是定址指令。
④ 標題 進棧出棧指令,為什麼數據是寄存器到存儲器和存儲器到寄存器
寄存器是操作數據的地方,存儲器是存放數據的地方。
1,寄存器內的數據執行算術及邏輯運算;存於寄存器內的地址可用來指向內存的某個位置,即定址;可以用來讀寫數據到電腦的周邊設備,存放指令和數據,並能由中央處理器(CPU)直接隨機存取。
2,寄存器的速度比主存儲器的速度要快很多,由於寄存器的容量有限,所以將不需要操作的數據存放在主存儲器中,主存儲器中的數據必須放入寄存器材能夠進行操作。
3,寄存器是中央處理器內的組成部分,是有限存貯容量的高速存貯部件,可用來暫存指令、數據和地址。存儲器的主要功能是存儲程序和各種數據,並能在計算機運行過程中高速、自動地完成程序或數據的存取,有了存儲器,計算機才有記憶功能,才能保證正常工作。
⑤ 訪問程序存儲器中的常數數據,可以使用哪些定址方式
1立即數定址;2寄存器定址;3.主存定址。
直接在指令中給出操作數,不需要存儲單元,執行速度快,但是顯然數據也不能冗長,通用型性就差,一般用來指定一些要求不高的整形整數。操作數來源於寄存器,結果也寫回寄存器。顯然這個主要用到寄存器,這也是他的名字的由來。
指令特點
MCS-51的指令系統由111條指令組成。如果按位元組數分類,有49條單位元組指令,46條雙位元組指令和16條三位元組指令,以單位元組指令為主;如果按照指令執行時間分類,有64條單周期指令、45條雙周期指令和2條四周期指令,以單周期指令為主。存儲效率高、執行速度快,可以進行直接地址到直接地址的數據傳送,能把一個並行I/O口中的內容傳送到內部RAM單元中而不必經過累加器A或工作寄存器Rn。這樣可以大大提高傳送速度和緩解累加器A的瓶頸效應。
⑥ 什麼是存儲器定址
存儲器定址是寄存器與存儲器間的定址方式。使用存儲器定址的指令,其操作數通常存放在代碼段之外的存儲區,如數據段、堆棧段和附加段。指令中,通常給出的是存儲單元地址或產生存儲單元地址的有關信息。執行指令時,需要首先計算出數據存放的有效地址,接著計算出其在存儲器中的物理地址,然後訪問存儲器,讀取數據,再執行指令規定的基本操作。
⑦ 根據存儲器簡述各模塊對應允許的定址方式。
摘要 存儲器定址方式
⑧ 什麼是直接定址,什麼是間接定址,什麼是存儲器定址
直接定址方式:
指令的地址碼部分直接給出的不是操作數,而是操作數的存儲器地址,這種方式稱為直接定址方式。根據指令地址碼部分給出的直接地址A就可以從存儲器中讀出所需要的操作數。這種定址方式簡單,直觀,也便於硬體實現,但是隨著計算機的存儲器容量不斷擴大,所需要的地址碼越來越長,勢必造成指令的一部分,不能修改,故只能用來訪問固定存儲器單元。
如果匯編原程序中跳轉指令中使用的是標號,編譯後是直接跳轉,如果使用了寄存器參量的就是間接跳轉的了。
只能說內存定址的大小與CPU位數有關,但不完全有CPU位數決定,這里有人為的設置,同為64位的CPU,定址大小、方式也是不一樣的,舉個例子:
人為限制內存地址用8位2進制數表示,那他的定址大小是2的8次方,就是256,也就是可以支持256比特大小的內存,以此類推,所以要看你的CPU是怎麼定義內存地址的。
如果你為了玩游戲沒必要關心這些,只要知道怎麼配置快就行了,如果你想學點東西,可以找本書看看,這不是什麼復雜的問題,在電子電路中是比較基礎的東西,因為不知道定址方式是無法設計電路和編程的。
你可以去INTEL網站下技術白皮書,裡面很詳細
⑨ 存儲器的定址范圍怎麼計算還有什麼是字地址位元組地址
定址范圍是由地址線的位數決定的,比如地址線有20位,則地址有2^20個。
計算機數據的基本單位是位元組,即是最基本的數據單元,是從存儲器的起始地址到該數據的位置。一個字包含兩個位元組,它的地址是低位元組的地址。
⑩ 什麼是直接定址,什麼是間接定址,什麼是存儲器定址
一、直接定址方式
指令所要的操作數存放在內存中,在指令中直接給出該操作數的有效地址,這種定址方式為直接定址方式。
在通常情況下,操作數存放在數據段中,所以,其物理地址將由數據段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那麼,操作數可存放在其它段。
如
MOV
BX,
[1234H]
二、寄存器間接定址方式
操作數在存儲器中,操作數的有效地址用SI、DI、BX和BP等四個寄存器之一來指定,稱這種定址方式為寄存器間接定址方式。
在不使用段超越前綴的情況下,有下列規定:
若有效地址用SI、DI和BX等之一來指定,則其預設的段寄存器為DS;
若有效地址用BP來指定,則其預設的段寄存器為SS(即:堆棧段)。
如
MOV
BX,[DI]