Пр о ц е с с о р TMS 3 2 0C4 x
41
разрядов (
K
+1)
÷
31 вспомогательного регистра ARn. Индексом (
index
) будем
называть разряды 0
÷
K
вспомогательного регистра ARn, а шагом (
step
) - вели-
чину изменения индекса (содержимое регистров IR0,IR1 или смещение
disp
).
После того, как содержимое ARn использовано для выборки операнда, вычис-
ляется новое значение индекса (битов 0
÷
K
) по следующему правилу:
- если 0
index
+
step
<
BK, то
index
=
index
+
step
;
- если
index
+
step
BK, то
index
=
index
+
step
- BK;
- если
index
+
step
<
0, то
index
=
index
+
step
+ BK.
Все вышеизложенное иллюстрируется схемой циклической адресации на
рис.1.19. В качестве примера рассмотрим использование циклической адреса-
ции для извлечения данных из буфера размером в пять слов с шагом два. Ре-
гистр BK содержит значение 00000005h (размер буфера), вспомогательный ре-
гистр AR0 содержит начальный адрес буфера 00300100h.
Рис.1.19. Схема циклической адресации
При использовании представленной последовательности адресации опе-
рандов, выборка элементов массива будет идти в следующем порядке: 0, 2, 4, 1,
3, 0, 2 и т.д., как показано на рис.1.20.
I...,31,32,33,34,35,36,37,38,39,40 42,43,44,45,46,47,48,49,50,51,...186