logo search
ответы_ОМПТ_Тайлан

2. Что происходит в микропроцессорной системе при обращении к подпрограмме? стек, указатель стека.

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

Команда LCALL («ad16») «метка» (длинный вызов) вызывает подпрограмму, находящуюся по указанному адресу. К счетчику команд РС прибавляется 3 для получения адреса следующей команды и после этого полученный 16-битовый результат помещается в стек (сначала следует младший байт, за ним – старший), а содержимое указателя стека SP увеличивается на 2.

Подпрограмма может начинаться в любом месте памяти программ объёмом до 64 Кб.

Команда RET возврат из подпрограммы последовательно выгружает старший и младший байты счетчика команд из стека, уменьшая указатель стека на 2. Выполнение основной программы продолжается по адресу команды, следующей за LCALL. Эти команды на флаги не влияют.