Общие сведения вызова подпрограмм и возврата из них используются команды CALL

Учитывая ограниченные возможности памяти при разработке про­грамм, нужно стараться сделать их как можно короче. С этой целью часть программы, которые неоднократно повторяются, или программы, которые часто используются, могут быть использованы в виде подпрограмм - последовательностей команд, выполнение которых может быть вызвано из любого места программы любое количество раз. Процесс передачи управления к подпрограмме называется ее вызовом.

Для вызова подпрограмм и возврата из них используются команды CALL, и RET.

При работе с подпрограммами используется стек МП. Стек - специ­ально организованная область ОЗУ, используемая для временного сохранения данных или адресов. Число, записанное в стек последним извлекается из него первым. По принятой структуре организации com-программ, стек размещается в конце сегмента, т.е. вершина стека размещается по адресу CS:FFFF.

Команда RET помещает в программный счетчик последнее записан­ное на данный момент в стеке число. После этого выполнение программы будет осуществляться с этого адреса. Любая подпрограмма должна заканчиваться командой RET.

Автоматическое сохранение и восстановление адреса основной про­граммы при выполнении подпрограмм позволяет сделать подпрограм­мы вложенными, то есть осуществить вызов одной подпрограммы из другой. Уровень вложенности определяется размером стека.

Существуют также команды условного вызова подпрограмм и воз­врата из них. Они позволяют вызвать подпрограмму и возвратиться из нее по определенному состоянию заданных разрядов регистра признаков (аналогично командам условного перехода) без использования дополнительных команд.

Помимо команд вызова подпрограмм и возврата из них со стеком можно обмениваться информацией с помощью команд PUSH (запи­сать в стек содержание обозначенного регистра МП БИС) и POP (записать данные из стека в обозначенный регистр МП БИС).

2. ПРОГРАММА ИССЛЕДОВАНИЯ ПРОЦЕССА ВЫПОЛ­НЕНИЯ КОМАНД ВЫЗОВА И ВОЗВРАТА ИЗ ПОД­ПРО­ГРАММ, А ТАКЖЕ КОМАНД РАБОТЫ СО СТЕКОМ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: