Cтраница 1
Использование регистров значительно увеличивает объем занимаемой при расчете памяти. В связи с этим возрастает необходимость в рациональном формальном описании сети: число регистров памяти зависит от последовательности дуг сети в описании. [1]
Использование регистров защиты и таблицы прерываний позволяет получить гибкую программированную логику системы прерывания, учитывающую специфику выполнения алгоритмов в данной управляющей системе. [2]
Однако использование регистров может вызвать другую проблему. Если операнд, находящийся в памяти, должен сначала загружаться в регистр, то потребуется большее число битов для определения адреса памяти. Во-первых, для переноса операнда в регистр нужна команда LOAD. Для этого требуется не только код операции, но и полный адрес памяти, а также нужно определить целевой регистр. Поэтому если операнд используется только один раз, помещать его в регистр не стоит. [3]
Такое использование регистров должно быть оговорено в описании архитектуры, так как из-за побочных эффектов могут возникнуть проблемы их совместимости. [4]
На использование регистров между Asm и End накладываются общие для Паскаля ограничения - регистры DS SP SS BP должны сохраняться, остальные регистры можно модифицировать. [5]
Взаимоисключающее использование виртуальных регистров.| Блок-схема тест-программы для проверки распределения регистров. [6] |
Такое использование виртуальных регистров допускает назначение для них одного и того же физического регистра. [7]
Оптимизация использования регистров предназначена для уменьшения числа пересылок операндов между регистрами и памятью в процессе выполнения программы. При частичной оптимизации в регистрах ( при достаточном количестве регистров) сохраняются операнды, значения которых определяются и затем используются в этом же блоке. Если регистров недостаточно, то сохраняются не все операнды. В регистрах также сохраняются наиболее часто используемые в программе базовые адреса и переменные. [8]
При использовании регистра секстад в качестве сдвигающего регистра он работает следующим образом. Регистр сбрасывается в нулевое состояние. Код секстад, набранный на специальных ключах, подается через входные шины и фиксируется на триггерах регистра. Сдвинутая информация выдается в регистр распределения кодов. [9]
Устройство MAC. [10] |
При использовании регистра расширения аккумулятора бит переполнения в регистре кодов условий всегда установлен в единицу. Расширения знака обеспечивается автоматически при записи в 56-битный аккумулятор А или В 48-битного или 24-битного операнда. Если записывается 24-битный операнд, LSP автоматически заполняется нулями для представления операнда в 56-битной форме. [11]
Чтобы проиллюстрировать использование регистров, изменим программу из § 1.4. Поместим данные в коде ASCII, которые мы хотим вывести, в первый регистр ( регистр 0) и затем выдадим содержимое регистра 0 на терминал. [12]
Дробь с дополнением до двух. [13] |
Ограничение на использование регистров Rn, Nn, Mn: если в адресных регистрах происходит изменение по инструкции типа пересылки ( LUA, Тсс, MOVE, MOVEM, MOVEC или параллельная пересылка), новое содержимое не доступно для использования в следующей инструкции. Это ограничение не действует при модификации регистров в режиме косвенной адресации. [14]
Часто встречается использование регистра памяти в качестве накопителя. При нажатии одной из этих клавиш включается микропрограмма, в которой после анализа знака операции и знаков содержимых регистра памяти и регистра ОР1 производится сложение ( или вычитание) содержимых этих регистров, причем результат засылается в регистр памяти, а на ОР1 восстанавливается исходное число. [15]