А. В. Комаров цифровые сигнальные процессоры

Вид материалаДокументы
Si ar eq le ac sr1 mr2 ne neg not ac sr0 mr1 gt pos mv mr0 ge av not mv lt not av not ce
Флаги состояния
Допустимые регистры xop и условия cond см. п. 1.17.7.А.
Флаги состояния
Допустимые регистры xop и условия cond см. п. 1.17.7.А.
Флаги состояния
Подобный материал:
1   ...   13   14   15   16   17   18   19   20   ...   26
SI AR EQ LE AC
SR1 MR2 NE NEG NOT AC
SR0 MR1 GT POS MV
MR0 GE AV NOT MV
LT NOT AV NOT CE


Пример: IF LT SR = SR OR ASHIFT SI (LO);


Описание: Если команда выполняется (условие отсутствует или ве­р­нуло TRUE), то процессор производит арифметический сдвиг битов операнда. Направление и число сдвигов зависит от содержимого регистра SE (счетная величина).

Положительное число в регистре SE вызывает левый сдвиг, отрицательное – правый сдвиг. Сдвинутый операнд может быть размещен в старшей половине выходного поля SHIFTER (опция HI) или в младшей половине (опция LO). Сдвинутый операнд может быть также подвергнут операции логического ИЛИ с текущим содержимым регистра SR (опция SR OR).

При размещении сдвинутого операнда в 32-битном выходном поле слева от СЗР распространяется знак операнда, а справа от самого младшего значащего разряда (МЗР) распространяется ноль. Биты сдвинутого операнда, выходящие за SR31 (при левом сдвиге) или за SR0 (при правом сдвиге) опускаются.

При сдвиге с двойной точностью содержимое SE используется для обеих половин операнда. В первом цикле сдвигается старшая половина операнда с двойной точностью (команда ASHIFT используется с опцией HI). Младшая половина операнда с двойной точностью сдвигается с помощью команды LSHIFT, которая использует с опции LO и SR OR. Это препятствует распространению знака младшей половины операнда, что может исказить результат сдвига.


Флаги состояния: не изменяются.


Б) ЛОГИЧЕСКИЙ СДВИГ


[IF cond] SR = [SR OR] LSHIFT xop

(HI)

;




(LO)









Синтаксис:


Допустимые регистры xop и условия cond см. п. 1.17.7.А.


Пример: IF GE SR = LSHIFT SI (HI);


Описание: Если команда выполняется (условие отсутствует или ве­р­нуло TRUE), то процессор производит логический сдвиг битов операнда. Направление и число сдвигов зависит от содержимого регистра SE (счетная величина).

Положительное число в регистре SE вызывает левый сдвиг, отрицательное – правый сдвиг. Сдвинутый операнд может быть размещен в старшей половине выходного поля SHIFTER (опция HI) или в младшей половине (опция LO). Сдвинутый операнд может быть также подвергнут операции логического ИЛИ с текущим содержимым регистра SR (опция SR OR).

При левом сдвиге справа от МЗР распространяется ноль, а биты сдвинутого операнда, выходящие за SR31 опускаются. При правом сдвиге слева от СРЗ распространяется ноль, а биты сдвинутого операнда, выходящие за SR0 опускаются.

При сдвиге с двойной точностью содержимое SE используется для обеих половин операнда. В первом цикле сдвигается старшая половина операнда с двойной точностью (команда LSHIFT используется с опцией HI). Для сдвига младшей половины операнда с двойной точностью команда LSHIFT использует с опциями LO и SR OR.


Флаги состояния: не изменяются.


В) НОРМАЛИЗАЦИЯ


С

[IF cond] SR = [SR OR] NORM xop

(HI)

;




(LO)






интаксис
:


Допустимые регистры xop и условия cond см. п. 1.17.7.А.


Пример: SR = NORM SI (HI);


Описание: Если команда выполняется (условие отсутствует или ве­р­нуло TRUE), то процессор производит арифметические сдвиги входного операнда, чтобы убрать все избыточные знаковые биты за исключением одного. Число сдвигов содержит регистр SE. Этот регистр может быть загружен командой извлечения экспоненты (EXP, см. п. 1.17.7.Г), обычно это отрицательная величина, равная по модулю числу знаковых битов минус один.

Сдвинутый операнд может быть размещен в старшей половине выходного поля SHIFTER (опция HI) или в младшей половине (опция LO). Сдвинутый операнд может быть также подвергнут операции логического ИЛИ с текущим содержимым регистра SR (опция SR OR).

Если выбрана опция LO, то слева от СРЗ распространяется ноль, а биты сдвинутого операнда, выходящие за SR31 опускаются.

Все биты правее МЗР обнуляются. Если экспонента результата операции ALU с переполнением была извлечена с модификатором HIX, то все биты выходного поля SHIFTER левее СЗР заполняются значением бита АС регистра ASTAT при выполнении команды NORM (HI). В этом случае (SE = 1, см. п. 1.17.7.Г) формируется правый сдвиг.

При сдвиге с двойной точностью содержимое SE используется для обеих половин операнда. В первом цикле сдвигается старшая половина операнда с двойной точностью (команда NORM используется с опцией HI). Для сдвига младшей половины операнда с двойной точностью команда NORM использует с опциями LO и SR OR.


Флаги состояния: не изменяются.


Г) ИЗВЛЕЧЕНИЕ ЭКСПОНЕНТЫ


[IF cond] SE = EXP xop

(HI)

;




(LO)







(HIX)









Синтаксис: