運算元基本定址方式

2021-10-05 02:25:22 字數 1591 閱讀 1993

1.隱含定址

在指令中不明顯的給出而是隱含著運算元的位址。

2.立即定址

指令的位址字段指出的不是運算元的位址,而是運算元本身。這種方式的特點是指令執行時間很短,不需要訪問記憶體取數。

3.直接定址

採用直接定址方式時,指令字中形式位址d就是運算元的有效位址e,即e=d。因此通常把形式位址d又稱為直接位址。此時,由定址模式給予指示。如果用s表示運算元,那麼直接定址的邏輯表示式為s=(e)=(d)

4.間接定址

間接定址的情況下,指令位址欄位中的形式位址d不是運算元的真正位址,而是運算元位址的指示器,d單元的內容才是運算元的有效位址。

如果把直接定址和間接定址結合起來,指令有如下形式:

定址特徵位i=0,表示直接定址,這時有效位址e=d;i=1,表示間接定址,這時有效位址e=(d)。

間接定址方式時早期計算機中經常採用的方式,但由於兩次訪存,影響指令執行速度,現在已不大使用。

5.暫存器定址方式和暫存器間接定址方式

當運算元不放在記憶體中,而是放在cpu的通用暫存器中時,可採用暫存器定址方式。此時指令中給出的運算元位址不是記憶體的位址單元號,而是通用暫存器的編號。

暫存器間接定址方式與暫存器定址方式的區別在於:指令格式中的暫存器內容不是運算元,而是運算元的位址,該位址指明的運算元在記憶體中。

6.相對定址方式

相對定址是把程式計數器pc的內容加上指令格式中的形式位址d而形成運算元的有效位址。程式計數器的內容就是當前指令的位址。「相對」定址,就是相對於當前的指令位址而言。

採用相對定址方式的好處是程式設計師無須用指令的絕對位址程式設計,所程式設計序可以放在記憶體任何地方。

此時形式位址d通常稱為偏移量,其值可正可負,相對於當前指令位址進行浮動。

7.基址定址方式

基址定址方式是將cpu中基址暫存器的內容加上指令格式中的形式位址而形成運算元的有效位址。它的優點是可以擴大定址能力。同形式位址相比,基址暫存器的位數可以設定得很長,從而可以在較大的儲存空間中定址。

8.變址定址方式

變址定址方式與基址定址方式計算有效位址的方法很相似,它把cpu中某個變址暫存器的內容與偏移量d相加來形成運算元有效位址。但使用變址定址方式的目的不在於擴大定址空間,而在於實現程式塊的規律性變化。

9.塊定址方式

塊定址方式經常用在輸入輸出指令中,以實現外儲存器或外圍裝置同記憶體之間的資料塊傳送。塊定址方式在記憶體中還可用於資料塊搬家。塊定址時,通常在指令中指出資料塊的起始位址(首位址)和資料塊的長度(字數或位元組數)。

如果資料塊是變長,可用三種方法指出它的長度:

(1)指令中劃出字段指出長度;

(2)指令格式中指出資料塊的首位址與末位址;

(3)有塊結束字元指出資料塊長度。

10.段定址方式

微型機中採用了段定址方式,例如它們可以給定乙個20位的位址,從而有1m儲存空間的直接定址能力。為此將整個1m空間儲存器以64k為單位劃分成若干段。在定址乙個記憶體具體單元時,由乙個基位址再加上某些暫存器提供的16位偏移量來形成實際的20位實體地址。這個基位址就是cpu中的段暫存器。在形成20位實體地址時,段暫存器中的16位數會自動左移4位,然後以16位偏移量相加,即可形成所需的記憶體位址。這種定址方式的實質還是基址定址。

彙編 運算元的定址方式

立即數定址方式 暫存器定址方式 直接定址方式 暫存器間接定址方式 暫存器相對定址方式 基址加變址定址方式 相對基址加變址定址方式和32位位址的定址方式 為了表達方便,我們用符號 x 表示x的值,如 ax 表示暫存器ax的值。1.立即數定址方式 運算元作為指令的一部分直接寫在指令中,這種運算元稱為立即...

彙編(運算元的定址方式)

暫存器間接定址 不把暫存器內容作為運算元,而作為運算元位址,間接定址只允許bx,bp,si和di,用途 迴圈程式 mov ax,bx 預設ds暫存器為段位址 mov dx,bp 預設ss暫存器為段位址 mov es di ax 指定es暫存器為段位址 暫存器相對定址 運算元的有效位址是乙個暫存器的位...

運算元的定址方式(非常重要)

形成運算元的有效位址的方法叫運算元的定址方式。指令中的運算元欄位的位址碼由形式位址和定址方式特徵位等組合形成。一般的指令中所給出的位址碼並不是運算元的有效位址。形式位址也叫偏移量,是指令字結構中給定的位址量。定址過程就是把運算元的形式位址變換成有效位址的過程。形式位址 定址方式 有效位址 定址方式 ...