Індексна адресація
І́ндексна (ба́зова, зі змíщенням) адреса́ція — метод адресації пам'яті, в якому ефективна адреса операнда або команди, на яку здійснюється перехід, обчислюється додаванням до базової адреси, яка міститься в регістрі, деякого зміщення, яке міститься у відповідному полі команди.
+------+-----+-----+-----------------+ | LOAD | R1 | Rb | зміщення | Ефективна адреса = Rb + зміщення +------+-----+-----+-----------------+
У випадку, коли зміщення нульове, отримаємо непряму регістрову адресацію, адреса операнда знаходиться в регістрі Rb
.
У випадку, коли в регістрі знаходиться нуль, отримуємо пряму адресацію, адресу вказано в команді у полі зміщення
. Такий спосіб конструювання прямої адресації з індексної загальноприйнятий для тих RISC-машин, у яких регістр з порядковим номером 0 завжди містить константу 0.
Базова адресація широко вживається для організації ефективної роботи з масивами та іншими складними структурами даних, а також для реалізації переміщуваних фрагментів програм та даних. Останнє досить легко реалізувати, змінюючи «точку початку відліку» в базовому регістрі. Розмір такого переміщуваного фрагменту, очевидно, обмежений розрядністю поля зміщення.