Команды вызова подпрограмм и возврата в основную программу

Команды вызова (CALL) и возврата (RET) всегда используются парами. При их выполнении индикаторы не изменяются.

Трехбайтовая команда (CALL) используется основной подпрограммой для перехода МП к подпрограмме. Наряду с безусловным вызовом подпрограммы существуют условные вызовы подпрограммы. Они аналогичны условным переходам. На рисунке подпрограмма является короткой последовательностью команд, создающей временной задержки =1с.

команды вызова подпрограмм и возврата в основную программу - student2.ru

Когда МП передает первую команду (CALL) по адресу 1000, он находит адрес перехода в двух следующих байтах программы. Адрес следующей команды за (CALL) отправляется в стек, и МП переходит тогда в начало подпрограммы по адресу 1000. Команды, которые составляют эту программу счета времени, выполняются, пока МП не передает команду возврата (RET).

Сохраняющийся в стеке адрес (2010) отыскивается счетчиком команд и МП продолжает выполнение основной программы, принимая ее там, где он ее покинул.

Данная подпрограмма может быть использована много раз в ходе выполнения одной и той же основной программы. Подпрограмма может быть расположена в ОЗУ или ПЗУ.

На рисунке приведена структурная схема программы, которая реализует описанные выше действия. В задачу МП входит ввести из внешнего устройства (датчика тока, напряжения и т.д.) сигнал, умножить значение измеренной величины на постоянное число. После чего МП записывает произведение в память и измеренное значение сигнала сравнивает с граничным значением. Если число меньше граничного значения, включается аварийный сигнал. В противном случае осуществляется временная задержка, после которой процесс контроля повторяется.

Программа реализующая, описанный выше алгоритм, состоит из основной программы и двух подпрограмм. Подпрограмма умножения основана на принципе умножения методом повторяющегося сложения. В этом случае множимое повторяется слагаемым число раз, равное множителю, результатом этой операции будет произведение. Вторая подпрограмма реализует временную задержку = 1сек.

Способы адресации. Программирование микро-ЭВМ.

Рассмотрим на примере команды сложения.Одно из слогаемых в аккумуляторе. Для вып-я сложения необх-м 2-ой оперант. Соглашение о нахождении 2-го операнта и наз-ся способом адресации.

Способы адресации: 1. Неявный; 2. Регистровый; 3. Непосредственный; 4. Прямой; 5. Косвенно-регистровый.

Неявная адресация. Команда установить индикатор переноса принадлежит группе команд переноса и явл-ся 1Байтовой, потому что доп-х данных не треб-ся. Не нужно искать данные или адреса в регистрах или памяти. STC (1 Байт)

Регистровая SUB L (1 байт) А=А-L

В случае регистр-й адр-и второй оперант ищется во внутр-м регистре микропроцессора.

Непосредственная LXI SP (3 байта)

Оперант поступает в программную память изслед-го или 2х след-х байтов. Оперант размещается за командой. При использ-и адресации ячейки памяти след-т помнить, что младший байт идет 1-м, а за ним старший.

Прямая IN A(2байта)

В случае прямой адресации след-я за командой 2й и 3й байты указ-т адрес операнта.

Косвенно-регистровая MOV AM

При этой адр-и адресоперанта нах-ся в регистровой паре HL.

Программирование микро эвм

- Запись программы Прежде чем приступать к программ-ю инженер должен выучить: 1. базовый состав команд и исп-е ими способы адресации. 2.структру регистров. 3. структуру индикаторов.

Программы микро ЭВМ предназн-ны для решения опр-х задач. Этапы создания программы могут быть представлены след-м образом:

1. Постановка задачи; 2. Анализ задачи; 3. Создание структур схемы решения задачи; 4. Написание кода;.5. Перевод ассемблерного кода в машинный; 6. Запуск программы на вып-е в режиме отладки; 7. Поиск и исправление батов; 8. Написание документации к программе.

Кодирование в машине осущ-ся след-м образом: 1. Нах-ся код мнемоническогообозн-я; 2. Опр-сяоперантынеобх-е командам для вып-я; 3. Устан-ся адреса памяти; 4. проверяем работу программы; 5. Написание руководства по эксплуатации программ-го комплекса.

- Интерфейс реальных портов ввода, вывода.Операции ввода, вывода вкл-т в себя передачу данных из переиферийного устройства к микро ЭВМ и наоборот. Кроме адреса внеш-гоустр-ва микропроцессор выраб-т сигнал управл-я записью и чтения, т.е. передает на шину устр-в импульс, кот-й позволяет опр-ть режим работы, чтения или запись.

Наши рекомендации