А. В. Комаров цифровые сигнальные процессоры
Вид материала | Документы |
- Архитектура процессов и ее оптимизация, 98.67kb.
- Обзор аппаратных и программных средств реализации параллельной обработки, 211.84kb.
- Темы Лекции Практика, 13.65kb.
- Лекция: графические процессоры и редакторы, 204.53kb.
- Реферат по дисциплине «Аппаратные средства» на тему: «Процессоры эвм», 333.09kb.
- ru/computers/classes html, 11.94kb.
- Методические указания му 2568 09 Издание официальное Москва 2009 Контроль численности, 527.33kb.
- Первая помощь при укусах насекомых и змей помощь при укусах комаров, 30.72kb.
- Фестиваль «Цифровые каникулы» – музей, образование, бизнес, 48.15kb.
- Неоднородный полупроводниковый носитель информации в переменном магнитном поле, 107.68kb.
AX0 MR2 AY0 EQ LE AC
AX1 MR1 AY1 NE NEG NOT AC
AR MR0 AF GT POS MV
SR1 GE AV NOT MV
SR0 LT NOT AV NOT CE
Допустимые константы: 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32767, -2, -3, -5, -9, -17, -33, -65, - 129, -257, -513, -1025, -2049, -4097, -8193, -16385, -32768.
Примеры: IF EQ AR = AX0 + AY0 + C;
AR = AR + 512;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит сложение первого операнда источника со вторым операндом источником, а также битом АС, если в команде присутствует символ С. Результат сохраняется в регистре назначения. Операнды и константа содержатся в регистрах, которые определены в команде.
Операция xop + constant не может использоваться в многофункциональных командах.
Флаги состояния:
ASTAT: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | MV | AQ | AS | AC | AV | AN | AZ |
| - | - | - | - | * | * | * | * |
AZ – устанавливается, если результат равен нулю и сбрасывается в противном случае. AN – устанавливается, если результат отрицательный и сбрасывается в противном случае. AV – устанавливается, если случилось арифметическое переполнение и сбрасывается в противном случае. AC – устанавливается, если есть перенос и сбрасывается в противном случае.
Б) ВЫЧИТАНИЕ X-Y/ВЫЧИТАНИЕ X-Y С ЗАЕМОМ
С
[IF cond] | AR | = xop | - yop | ; |
| AF | | - yop + C – 1 | |
| | | + C – 1 | |
| | | - constant | |
| | | - constant + C - 1 | |
интаксис:
Допустимые: регистры xop, регистры yop, условия cond и константы см. п. 1.17.5.А.
Пример: IF GE AR = AX0 – AY0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит вычитание второго операнда источника из первого операнда источника, а также прибавляет АС – 1, если в команде присутствует терм С – 1. Результат сохраняется в регистре назначения. Терм (С – 1) позволяет поддерживать операцию заема при вычитании чисел длиной более 16 бит. Операнды и константа содержатся в регистрах, которые определены в команде.
Операция xop - constant не может использоваться в многофункциональных командах.
Флаги состояния: см. п. 1.17.5.А.
В) ВЫЧИТАНИЕ Y-X/ВЫЧИТАНИЕ Y-X С ЗАЕМОМ
[IF cond] | AR | = | yop - | xop | | ; |
| AF | | | xop + C – 1 | | |
| | | - xop + C – 1 | | | |
| | | - xop + constant | | | |
| | | - xop + constant + C – 1 | | |
Синтаксис:
Допустимые: регистры xop, регистры yop, условия cond и константы см. п. 1.17.5.А.
Пример: IF GT AR = AY0 – AX0 + C – 1;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит вычитание второго операнда источника из первого операнда источника, а также прибавляет АС – 1, если в команде присутствует терм С – 1. Результат сохраняется в регистре назначения. Терм (С – 1) позволяет поддерживать операцию заема при вычитании чисел длиной более 16 бит. Операнды и константа содержатся в регистрах, которые определены в команде.
Операция xop - constant не может использоваться в многофункциональных командах.
Флаги состояния: см. п. 1.17.5.А.
Г) AND, OR, XOR
[IF cond] | AR | = xop | AND | | yop | ; |
| AF | | OR | | constant | |
| | | XOR | | | |
Синтаксис:
Допустимые: регистры xop, регистры yop, условия cond и константы см. п. 1.17.5.А.
Примеры: IF POS AR = MR0 AND 8192;
AR = AX0 XOR AY0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит побитную логическую операцию И/ИЛИ/ИСКЛЮЧАЮЩЕЕ ИЛИ между первым операндом источником и вторым операндом источником. Результат сохраняется в регистре назначения. Операнды и константа содержатся в регистрах, которые определены в команде.
Операция xop AND/OR/XOR constant не может использоваться в многофункциональных командах.
Флаги состояния:
ASTAT: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | MV | AQ | AS | AC | AV | AN | AZ |
| - | - | - | - | 0 | 0 | * | * |
AZ – устанавливается, если результат равен нулю и сбрасывается в противном случае. AN – устанавливается, если результат отрицательный и сбрасывается в противном случае. AV – всегда сбрасывается. AC –всегда сбрасывается.
Д) ПРОВЕРКА БИТА, УСТАНОВКА БИТА, ОЧИСТКА БИТА, ИНВЕРСИЯ БИТА
[IF cond] | AR | = | TSTBIT n OF xop | ; |
| AF | | SETBIT n OF xop | |
| | | CLRBIT n OF xop | |
| | | TGLBIT n OF xop | |
Синтаксис:
Допустимые: регистры xop и условия cond см. п. 1.17.5.А.
Допустимые значения n: 0 – 15.
Примеры: IF LE AF = TSTBIT 5 OF AR;
AR = TGLBIT 13 OF AX0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит следующее:
- Если выполняет TSTBIT, то производит операцию логического И между содержимым регистра источника и 1 в выбранном бите n;
- Если выполняет SETBIT, то производит операцию логического ИЛИ между содержимым регистра источника и 1 в выбранном бите n;
- Если выполняет CLRBIT, то производит операцию логического И между содержимым регистра источника и 0 в выбранном бите n;
- Если выполняет TGLBIT, то производит операцию логического ИСЛЮЧАЮЩЕГО ИЛИ между содержимым регистра источника и 1 в выбранном бите n.
Перечисленные команды не могут выполняться в многофункциональном режиме.
Следующий пример показывает, как произвести переход на метку set, если установлен пятый бит AR.
AF = TSTBIT 5 OF AR;
IF NE JUMP set
Флаги состояния: см. п. 1.17.5.А.
Е) ПЕРЕСЫЛКА/ОЧИСТКА
[IF cond] | AR | = PASS | xop | ; |
| AF | | yop | |
| | | constant | |
Синтаксис:
Допустимые: регистры xop, регистры yop и условия cond см. п. 1.17.5.А.
Допустимые константы: -1, 0, 1
2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33, 63, 64, 65, 127, 128, 129, 255, 256, 257, 511, 512, 513, 1023, 1024, 1025, 2047, 2048, 2049, 4095, 4096, 4097, 8191, 8192, 8193, 16383, 16384, 16385, 32766, 32767
-2, -3, -4, -5, -6, -8, -9, -10, -16, -17, -18, -32, -33, -34, -64, -65, -66, -128, -129, -130, -256, -257, -258, -512, -513, -514, -1024, -1025, -1026, -2048, -2049, -2050, -4096, -4097, -4098, -8192, -8193, -8194, -16384, -16385, -16386, -32767, -32768
Примеры: IF GE AR = PASS AY0; {пересылка содержимого AY0 в AR}
AR = PASS 0; {очистка AR}
AR = PASS 8191; {загрузка AR константой 8191}
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника или константы в регистр приемник. Операнды и константа содержатся в регистрах, которые определены в команде.
В отличие от функционально идентичных команд пересылки данных (см. п. 1.17.4), команда PASS xop/yop/-1/0/1 устанавливает некоторые флаги (см. ниже). Если операндами команды являются константы, отличные от -1, 0, 1, то состояние флагов ASTAT не определено.
Команда PASS xop/yop/-1/0/1 может использоваться в многофункциональных командах. Константы, отличные от –1, 0, 1, не могут использоваться в многофункциональных командах.
Флаги состояния: см. п. 1.17.5.Г.
Ж) ОТРИЦАНИЕ ЗНАКА ОПЕРАНДА
[IF cond] | AR | = - | xop | ; |
| AF | | yop | |
Синтаксис:
Допустимые: регистры xop, регистры yop и условия cond см. п. 1.17.5.А.
Пример: IF LT AR = - AY0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника в регистр приемник с инверсией знака операнда. Операнды содержатся в регистрах, которые определены в команде.
Флаги состояния:
ASTAT: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | MV | AQ | AS | AC | AV | AN | AZ |
| - | - | - | - | * | * | * | * |
AZ – устанавливается, если результат равен нулю и сбрасывается в противном случае. AN – устанавливается, если результат отрицательный и сбрасывается в противном случае. AV – устанавливается, если операнд = 0х8000 и сбрасывается в противном случае. AC – устанавливается, если операнд равен нулю и сбрасывается в противном случае.
З) ИНВЕРСИЯ БИТОВ ОПЕРАНДА
[IF cond] | AR | = NOT | xop | ; |
| AF | | yop | |
Синтаксис:
Допустимые: регистры xop, регистры yop и условия cond см. п. 1.17.5.А.
Пример: IF NE AF = NOT AX0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника в регистр приемник с инверсией всех битов операнда. Операнды содержатся в регистрах, которые определены в команде.
Флаги состояния: см. п. 1.17.5.Г.
И) АБСОЛЮТНОЕ ЗНАЧЕНИЕ
[IF cond] | AR | = ABS | xop | ; |
| AF | | | |
[IF cond] | AR | = | yop + 1 | ; |
| AF | | | |
Синтаксис:
Допустимые: регистры xop и условия cond см. п. 1.17.5.А.
Пример: IF NEG AF = ABS AX0;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника в регистр приемник с формированием абсолютной величины операнда. Операнды содержатся в регистрах, которые определены в команде.
Флаги состояния:
ASTAT: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | MV | AQ | AS | AC | AV | AN | AZ |
| - | - | - | * | 0 | * | * | * |
AZ – устанавливается, если результат равен нулю и сбрасывается в противном случае. AN – устанавливается, если хор = 0х8000 и сбрасывается в противном случае. AV – устанавливается, если хор = 0х8000 и сбрасывается в противном случае. AC – всегда сбрасывается. AS – устанавливается, если операнд источник отрицательный и сбрасывается в противном случае.
К) ИНКРЕМЕНТ
Синтаксис:
Допустимые: регистры yop и условия cond см. п. 1.17.5.А.
Пример: IF GT AF = AF + 1;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника в регистр приемник с увеличением на 1 значения операнда. Операнды содержатся в регистрах, которые определены в команде.
Флаги состояния: см. п. 1.17.5.А.
Л) ДЕКРЕМЕНТ
[IF cond] | AR | = | yop – 1 | ; |
| AF | | | |
Синтаксис:
Допустимые: регистры yop и условия cond см. п. 1.17.5.А.
Пример: IF EQ AR = AY1 – 1;
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит пересылку содержимого регистра источника в регистр приемник с уменьшением на 1 значения операнда. Операнды содержатся в регистрах, которые определены в команде.
Флаги состояния: см. п. 1.17.5.А.
М) ДЕЛЕНИЕ
Синтаксис: DIVS yop, xop
DIVQ xop
Допустимые:
регистры xop регистры yop