三級PC技術(shù)尋址方式的復(fù)習 (5)
5.寄存器相對尋址
在寄存器相對尋址方式中,操作數(shù)在內(nèi)存儲器中,而操作數(shù)的偏移地址EA是指令指明的寄存器的內(nèi)容與指令中給出的位移量相加之和。
匯編格式:XR (或R+X,X + R)
功能: R的內(nèi)容與X相加之和為操作數(shù)的偏移地址EA。
R(Register 寄存器的簡寫,只能是SI,DI,BX,BP其中之一。)
X表示位移量,其值是用8位或16位二進制補碼表示的有符號數(shù)。
寄存器相對尋址和寄存器間接尋址在匯編格式相比較就是多了位移量X,在計算EA時寄存器相對尋址就要多加上位移量X。
EA= R+X
寄存器相對尋址的尋址方式如圖所示。
若用寄存器SI,DI,BX變址尋址,則操作數(shù)在當前數(shù)據(jù)段中。
PA=(DS)×10H+EA
若用寄存器BP變址尋址,則操作數(shù)在當前堆棧段中。
PA=(SS)×10H+EA
例:MOV Al BX+5
它是BX的內(nèi)容加上8位位移量05H作為操作數(shù)存放的單元的偏移地址。如果使用BP,則隱含地表示操作數(shù)是存放在堆棧段中的。
執(zhí)行過程如圖所示。
EA=BX+05H=2000H+05H=2005H
PA=DS×10H+EA=60000H+2005H=62OO5H
這種尋址方式同樣可用于表格處理,表格的首地址可設(shè)置為位移量,利用修改基址或變址寄存器的內(nèi)容來取得表格中的值。