Індексна адресація

Матеріал з Вікіпедії — вільної енциклопедії.

І́ндексна (ба́зова, за зсу́вом) адреса́ціяметод адресації пам'яті, в якому ефективна адреса операнда або команди, на яку здійснюється перехід, обчислюється додаванням до базової адреси, яка міститься в регістрі, деякого зсуву, який міститься у відповідному полі команди.

  +------+-----+-----+-----------------+
  | LOAD | R1  | Rb  |  зсув           |  Ефективна адреса = Rb + зсув
  +------+-----+-----+-----------------+

У випадку, коли зсув нульовий, отримаємо безпосередню регістрову адресацію. Такий спосіб конструювання регістрової адресації загальноприйнятий для RISC-машин, де регістр з порядковим номером 0 завжди містить константу 0.

Базова адресація широко вживається для організації ефективної роботи з масивами та іншими складними структурами даних, а також для реалізації переміщуваних фрагментів програм та даних. Останнє досить легко реалізувати, змінюючи "точку початку відліку" в базовому регістрі. Розмір такого переміщуваного фрагменту, очевидно, обмежений розрядністю поля зсуву.

[ред.] Див. також