Cтраница 4
После окончания работы СП управление будет передано ячейке р, а находящаяся в ней команда возврата передаст управление ячейке / г - j - l, с которой продолжится выполнение основной программы. [46]
В методе компиляции все подпрограммы, требующиеся в основной программе, вызываются на рабочее поле в оперативной памяти до выполнения основной программы, а в методе интерпретации подпрограммы вызываются на рабочее поле в ходе выполнения основной программы. Основное преимущество метода компиляции заключается в относительно небольшом времени, затрачиваемом на служебные операции настройки стандартных подпрограмм по месту, которые выполняются лишь один раз для каждой подпрограммы. Недостаток метода компиляции состоит в сравнительно большом объеме требующегося рабочего поля, который должен быть равен сумме длин всех используемых в основной программе стандартных подпрограмм. Если все подпрограммы не умещаются на рабочем поле, компилирующая система выдает отказ: без расширения рабочего поля выполнение программы невозможно. [47]
Если по ходу программы появляется необходимость в обмене информацией между процессором или ОП и периферийными устройствами, другими словами, в выполнении операции ввода - вывода, то процессор начинает такую операцию, посылая в канал необходимую управляющую информацию, после чего продолжает свою работу по выполнению основной программы. После запуска в работу периферийные устройства функционируют автономно, занимая время процессора только на короткие сеансы связи для передачи подготовленной порции информации. [48]
Для реализации подпрограммы обработки прерывания в МП должны выполняться следующие действия: прием запроса на прерывание и его подтверждение; идентификация источника прерывания; сохранение состояния основных регистров МП ( счетчика команд, аккумулятора, РОНов) с тем, чтобы обеспечить возможность возобновления вычислений по прерванной программе; собственно выполнение программы обработки прерывания; восстановление исходного состояния основных регистров МП и возврат к выполнению основной программы. [49]
Программные модули, реализующие эти операции, включаются подпрограммами обработки прерываний при поступлении в микро - ЭВМ внешних инициативных сигналов. При этом выполнение основной программы временно приостанавливается, включается в работу программный модуль, обслуживающий соответствующий запрос прерывания, и затем выполнение основной программы продолжается с того места, на котором оно было прервано. [50]
Стековая адресация используется в случаях, когда производится прерывание основной программы. Прерыванием называют приостановку выполнения основной программы с целью обслуживания внешнего устройства или другого процесса. При этом происходит обращение к подпрограмме обслуживания устройства или процесса. Содержимое счетчика команд, в котором хранится адрес возврата в основную программу, а также при необходимости промежуточные данные, хранящиеся в регистрах общего назначения, адресных регистрах, аккумуляторе и регистре признаков, переносятся в стек, а в счетчик команд заносится новый адрес, с которого начинается указанная подпрограмма. Этим освобождаются регистры МП для выполнения подпрограммы. При возврате к выполнению основной программы содержимое стека возвращается в МП. Во время выполнения программы обычно неоднократно обращаются к подпрограммам, поэтому использование команд со стековой адресацией позволяет существенно сократить время решения задач. [51]