Cтраница 2
![]() |
Организация управления операционными регистрами. [16] |
Таким образом, запись нулевого результата, очистка какого-либо регистра или ячейки памяти осуществляется в процессе выполнения микрокоманды простой пересылкой содержимого РОП с нулевым номером. В РОП1 и РОПЗ обычно расположено командное слово. При необходимости оно может быть использовано и в ходе выполнения микропрограммы. [17]
Эта процедура в отличие от стандартной MOVE не проверяет области на перекрытие и, следовательно, допускает быструю инициализацию массивов путем пересылки содержимого первого элемента во все остальные. [18]
Адреса 1000 ( 8), 1006 ( 8), 1010 ( 8) обозначены символическими ме. Ячейка с адресом 1000 содержит команду пересылки содержимого источника в приемник. Косвенный способ адресации ( режим 1 и соответствующее ему символьное обозначение () означает, что в регистре R2 находится адрес операнда источника, а сам операнд расположен в ячейке памяти с этим адресом. EI одноадресной команде перехода ( код операции 0001, мнемоническое обозначение JMP) также использовано прямое обращение к регистру. В ячейку с меткой STOP ( по адресу 1006) помещена безадресная команда HALT ( код операции 0), которая вызывает прекращение работы процессора по программе. Одноадресная команда INC ( Increment - увеличение) ( код операции 0052) занимает 2 слова памяти, поскольку в ней применен индексный способ адресации ( режим адресации 6); по адресу 001012 находится индексное слово, которое используется для вычисления адреса операнда приемника. [19]
![]() |
Последовательность анализа РМО и выполнения ТЛН. [20] |
В результате анализа выполняются ТЛН именно того блока, сигнал ошибки которого зафиксирован в данной группе разрядов. В случае ошибок БОПО-БОПЗ и ошибок пересылки содержимого РМКО-РМК2 из БОПО - БОШ тесты не выполняются, а происходит останов процессора, поскольку в данном случае ошибка оказывается локализованной с точностью до сменного блока. [21]
Существует также целый ряд других специальных команд пересылки данных. В большинстве процессоров имеются команды, обеспечивающие пересылку содержимого регистра слова состояния процессора и других регистров состояния и управления процессором в аккумуляторы, регистры общего назначения или стек, а также выполнение обратных пересылок. У процессора 6809 есть команда передачи TFR, с помощью которой можно получить копию содержимого любого из регистров центрального процессора в каком-либо другом регистре той же длины. Некоторые процессоры располагают командами LDM ( Загрузка групповая) и STM ( Запись групповая), позволяющими записывать содержимое группы регистров в память и восстанавливать его из памяти при использовании одной команды. Такие команды очень удобны при обращении к подпрограммам и обработке прерываний. Наконец, существуют команды, с помощью которых можно пересылать блоки данных из одной области памяти в другую. [22]
![]() |
Блок-схема программы опроса. [23] |
Достаточно лишь изменить номера портов ввода-вывода в командах пересылки содержимого регистра состояния в аккумулятор и скорректировать команды вызова программ обслуживания. [24]
![]() |
Система, в которой используется шина данных IEEE-488. [25] |
Например, используя способ организации ввода-вывода, аналогичный способу организации обращения к памяти, можно выполнить сложение вводимого слова данных с содержимым аккумулятора или сравнить входные данные с содержимым аккумулятора. В более совершенных микропроцессорах, в наборе команд которых имеются команды пересылки содержимого некоторой области памяти в другую область памяти, вводимое слово данных с помощью одной команды можно переслать из устройства нвода в определенную область памяти. [26]
![]() |
Условия переходов, используемые в процессоре Н8000. [27] |
Установку регистра R15 программист может выполнить в начале программы. Команда RET, подобно команде RTS процессора Н6809, служит для осуществления возврата из подпрограммы путем пересылки содержимого стека в счетчик команд. [28]
Во время выполнения подпрограммы обработки прерывания может измениться содержимое какого-либо из регистров ЦП, например регистра признаков. Поэтому рекомендуется запоминать содержимое регистров МП перед началом выполнения подпрограммы обработки прерывания, что может быть сделано, например, путем пересылки содержимого регистров в стек. [29]
Второй способ применяют при наличии пары регистров, один из которых является накапливающим, а другой - его дополнением, так называемым регистром множителя-частного, используемым при выполнении операций умножения, деления и сдвига. В обоих этих регистрах можно хранить числа с фиксированной запятой, числа с плавающей запятой или логические операнды, но в этом случае требуются частые пересылки содержимого этих регистров в основную память ( во время выполнения программы), чтобы освобождать эти регистры для выполнения других операций. На рис. 1.17 показано, каким образом применяется адресуемый регистр. Очевидно, все вычисления производятся с использованием содержимого этого регистра как одного из операндов, так что этот регистр участвует во всех операциях загрузки операндов из памяти в качестве приемника и записи в память в качестве источника. [30]