русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретические сведения.


Дата добавления: 2015-08-06; просмотров: 683; Нарушение авторских прав


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

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

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

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

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

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

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

 

Таблица 24.1 – Программа исследования процесса выполнения команд вызова и возврата из подпрограмм, а также команд работы со стеком



Адрес Машинный код Метка Мнемокод Комментарий
    LXI SP записать в указатель стека SP
С0     C0 адрес 0ВС0
0B     0B    
CD     CALL, M1 вызвать подпрограмму М1
       
       
CF     RST 1 остановить выполнение подпрограммы
F5 М1 PUSH записать слово состояние МП БИС
                в стек
С5     PUSH В записать содержимое per.ВС в стек
D5     PUSH D записать содержимое рег.DЕ в стек
820А Е5     PUSH H записать содержимое per.HL в стек
820В ЗЕ     MVI A записать в рег.А число 05
820С        
820D   MOVB,A записать число из рег.А в В
820 Е     ADD A удвоить содержимое аккумулятора
820F 5F     MOVE,A записать число из рег.А в Е
    MOV H,A записать число из рег.А в H
Е1     POP H записать число из стека в per.HL
D1     POP D записать число из стека в per.DE
С1     POP В записать число из стека в per.ВС
F1     POP PSW записать слово состояние из стека
                в МП БИС
С9     RET возврат подпрограммы


<== предыдущая лекция | следующая лекция ==>
Содержание отчета | БИБЛИОГРАФИЧЕСКИЙ СПИСОК


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.508 сек.