Cтраница 3
Тип операции контролирует то, как исходное bitmap изображение объединяется с существующим содержимым принимающего прямоугольника. Тип 0020 означает, что источник перезаписывает содержимое приемника. Тип 0086 производит логическое OR содержимого источника и приемника. Тип ООС6 производит логическое AND содержимого источника и приемника. Тип 0046 производит логическое XOR содержимого источника и приемника. Существуют другие типы, но они используются значительно реже. [31]
Если указан другой элемент памяти, то монитор пересылает вводимую литеру из RO в данный элемент памяти. TTYIN R1 оба регистра RO и R1 содержат вводимую литеру, так как команда MOV не изменяет содержимое источника данных. TTYOUT всегда выводит литеру через RO. [32]
Команды очистки бита и побитовой очистки байта являются двухшаго-выми. Сначала содержимое источника заменяется на побитовое дополнение, а затем над содержимым источника и содержимым приемника производится логическая операция И. Результат хранится в приемнике. Содержимое источника не изменяется. [33]
Тип операции контролирует то, как исходное bitmap изображение объединяется с существующим содержимым принимающего прямоугольника. Тип 0020 означает, что источник перезаписывает содержимое приемника. Тип 0086 производит логическое OR содержимого источника и приемника. Тип ООС6 производит логическое AND содержимого источника и приемника. Тип 0046 производит логическое XOR содержимого источника и приемника. Существуют другие типы, но они используются значительно реже. [34]
![]() |
Структурная схема кэш-памяти команд. [35] |
За счет наличия двух ограничителей можно независимо ограничивать операнды размером в двойное слово в одном и том же командном цикле. Если содержимое выбранного аккумулятора-источника может быть представлено без переполнения в размере операнда-приемника, то ограничение данных запрещается, и операнд не модифицируется. Если содержимое выбранного аккумулятора источника не может быть представлено без переполнения в размере операнда-приемника, то ограничитель будет подставлять ограниченные значения данных, имеющих максимальное насыщение и тот же знак, что и содержимое источника: 7FFFFF для 24-битовых или 7FFFFF FFFFFF для 48-битовых положительных чисел, 800000 для 24-битовых или 800000 000000 для 48-битовых отрицательных чисел. Этот процесс называется насыщением передачи. Значение в аккумуляторном регистре не сдвигается, не ограничивается и может быть повторно использовано через АЛУ данных. Когда выполняется ограничение, то флаг устанавливается и защелкивается в регистре статуса. [36]
Тип операции контролирует то, как исходное bitmap изображение объединяется с существующим содержимым принимающего прямоугольника. Тип 0020 означает, что источник перезаписывает содержимое приемника. Тип 0086 производит логическое OR содержимого источника и приемника. Тип ООС6 производит логическое AND содержимого источника и приемника. Тип 0046 производит логическое XOR содержимого источника и приемника. Существуют другие типы, но они используются значительно реже. [37]
Команда СРАВНЕНИЕ ( СМР) из содержимого источника вычитает содержимое приемника. При этом содержимые источника и приемника не изменяются, так как результат вычитания нигде не запоминается. Поэтому единственным результатом этой операции является установка разрядов кодов условий. Эти разряды устанавливаются так же, как и при выполнении команды SUB, если не считать разницу при установке разряда переполнения V. Так как при выполнении команды СМР содержимое приемника вычитается из содержимого источника ( при выполнении команды SUB из содержимого приемника вычитается содержимое источника), то разряд V устанавливается в единицу в том случае, если операнды имели разные знаки, а знак результата совпадает со знаком приемника, а не источника. Команда СМР используется для сравнения содержимого двух элементов ( регистров или ячеек памяти) в точках ветвления программы. [38]
Команда СРАВНЕНИЕ ( СМР) из содержимого источника вычитает содержимое приемника. При этом содержимые источника и приемника не изменяются, так как результат вычитания нигде не запоминается. Поэтому единственным результатом этой операции является установка разрядов кодов условий. Эти разряды устанавливаются так же, как и при выполнении команды SUB, если не считать разницу при установке разряда переполнения V. Так как при выполнении команды СМР содержимое приемника вычитается из содержимого источника ( при выполнении команды SUB из содержимого приемника вычитается содержимое источника), то разряд V устанавливается в единицу в том случае, если операнды имели разные знаки, а знак результата совпадает со знаком приемника, а не источника. Команда СМР используется для сравнения содержимого двух элементов ( регистров или ячеек памяти) в точках ветвления программы. [39]
Деление по существу противоположно умножению. Содержимое некоторого регистра с четным номером и следующего за ним соседнего регистра с нечетным номером обрабатывается как 32-битовое целое число, представленное в виде двоичного дополнения, и делится на содержимое источника. Получаемое в результате частное хранится в указанном регистре с четным номером, а остаток хранится в следующем за ним регистре с нечетным номером. Регистр, задаваемый в команде, должен иметь четный номер. Бит N устанавливается в единицу, если частное отрицательно, бит Z - если оно равно нулю, бит V устанавливается в единицу, если содержимое источника равно нулю или если абсолютное значение содержимого регистра с четным номером больше абсолютного значения содержимого источника, а бит С устанавливается в единицу, если производится попытка деления на нуль. [40]
Деление по существу противоположно умножению. Содержимое некоторого регистра с четным номером и следующего за ним соседнего регистра с нечетным номером обрабатывается как 32-битовое целое число, представленное в виде двоичного дополнения, и делится на содержимое источника. Получаемое в результате частное хранится в указанном регистре с четным номером, а остаток хранится в следующем за ним регистре с нечетным номером. Регистр, задаваемый в команде, должен иметь четный номер. Бит N устанавливается в единицу, если частное отрицательно, бит Z - если оно равно нулю, бит V устанавливается в единицу, если содержимое источника равно нулю или если абсолютное значение содержимого регистра с четным номером больше абсолютного значения содержимого источника, а бит С устанавливается в единицу, если производится попытка деления на нуль. [41]
В ядре DSP56600 аккумуляторы А и В в АЛУ данных имеют восемь дополнительных бит. Ограничение будет происходить, когда задействованы дополнительные биты и если А или В являются источниками, содержимое которых читается через XDB или YDB. Ограничители в DSP56600 размещают сдвинутые или ограниченные значения на XDB или YDB без изменения содержимого регистров А или В. За счет наличия двух ограничителей можно независимо ограничивать операнды размером в двойное слово в одном и том же командном цикле. Если содержимое выбранного аккумулятора-источника может быть представлено без переполнения в размере операнда-приемника, то ограничение данных запрещается, и операнд не модифицируется. Если содержимое выбранного аккумулятора источника не может быть представлено без переполнения в размере операнда-преемника, то ограничитель будет подставлять ограниченные значения данных, имеющих максимальное насыщение и тот же знак, что и содержимое источника: 7FFF для 16-битовых или 7FFF FFFF для 32-битовых положительных чисел, 8000 для 16-битовых или 8000 0000 для 32-битовых отрицательных чисел. Этот процесс называется насыщением передачи. Значение в аккумуляторном регистре не сдвигается, не ограничивается и может быть повторно использовано через АЛУ данных. Когда выполняется ограничение, то флаг устанавливается и защелкивается в регистре статуса. [42]