計算機中十類指令尋址方式總結

數據尋址方式

數據尋址有多種,需要在指令中明確指出採用哪一種尋址方式,可以專門設置一個尋址方式特徵字段,或納入地址碼中。

在這裏插入圖片描述
形式地址 AA: 指令字中的地址
有效地址 EAEA: 操作數的真實地址

有效地址由形式地址根據尋址方式來確定。

在大多數機器中,指令字長 = 存儲字長 = 機器字長。


一、立即尋址

又稱爲立即數尋址,即指令中的形式地址部分不是一個操作數的地址,而是操作數本身,因此該指令的執行過程不需要尋址。

在這裏插入圖片描述

如指令 "MOVMOV AX,20HAX, 20H",將 20H20H 放入 AXAX 寄存器中,其中立即數可正可負,負數需要用補碼來表示。

特點

  • 立即尋址的指令執行階段不訪存
  • A 的位數限制了立即數的範圍

二、直接尋址

指令中的形式地址部分即爲有效地址,即 EA=AEA = A

例如指令 "MOVMOV AX,[20H]AX, [20H]",即是將 [20H] 地址中的數據傳輸到 AX 寄存器中。

在這裏插入圖片描述

特點

  • 執行階段訪問一次存儲器
  • A 的位數限制了該指令操作數的尋址範圍
  • 操作數的地址不易修改

三、隱含尋址

指令中不直接給出操作數地址,操作數地址通常隱含在操作碼或某個(約定)寄存器中。

ADDADD 操作,即是默認另一個操作數在 ACCACC 中。將 AA 地址中的數取出與 ACCACC 中的數進行加法運算。

在這裏插入圖片描述


四、間接尋址

指令中的形式地址不是操作數的地址,而是 “操作數地址的地址”。

在這裏插入圖片描述

其中在多次間址時,需要查看數據單元格中的第一位數據,如果爲 11 則表示繼續間址,如果爲 00 則爲真正地址。

特點

  1. 可以擴大尋址範圍
  2. 便於編制轉移程序

在這裏插入圖片描述

JMPJMP @A@A 指令,表示跳轉到 AA 單元中所指示的地址,爲間接尋址。正因爲這條間址指令,我們轉入子程序時只需修改 A 單元中數據,即可實現從子程序再跳轉回主程序的功能。


五、寄存器尋址

指令中的形式地址直接指出寄存器的編號,操作數存儲於寄存器中,即 EA=RiEA=R_i,有效地址即爲寄存器編號。

如 "MOVMOV AX,BXAX, BX" 指令,即是將 BXBX 寄存器中的數據送到 AXAX 中。

在這裏插入圖片描述

特點

  • 執行階段不訪存,只訪問寄存器,執行速度快
  • 寄存器個數有限,可縮短指令字長

六、寄存器間接尋址

指令中的形式地址爲寄存器的編號,寄存器的內容是操作數的有效地址。

EA=(Ri)EA = (R_i),有效地址在寄存器中。

如指令 "MOVMOV AX,[BX]AX, [BX]",就是根據 BXBX 寄存器中的地址,去主存中訪問對應數據,並將數據存入 AXAX 寄存器中。

在這裏插入圖片描述

特點

有效地址在寄存器中,操作數在存儲器中,執行階段訪存便於編制循環程序。

  • 可以訪存一次,就將寄存器數值加1,實現類似於數組的訪問。

七、基址尋址

指令中的形式地址與基址寄存器內容之和爲有效地址。

  1. 採用專用寄存器作爲基址寄存器(隱式)
  2. 採用通用寄存器作爲基址寄存器(顯式)

專用寄存器基地尋址

EA=(BR)+AEA=(BR)+A,其中 BRBR 爲基址寄存器

在這裏插入圖片描述

通用寄存器基址尋址

需要給出寄存器編號作爲基址寄存器。

在這裏插入圖片描述

  • 可指定由哪個通用寄存器作爲基址寄存器。
  • 在程序的執行過程中 R0R_0 內容不變,形式地址 AA 可變。

特點

  • 可擴大尋址範圍
  • 有利於多道程序
    • 將程序開頭地址定位於某個寄存器中,即可實現更換通用寄存器,即實現程序切換。
  • 基址寄存器內容由操作系統或管理程序確定

八、變址尋址

指令中的形式地址與變址寄存器內容之和爲有效地址。

EA=(IX)+AEA = (IX) + A,與基地尋址非常相似。唯一的不同點在於基址寄存器中的值由操作系統或管理程序決定,而 IX 的內容由用戶指定。

在這裏插入圖片描述

特點

  • 可以擴大尋址範圍
  • 由於 IXIX 的內容由用戶指定,因此在程序執行過程中,IXIX 內容可變,可以用於設計處理一些數組問題。

九、相對尋址

有效地址爲程序計數器 PCPC 的值與形式地址之和。

EA=(PC)+AEA = (PC) + AAA 的位數決定操作數的尋址範圍,可編寫浮動程序(程序放哪都能執行)。

在這裏插入圖片描述


十、堆棧尋址

堆棧有兩個操作,分別是 PUSHPUSH(壓棧) 與 POPPOP(彈棧)。進棧與出棧的操作分別由 SPSP 指針的加減完成。

在這裏插入圖片描述

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