計算機組成原理————寄存器尋址方式大總結

 

常見的尋址方式有立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、相對尋址和變址尋址等。在立即尋址方式中,操作數包含在指令中;在直接尋址方式中,操作數存放在內存單元中;在寄存器尋址方式中,操作數存放在某一寄存器中:在間接尋址方式中,指令中給出了操作數地址的地址;在相對尋址方式中,在指令地址碼部分給出一個偏移量(可正可負);在變址尋址方式中,操作數地址等於變址寄存器的內容加偏移量。

1、變址尋址

操作數地址等於變址寄存器的內容加偏移量。

用於數組或字符串處理

2、相對尋址方式

相對尋址以程序計數器PC的當前值(R15中的值)爲基地址,指令中的地址標號作爲偏移量,將兩者相加後得到操作數的有效地址。

相對尋址方式對實現程序浮動提供了支持

3、間接尋址方式

間接尋址是相對於直接尋址而言的,指令地址字段的形式地址不是操作數的真正地址,而是操作數地址的指示器,或者說是形式地址單元的內容纔是操作數的有效地址。

操作數地址在寄存器中,操作數放在內存裏面,爲寄存器間接尋址方式,如MOVA,@RO,即把RO中的值作爲操作數的地址,把此地址中的值放入累加器A中,即把內存單元20H中的值放入A中,如此地址單元中的值爲5,則A=5。

5、基址尋址方式

基址尋址,將CPU中基址寄存器的內容,加上指令格式中的形式地址而形成操作數的有效地址。被引用的專用寄存器含有一個存儲器地址,地址字段含有一個相對於該地址的偏移量(通常是無符號的整數)。寄存器的引用可以是顯式的,也可以是隱式的。基址尋址方式,主要用來解決程序的動態定位問題。在多道程序的環境下,用戶不可決定自己使用的主存區,因而在編程時常按(以零爲基準地址)相對地址來編寫,當程序被放入主存時,操作系統根據主存空間情況給基址寄存器賦值,從而將虛地址轉化爲實地址。

6、立即數尋址方式

立即數尋址方式是指指令所需的操作數(位於代碼區)由指令的地址碼部分直接給出,其特點是取指令時同時取出操作數,以提高指令的執行速度。靜態數據區用於存放一對一的綁定且編譯時就可確定存儲空間大小的數據;棧用於存放一對多的綁定且與活動同生存期的綁定;堆用於存儲由程序語句動態生成和撤銷的數據。程序運行時,需要將程序代碼(機器指,令序列)和代碼所操作的數據加載至內存,指令代碼加載至代碼區,數據則根據綁定關係可能位於靜態數據區、棧或堆區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章