Выражение | Действие |
---|---|
= | Присвоение |
+ | Сложение |
- | Вычитание |
* | Умножение |
AND | Логическое «И» |
OR | Логическое «ИЛИ» |
NOT | Логическое отрицание |
XOR | Исключающее «ИЛИ» |
PASS | Пересылка |
ABS | Абсолютное значение |
Ниже приведены примеры записи некоторых команд языка ассемблера ADSP-21XX с объяснением их назначения.
DM(var1) = AX0;
Эта команда, знакомая читателям из предыдущих примеров программ, присваивает (записывает) значение регистра AX0 переменной var1, хранящейся в памяти данных.
MR = MR + MX1*MY1;
Данная команда выполняет операцию умножения и сложения. Он умножает входные значения из регистров MX1 и MY1, складывает результат умножения с текущим содержимым регистра MR (результат предыдущего умножения), а затем записывает результат в регистр MR.
При рассмотрении системы команд мы будем пользоваться условными обозначениями, приведенными в табл. 13.3. Эти обозначения позволяют сделать описание команд компактным.
Таблица 13.3
Обозначение | Описание |
---|---|
I0–I7 | Индексные регистры DAG для косвенной адресации |
M0–M7 | Регистры модификации DAG для косвенной адресации |
L0–L7 | Регистры длины DAG для циклических буферов |
<data> | Непосредственное значение данных |
<addr> | Непосредственное значение адреса (абсолютный адрес или программная метка) |
<exp> | Порядок (значение сдвига) в командах непосредственного сдвига (8- разрядное знаковое число) |
cond | Код условия в условных командах |
term | Код условия выхода из цикла DO UNTIL |