ПОДПРОГРАММА И СТЕК
ЦЕЛЬ РАБОТЫ: Исследование особенностей записи и обращения к подпрограммам, изучение методов использования стека при разработке программ с помощью учебно-отладочного устройства "Электроника 580".
Продолжительность лабораторного занятия - 4 часа, самостоятельная подготовка - 4 часа.
СОДЕРЖАНИЕ ЛАБОРАТОРНОЙ РАБОТЫ
Учитывая ограниченные возможности памяти при разработке программ, необходимо стремиться сделать их как можно короче. С этой целью часть программы, которая неоднократно повторяется, или программа, которая часто используется, могут быть использованы в виде подпрограмм - последовательностей команд, выполнение которых может быть вызвано из любого места программы любое количество раз. Процесс передачи управления к подпрограмме называется ее вызовом.
Для вызова подпрограмм и возврата из них используются команды CALL<A2>,<AI> и RET.
При работе с подпрограммами используется стековая память. Стек - специально организованная область ОЗУ, используемая для временного сохранения данных или адресов. Число, записанное в стек последним, извлекается из него первым.
Команда RET помещает в программный счетчик последнее записанное на данный момент в стеке число. После этого выполнение программы будет осуществляться с этого адреса. Любая подпрограмма должна заканчиваться командой RET.
Автоматическое сохранение и восстановление адреса основной программы при выполнении подпрограмм позволяет сделать подпрограммы вложенными, то есть осуществить вызов одной подпрограммы из другой. Уровень вложенности определяется размером стека.
Существуют также команды условного вызова подпрограмм и возврата из них. Они позволяют вызвать подпрограмму и возвратиться из нее по определенному состоянию заданных разрядов регистра признаков (аналогично командам условного перехода) без использования дополнительных команд.
Помимо команд вызова подпрограмм и возврата из них, со стеком можно обмениваться информацией с помощью команд PUSH<R> (записать в стек содержание обозначенного регистра МП БИС) и POP<R> (записать данные из стека в обозначенный регистр МП БИС)
Дата добавления: 2015-08-01; просмотров: 747;