Cтраница 4
Порядок обращения к подпрограмме. [46] |
Правило вычислений, определяемое процедурой, представляется в машине в виде совокупности команд, образующих подпрограмму. Яр, где БП-обозначение операции безусловного перехода и ( 3 - адрес первой команды подпрограммы. После выполнения подпрограммы производится возврат на продолжение программы. Возврат из подпрограммы программируется с использованиемкоманды возврата, хранимой в ячейке у - Команда возврата является последней командой, выполняемой в программе. [47]
В машинах с естественной последовательностью команд основным элементом блока выработки адреса команды является счетчик адреса команды. Он представляет собой регистр, в который в самом начале исполнения программы засылается адрес первой команды, а потом его содержимое автоматически увеличивается на единицу после завершения операции и таким образом получается адрес следующей команды. [48]
Процесс выполнения программы заключается в последовательном выполнении команд. Поскольку команды записаны в памяти, чтобы начать выполнение программы, надо задать адрес первой команды ( например, с пульта ЭВМ), а в каждой выполненной команде указать адрес следующей команды или определить способ вычисления адреса следующей команды из адреса выполненной. Обычно предполагается естественный порядок выполнения команд. Последовательно выполняемые команды программы должны быть записаны в последовательных ячейках памяти. Тогда адрес следующей команды вычисляется увеличением адреса выполненной команды. Для изменения такого порядка выполнения команд предусматривается специальная команда перехода, в адресной части которой указывается адрес следующей команды. [49]
Причины, вызывающие установку признака ошибки в программе канала, можно разделить на три группы. К первой из них относятся ошибки в формировании адресного слова капала CAW - адрес первой команды CCW не кратен 8, в разрядах 4 - 7 имеется хотя бы один ненулевой байт. Вторая группа причин связана с ошибками в организации программы канала - первой командой CCW является ПЕРЕХОД В КАНАЛЕ, команда ПЕРЕХОД В КАНАЛЕ передает управление на другую команду ПЕРЕХОД В КАНАЛЕ. Наконец, к третьей группе относятся ошибки в написании тех или иных компонент канальных команд. [50]
Рассмотрим порядок работы машины Минск-2 ( 22) несколько более подробно. После ввода в машину программы и исходных данных с пульта управления в СчАК заносится адрес первой команды программы. Нажатием на кнопку пуска осуществляется запуск машины для вычислений. [51]
Выполнение любой программы канала начинается по команде SIO. Перед этим в CAW должно быть записано нужное значение, содержащее ключ защиты памяти и адрес первой команды программы канала. По команде SIO проверяется работоспособность канала и УВВ и незанятость их другим вводом-выводом. Затем проверяется правильность CAW и первого CCW, и, если все нормально, запускается программа канала. Команда SIO устанавливает признак результата равным нулю, если программа канала начала выполняться. В противном случае признак результата приобретает другие значения. После команды SIO в программе обычно следует команда ВС, передающая управление блоку обработки необычных ситуаций ввода-вывода при ненулевом значении признака результата. [52]
Для чего нужны эти команды. Можно представить следующую схему организации вычислений: программист вводит в машину программу, набирает на специальном пульте адрес первой команды программы и нажимает кнопку ПУСК. Вычислительная машина начинает работать. По окончании вычислений машина останавливается, программист забирает результаты счета и уступает место следующему пользователю. Человек за пультом ЭВМ должен определить, почему произошел останов и после этого предпринять действия для продолжения счета. Еслм запустить программу вновь не удается, принимается решение о прекращении работы по данной программе. [53]
По ПС машина останавливается с зажиганием лампы ПС, указывающей на некорректность задания. По РПС выбирается разметка первой графы; параметры ее заносятся в ШГ2 и Т; в РАПС и БУРА записывается адрес первой команды, стоящей в ОЗУ непосредственно после символа РПС, и только после этого начинается режим выбора и расшифровки кода операций. [54]