相對定址

相對定址

與基址變址定址方式相類似,相對定址以程式計數器PC的當前值(R15中的值)為基地址,指令中的地址標號作為偏移量,將兩者相加後得到運算元的有效地址。

基本介紹

  • 中文名:相對定址
  • 概念:以當前程式計數器pc的內容為基址
  • 定址方式:PC
  • 目的地址:=源地址+rel
概念,定址方式,PC,單片機,

概念

以當前程式計數器pc的內容為基址,加上指令給出的一位元組補碼數(偏移量)形成新的pc值的定址方式稱為相對定址。隱含引用的專用暫存器是程式計數器(PC),即EA=A+(PC),它是當前PC的內容加上指令欄位中A的值。一般來說,地址欄位的值在這種操作下被看成2的補碼數的值。因此有效地址是對當前指令地址的一個上下範圍的偏移,他基於程式的局部性原理。使用相對定址可節省指令中的地址位數,也便於程式在記憶體中成塊搬動。

定址方式

PC

表示指令中運算元所在的方法稱為定址方式。8086/8088有七種基本的定址方式:立即定址,暫存器定址,直接定址,暫存器間接定址,暫存器相對定址,基址加變址定址,相對基址加變址定址。
直接定址、暫存器間接定址、暫存器相對定址、基址加變址定址和相對基址加變址定址,這五種定址方式屬於存儲器定址,用於說明運算元所在存儲單元的地址。由於匯流排接口單元BIU能根據需要自動引用段暫存器得到段值,所以這五種方式也就是確定存放運算元的存儲單元有效地址EA的方法。有效地址EA是一個16位的無符號數,在利用這五種方法計算有效地址時,所得的結果認為是一個無符號數。除了這些基本的定址方式外,還有固定定址和I/O連線埠定址等。

單片機

計算機中的定址方式是非常重要的概念。所謂定址方式就是尋找運算元的方法。只有找到相應存儲單元中的運算元,才能進行相關操作。程式執行的過程其實就是不斷地在存儲單元中尋找運算元並對運算元進行特定操作的過程。一般來說,指令的定址方式越多,意味著指令的功能也越強。
MCS-51單片機的定址方式共有7種。分別為直接定址、立即數定址、暫存器定址、暫存器間接定址、變址定址、相對定址和位定址
8051單片機設有轉移指令,分為直接轉移指令和相對轉移指令兩種。相對轉移指令需要採用相對定址方式。此時指令的運算元部分給出的是地址的相對偏移量。在指令中以“rel”表示相對偏移量,rel為一個帶符號的常數,可正可負(若rel為負,用補碼錶示)。一般將相對轉移指令本身所在的地址稱為源地址,轉移後的地址稱為目的地址,它們的關係為:
目的地址=源地址+rel
例如,指令:
SJMP rel
這條指令的機器碼為80,rel,共兩個位元組,比如該指令所在的源地址為2000H,rel的值為54H,則轉移後的地址為2000H+02+54H=2056H。

相關詞條

熱門詞條

聯絡我們