七種定址方式 暫存器間接定址方式

2021-08-14 21:38:53 字數 720 閱讀 5951

運算元在儲存器中,運算元的有效位址用si、di、bx和bp等四個暫存器之一來指定,稱這種定址方式為暫存器間接定址方式。該定址方式實體地址的計算方法如下:

暫存器間接定址方式讀取儲存單元的原理如圖所示。

在不使用段超越字首的情況下,有下列規定:

若有效位址用si、di和bx等之一來指定,則其預設的段暫存器為ds;

若有效位址用bp來指定,則其預設的段暫存器為ss(即:堆疊段)。

例:假設有指令:mov bx,[di],在執行時,(ds)=1000h,(di)=2345h,儲存單元12345h的內容是4354h。問執行指令後,bx的值是什麼?

解:根據暫存器間接定址方式的規則,在執行本例指令時,暫存器di的值不是運算元,而是運算元的位址。該運算元的實體地址應由ds和di的值形成,即: 

pa=(ds)*16+di=1000h*16+2345h=12345h。

所以,該指令的執行效果是:把從實體地址為12345h開始的乙個字的值傳送給bx。

其執行過程如圖所示。

暫存器與七種定址方式

一 暫存器 總共有14個16位暫存器,8個8位暫存器 通用暫存器 資料暫存器 ah 8位 al 8位 ax 16位 ax和al又稱累加器 bh 8位 bl 8位 bx 16位 bx又稱基址暫存器,唯一作為儲存器指標使用暫存器 ch 8位 cl 8位 cx 16位 cx用於字串操作,控制迴圈的次數,c...

暫存器的七種定址方式

立即定址方式 運算元作為指令的一部分而直接寫在指令中,這種運算元稱為立即數,這種定址方式也就稱為立即數定址方式。立即數可以是8位 16位或32位,該數值緊跟在操作碼之後。暫存器定址方式 指令所要的運算元已儲存在某暫存器中,或把目標運算元存入暫存器。把在指令中指出所使用暫存器 即 暫存器的助憶符 的定...

七種定址方式 直接定址方式

指令所要的運算元存放在記憶體中,在指令中直接給出該運算元的有效位址,這種定址方式為直接定址方式。在通常情況下,運算元存放在資料段中,所以,其實體地址將由資料段暫存器ds和指令中給出的有效位址直接形成,但如果使用段超越字首,那麼,運算元可存放在其它段。例 假設有指令 mov bx,1234h 在執行時...