變址尋址
發布時間:2014/6/4 21:10:50 訪問次數:2289
變址尋址時,HEF4081BT指定變址寄存器的內容與指令中給出的偏移量相加所得的結果作為操作數的地址,如圖4-3所示。
表示變址尋址,其中,DPTR為變址寄存器,其中的內容與指令中A存放的偏移量相加,所得的和為操作數地址,訪問程序存儲器后,將該地址單元的內容(假設為X)送到累加器A。
圖4-3變址尋址示意圖
無論用DPTR或PC作為基準指針,累加器A均為存放偏移量的寄存器。變址尋址的尋址空間只適用于程序存儲器(即ROM),通常用于讀取數據表。
相對尋址
相對尋址時,由程序計數器PC提供的基準地址與指令中提供的偏移量rel相加,得到操作數的地址(轉移目的地址),如圖4-4所示。
相對尋址方式只用于如“SJMP rel”這一類相對轉移指令中,其中rel為一個帶符號的數,即補碼,可正也可負。轉移時是以PC的當前值(即取完指令后的PC內容)與偏移量相加的和作為轉移目的地址,送到程序計數器PC中。為了方便,通常在編寫匯編語言程
序時“rel”用符號地址替代,只有在匯編時才轉換為真實地址-8位的補碼。
變址尋址時,HEF4081BT指定變址寄存器的內容與指令中給出的偏移量相加所得的結果作為操作數的地址,如圖4-3所示。
表示變址尋址,其中,DPTR為變址寄存器,其中的內容與指令中A存放的偏移量相加,所得的和為操作數地址,訪問程序存儲器后,將該地址單元的內容(假設為X)送到累加器A。
圖4-3變址尋址示意圖
無論用DPTR或PC作為基準指針,累加器A均為存放偏移量的寄存器。變址尋址的尋址空間只適用于程序存儲器(即ROM),通常用于讀取數據表。
相對尋址
相對尋址時,由程序計數器PC提供的基準地址與指令中提供的偏移量rel相加,得到操作數的地址(轉移目的地址),如圖4-4所示。
相對尋址方式只用于如“SJMP rel”這一類相對轉移指令中,其中rel為一個帶符號的數,即補碼,可正也可負。轉移時是以PC的當前值(即取完指令后的PC內容)與偏移量相加的和作為轉移目的地址,送到程序計數器PC中。為了方便,通常在編寫匯編語言程
序時“rel”用符號地址替代,只有在匯編時才轉換為真實地址-8位的補碼。