偏移地址


偏移地址

文章插图
偏移地址【偏移地址】偏移地址也称为偏移量 , 由于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位地址 。例如:数据段DS暂存器的值=0088H偏移地址=22H那幺生成的20位物理地址等于 00880H+22H=008A2H