複製鏈接
請複製以下鏈接發送給好友

偏移地址

鎖定
偏移地址也稱為偏移量,由於8086/8088CPU內部的ALU只能進行16位的運算,而8086/8088有20條地址線,直接尋址能力1MB。因此,8086/8088所使用的20位物理地址,是由相應的段地址加上偏移地址組成的。
中文名
偏移地址
外文名
Offset Address
應用學科
計算機

目錄

偏移地址定義

偏移地址就是計算機裏的內存分段後,在段內某一地址相對於段首地址(段地址)的偏移量. 如8086存儲系統中 20位的物理地址(就是數據存儲的實際地址)=16位的段基地址*16+16位的偏移量
全稱:偏移地址(Offset Address)或有效地址(EA,Effective Address)

偏移地址計算方法

物理地址計算方法
8086/8088有20條地址線,它的直接尋址能力為1MB。也就是在一個系統中可以有多達1MB的存儲器,地址從00000H—FFFFFH。給定任意一個20位物理地址,就可以從中取出需要的指令和操作數。但是8086/8088CPU只能進行16位運算。與地址有關的寄存器SP、IP、BP、SI、DI也都是16位的,所以對地址的運算也只能是16位的。對於8086/8088來説,無論採用哪種尋址方式,尋找操作數的範圍最大是2^16,也就是64K。如何才能形成20位的物理地址呢。系統先將1MB存儲器以64KB為範圍分成若干段。在尋址一個具體物理地址時,由一個基本地址再加上由SP或IP等可由CPU處理的16位偏移量來形成20位物理地址。
當系統需要產生一個20位地址的時候,一個段寄存器會自動被選擇。且自動左移4位再與一個16位地址偏移量相加產生所需的20位地址 [1] 
例如:數據段DS寄存器的值=0088H
偏移地址=22H
那麼生成的20位物理地址等於 00880H+22H=008A2H
參考資料
  • 1.    張懷蓮.IBM PC(INTEL 8086/8088)宏彙編語言程序設計.北京:電子工業出版社,1993年3次印刷