Пр о ц е с с о р TMS 3 2 0C4 x
40
модифицирующие вспомогательный регистр после его использования для
адресации операнда (постмодификация):
ARn- -(disp)
ARn++(disp)
ARn- -(IR0)
ARn++(IR0)
ARn- -(IR1)
ARn++(IR1)
использующие специальную модификацию вспомогательного регистра
(циклическая и бит-реверсивная адресация):
ARn- -(disp)%
ARn++(disp)%
ARn- -(IR0)%
ARn++(IR0)%
ARn- -(IR1)%
ARn++(IR1)%
ARn++(IR0)B
Непосредственная адресация
. Операнд располагается в восьми или ше-
стнадцати младших битах слова команды. В зависимоси от типа данных, при-
нятых для конкретной команды, поле операнда может интерпретироваться как
беззнаковое целое, целое со знаком или число в коротком формате с ПТ. Син-
таксис адресации:
expr
.
Относительная адресация.
Используется в командах переходов. Выпол-
нение команды перехода заключается в изменении программного счетчика PC
на величину константы (смещения перехода), содержащейся в 16 или 24 млад-
ших битах слова команды. Смещение перехода является целым числом со зна-
ком. Оно вычисляется:
для стандартных переходов
СМЕЩЕНИЕ = АДРЕС ПЕРЕХОДА - (АДРЕС КОМАНДЫ ПЕРЕХОДА + 1)
;
для задержанных переходов (см. п.1.12)
СМЕЩЕНИЕ = АДРЕС ПЕРЕХОДА - (АДРЕС КОМАНДЫ ПЕРЕХОДА + 3).
Специальные режимы косвенной адресации
Циклическая адресация.
Многие алгоритмы ЦОС используют цикличе-
ские (или кольцевые) буфера в памяти. Типичным примером циклического бу-
фера может быть массив из
N
элементов, доступ к которому осуществляется
последовательно от нулевого элемента до
N
-1. После выборки (
N
-1)-го элемен-
та снова выбираются элементы 0, 1, 2 и т.д. Адрес первого элемента буфера
(элемента со смещением нуль) будем называть верхом буфера (
top
), адрес по-
следнего элемента (со смещением N-1) - низом буфера (
bottom
), количество
элементов буфера -
N
.
Поскольку циклическая адресация - режим косвенной адресации, то в
формировании адреса операнда обязательно используется вспомогательный ре-
гистр ARn. Размер циклического буфера определяется регистром размера блока
BK
,
куда загружается число
N
, которое занимает разряды от 0 до
K
регистра
BK. Разряды от
K
+1 до 31 регистра BK равны нулю. В этом случае адрес верха
буфера определяется разрядами от
K
+1 до
31 вспомогательного регистра ARn, а
младшие разряды от 0 до
K
равны нулю. Адрес верха (
top
) буфера называется
эффективной базой буфера (
EB
). Адрес, следующий за низом буфера (адрес
bottom
+1) получается объединением битов 0
÷
K
регистра размера блока BK и
I...,30,31,32,33,34,35,36,37,38,39 41,42,43,44,45,46,47,48,49,50,...186