3.1.1.7 相对基址变址寻址方式(Relative based indexed addressing)

  这种寻址方式与基址变址寻址方式类似,不同的是基址加变址再加上一个位移量形成操作数的有效地址。缺省段的使用仍然是DS与BX组合,SS与BP组合。如左图所示。  

  这种寻址方式通常用于对二维数组的寻址。
  例如,存储器中存放着由多个记录组成的文件,则位移量可指向文件之首,基址寄存器指向某个记录,变址寄存器则指向该记录中的一个元素。

  这种寻址方式也为堆栈处理提供了方便。
  一般(BP)可指向栈顶,从栈顶到数组的首址可用位移量表示,变址寄存器可用来访问数组中的某个元素。

  综上所述,有效地址可以由以下三种成分组成:
  · 位移量(Displacement)是存放在指令中的一个8位或16位数,但它不是立即数,而是一个地址。
  · 基址(Base)是存放在基址寄存器(BX或BP)中的内容。它是有效地址中的基址部分,通常用来指向数据段中数组或字符串的首地址。
  · 变址(Index)是存放在变址寄存器(SI或DI)中的内容。它通常用来访问数组中的某个元素或字符串中的某个字符。

  有效地址的计算可用下式表示:
  EA = 基址 + 变址 + 位移量

  这三种成分都可正可负,以保证指针移动的灵活性。它们任意组合使用,可得到不同的寻址方式。