Cтраница 1
![]() |
Формирование области сохранения регистров. [1] |
Сохранение содержимого регистров производится, начиная с четвертого слова области сохранения. [2]
Для сохранения содержимого регистров программист должен зарезервировать в своей программе область памяти размером в 18 слов. Информация в этой области располагается в следующем строго определенном формате, описанном ниже. [3]
![]() |
Формирование области сохранения регистров. [4] |
Для сохранения содержимого регистров при переходе к подпрограмме используется команда STM. Она дает возможность записывать информацию указываемых регистров в последовательные ячейки некоторой области памяти, называемой областью сохранения. Эта область содержит 18 полных слов. При переходе к подпрограмме регистр 13 должен содержать адрес начала этой области. [5]
Для сохранения содержимого регистров программист должен зарезервировать в своей программе область памяти размером в 18 слов. Информация в этой области располагается в следующем строго определенном формате, описанном ниже. [6]
Отметим, что сохранение содержимого регистра R5 в ячейке Убыло добавлено к процедуре ( см. листинг 9.5, Э), чтобы анализирующей программе было труднее определить, что все операции с этим регистром представляют собой мертвую программу, то есть они не выполняют ничего полезного. [7]
Отметим, что сохранение содержимого регистра R5 в ячейке Y было добавлено к процедуре ( см. листинг 9.5, Э), чтобы анализирующей программе было труднее определить, что все операции с этим регистром представляют собой мертвую программу, то есть они не выполняют ничего полезного. [8]
Вторая программа служит для сохранения содержимого регистров канала. Приостановленная программа может быть затем возобновлена по команде Возобновить, которая восстанавливает содержимое регистров ТР и, PSW, автоматически считывая его из блока параметров. [9]
Макрокоманда SAVE используется для сохранения содержимого регистров предыдущей программы. Макрокоманда SAVE должна быть написана в начале программы. [10]
Эта макрокоманда используется п ля сохранения содержимого регистров внешней программы. [11]
Наиболее надежным способом, гарантирующим всегда сохранение содержимого регистров предыдущей программы, является включение в программу следующего программного фрагмента ( см. стр. [12]
Представьте себе, что обе сопрограммы IN и OUT требуют сохранения содержимого регистра А между выходом и входом; таким образом, предполагается, что где бы ни встретилась в OUT команда JMP IN, содержимое регистра А должно остаться тем же при возврате к следующей строке; аналогичное предположение применимо и к командам JMP OUT, встречающимся в IN. Какая связь между сопрограммами необходима в этом случае. [13]
Инициализация программы - действия, обычно выполняемые в начале программы, такие, как инициализация базовых регистров, сохранение исходного содержимого регистров, инициализация областей данных и другие, которые программист считает целесообразными перед входом в основную часть программы. [14]
Если происходит обращение к программе, по окончании работы которой необходимо вернуться в вызывающую программу, то обычно возникает необходимость в сохранении содержимого регистров. [15]