Универсальный регистр (ureg) может находиться не в том же самом DAG (т.е.
DAG1 или DAG2), что и la/Mb или Ic/Md.
См. раздел 4.4.1 "Ограничения на передачу данных с использованием регистров DAG" в главе 4 Передача данных.
Примеры:
DM (24,15) =TCOUNT; USTATl=PM (offs, 113);
("offs" - определенная константа)
Код операции:
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
101 | G | I | D | UREG |
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Dвыбирает тип доступа (запись или чтение). G выбирает тип памяти (данные или программа). UREG определяет номер универсального регистра. Поле I определяет индексный регистр I. Поле DATA определяет значение модификации для регистра I.
Прямая запись данных в память данных или память программы
Синтаксис:
DM (Ia,Mb) =<data32>; PM (Ic,Md)
Функция:
Запись 32-разрядных данных в память данных или память программы при косвенной адресации. Данные размещаются в старших 32 разрядах 40-разрядного слова памяти. Младшие 8 разрядов обнуляются. Регистр I поет-модифицируется и обновляется определенным значением регистра М. Замечания:
Универсальный регистр (ureg) может находиться не в том же самом DAG (т.е. DAG1 или DAG2), что и la/Mb или Ic/Md.
Примеры:
DM (I4,M0) =19304;
РМ (114,Mil) =count; (count-константа, определяемая пользователем)
Кодоперации:
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
100 | 1 | I | м | G |
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I выбирает индексный регистр I, М выбирает регистр модификации М. G выбирает тип памяти (память данных или память программы). DATA определяет 32-разрядные данные.
Запись данных в универсальный регистр
Синтаксис:
ureg = <data32>;
Функция:
Запись 32-разрядных данных в универсальный регистр. Если регистр 40-разрядный, данные размещаются в старших 32 разрядах, а в 8 младших записываются нули.
Примеры:
IMASK=0xFFFC0060;
M15=modl; (modi - константа, определяемая пользователем)
Код операции:
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
000 | 01111 | UREG |
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA
UREG определяет номер универсального регистра. Поле DATA определяет значение данных.
Набор команд процессоров семейства ADSP-21000 обеспечивает широкие возможности для их программирования. Многофункциональные команды позволяют выполнять вычисления параллельно с передачей данных, а также одновременные операции умножителя и ALU. Практически каждая команда может быть выполнена за один процессорный цикл. Алгебраический синтаксис, используемый ассемблером семейства ADSP-2106x, упрощает кодирование и читаемость. Удобный набор средств разработки облегчает программирование.
1. Остапенко А.Г., Лавлинский С.И., Сушков А.В. и др. Цифровые процессоры обработки сигналов. Справочник. М.: Радио и связь, 1994.264 с.