計算機原理 5.3 操作數尋址方式


操作數尋址方式:

含義:形成操作數有效地址的方法

1、立即數尋址

地址碼字段是操作數本身

 

 例:MOV AX,200H(AX<---200H)

S=D

特點:

取指操作將數據與指令一並讀入CPU內部的寄存器,指令執行速度塊

便於程序設計(變量賦初值)

數據大小受字段位數限制

 

2、寄存器尋址

操作數在cpu的內部寄存器中

 

 例 MOV AX,BX(AX<---(BX)   )

特點:

操作數在寄存器中,指令執行速度快

能訪問的數據大小一般與計算機字長有關

地址字段的位數與計算機通用寄存器數量相關 

 

3、直接尋址

地址碼字段直接給出操作數在內存的地址,

例  MOV AX,[200H]

 

 特點:

提供訪問主存的操作

獲得數據要訪問主存,指令執行速度慢

地址字段的位數決定了訪存空間大小

 

4、間接尋址

地址碼字段給出的是操作數主存地址的地址

例  MOV AX,I[200H]

 

 這里的I表示間接尋址

特點:

解決了直接尋址方式下地址字段的位數限制訪存范圍大小的問題

獲得數據要訪問主存2次,指令執行速度太慢。

 

5、寄存器間接尋址

地址碼給出的是寄存器編碼R

 

 特點:

解決了直接尋址方式下地址字段的位數限制訪存范圍大小的問題

獲得數據只需訪問主存1次

 

6、相對尋址

 

 特點:

可節省指令中的地址位數,便於程序在內存中成塊移動

注意PC的改變對計算E的影響,如  本例中E=200+2000+2

 

 若計算機字長32位,且PC的值在取值階段修改,則讀完地址后,PC要加4,因為32位占了四個字節。

 

7、基址尋址

指定一個基址寄存器B,與本指令地址無關

E=D+(B),D為指令中地址字段的值

例:

MOV AX,32[B]

 

 特點:

使用基址寄存器可以訪問更大的主存空間(基址寄存器可以設置成比通用寄存器還大的位數)

對某一程序而言,基址值設定后不變,故要訪問不同數據需修改D

 

8、變址尋址

指定一個變址寄存器X,與本指令地址無關,內容可隨便要求改變

E=D+(X),D為指令中地址字段的值

MOV AX,32[SI]  SI,DI都稱為變址寄存器

 

 

特點:

不改變指令即可改變數據的有效地址,可在循環中使用

在字符串處理,向量運算等等成批數據處理中非常有用

9、數據尋址方式總結

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM