- •Методические указания к выполнению лабораторных работ по электротехническим дисциплинам
- •6.0902 – Инженерная механика,
- •6.0909 - Приборы
- •Часть 4
- •Введение
- •Лабораторная работа №21 исследование одиночного усилительного каскада
- •21.1. Цель работы
- •21.2. Теоретические сведения
- •21.3. Порядок выполнения работы
- •21.4. Содержание отчета
- •21.5. Контрольные вопросы
- •Лабораторная работа №22 Элементная база и принципы работы электронной лаборатории Electronics Workbench
- •22.1. Цель работы
- •22.2. Теоретические сведения
- •22.3. Порядок выполнения работы
- •21.5. Контрольные вопросы
- •Лабораторная работа №23 исследование дифференциального усилителя на биполярных транзисторах
- •23.1. Цель работы
- •23.2. Теоретические сведения
- •23.3. Порядок выполнения работы
- •Лабораторная работа №24 исследование арифметических блоков аналоговых вычислительных устройств
- •24.3. Порядок выполнения работы
- •24.4. Содержание отчета
- •24.5. Контрольные вопросы
- •Лабораторная работа №25 исследование дифференцирующих и интегрирующих устройств аналоговых вычислительных машин
- •25.1. Цель работы
- •25.2. Теоретические сведения
- •25.3. Порядок выполнения работы
- •25.4. Содержание отчета
- •25.5. Контрольные вопросы
- •Лабораторная работа №26 исследование базовых логических элементов цифровых вычислительных машин
- •26.1. Цель работы
- •26.2. Теоретические сведения
- •26.3. Порядок выполнения работы
- •26.4. Содержание отчета
- •26.5. Контрольные вопросы
- •Лабораторная работа №27 исследование основных цифровых комбинационных устройств (дешифратора, демультиплексера, мультиплексера)
- •27.1. Цель работы
- •27.2. Теоретические сведения
- •27.3. Порядок выполнения работы
- •Лабораторная работа №28 исследование триггеров, счетчиков импульсов и регистров сдвига
- •28.3. Порядок выполнения работы
- •28.4. Содержание отчета
- •28.5. Контрольные вопросы
- •Лабораторная работа №29 исследование четырехразрядного параллельного сумматора
- •21.1. Цель работы.
- •21.2. Самостоятельная работа
- •21. 3. Содержание и порядок выполнения лабораторной работы
- •21.4. Содержание отчета
- •21.5. Контрольные вопросы
- •Лабораторная работа №32 изучение арифметических команд и команд пересылки данных
- •22.1. Цель работы.
- •22.2. Самостоятельная работа
- •22.3. Содержание лабораторной работы
- •22.4. Порядок выполнения работы
- •22.5. Содержание отчета
- •22.6. Контрольные вопросы
- •Лабораторная работа №33 обработка массивов информации организация циклов
- •23.1. Цель работы.
- •23.2. Самостоятельная работа
- •23.3. Содержание лабораторной работы
- •23.4. Порядок выполнения работы
- •23.5. Содержание отчета
- •23.6. Контрольные вопросы
- •Лабораторная работа №34 изучение организации стековой памяти и процедур вызова подпрограмм
- •24.1. Цель работы.
- •24.2. Теоретические сведения.
- •Библиографический список
- •Приложение в Варианты заданий к лабораторной работе 23
23.6. Контрольные вопросы
1. Назовите назначение разрядов регистра признаков МП К580ИК80А?
2. По каким условиям записывается 1 в каждый из разрядов регистра признаков МП К580ИК80А?
3. Какие функции выполняют команды перехода?
4. Какие существуют способы изменения последовательности выполнения команд?
5. Как осуществляется выполнение команды перехода?
6. В каких байтах располагаются младшие и старшие разряды в командах перехода?
7. По алгоритму задачи необходимо принять решение "больше". Какими командами можно это реализовать?
8. По алгоритму задачи необходимо принять решение "равно". Какими командами можно это реализовать?
9. Как организуется цикл в системе команд МП К580ИК80А?
10. Какое максимальное число команд может быть в теле цикла?
11. Какое максимальное число команд имеет параметр цикла?
12. Как организуется работа с массивами?
13. Какая область памяти отладочного устройства может использоваться под запись массива данных?
14. С какой целью следует оставлять "пустые" команды в программе?
15. Назовите способы разработки и отладки программ для микропроцессоров и микро-ЭВМ?
16. Охарактеризуйте достоинства и недостатки используемой в отладочном устройстве технологии разработки и отладки программ?
Лабораторная работа №34 изучение организации стековой памяти и процедур вызова подпрограмм
24.1. Цель работы.
Исследование особенностей записи и обращения к подпрограммам, изучение методов использования стека при создание программ.
24.2. Теоретические сведения.
Учитывая ограниченные возможности памяти при разработке программ, нужно стараться сделать их как можно короче. С этой целью часть программы, которая неоднократно повторяется, или программа, которая часто используется, могут быть использованы в виде подпрограмм -последовательностей команд, выполнение которых может быть вызвано из любого места программы любое количество раз. Процесс передачи управления к подпрограмме называется ее вызовом.
Для вызова подпрограмм и возврата из них используются команды CALL<A2>,<AI> и RET.
При работе с подпрограммами используется стек МП. Стек - специально организованная область ОЗУ, используемая для временного сохранения данных или адресов. Число, записанное в стек последним извлекается из него первым.
Команда RET помещает в программный счетчик последнее записанное на данный момент в стеке число. После этого выполнение программы будет осуществляться с этого адреса. Любая подпрограмма должна заканчиваться командой RET.
Автоматическое сохранение и восстановление адреса основной программы при выполнении подпрограмм позволяет сделать подпрограммы вложенными, то есть осуществить вызов одной подпрограммы из другой. Уровень вложенности определяется размером стека.
Существуют также команды условного вызова подпрограмм и воз врата из них. Они позволяют вызвать подпрограмму и возвратиться из нее по определенному состоянию заданных разрядов регистра признаков (аналогично командам условного перехода) без использования дополнительных команд.
Помимо команд вызова подпрограмм и возврата из них со стеком можно обмениваться информацией с помощью команд PUSH<R> (записать в стек содержание обозначенного регистра МП БИС) и POP<R> (записать данные из стека в обозначенный регистр МП БИС)
Таблица 24.1 – Программа исследования процесса выполнения команд вызова и возврата из подпрограмм, а также команд работы со стеком
Адрес |
Машинный код |
Метка |
Мнемокод |
Комментарий |
8200 |
31 |
|
LXI SP |
записать в указатель стека SP |
8201 |
С0 |
|
C0 |
адрес 0ВС0 |
8202 |
0B |
|
0B |
|
8203 |
CD |
|
CALL, M1 |
вызвать подпрограмму М1 |
8204 |
07 |
|
07 |
|
8205 |
82 |
|
82 |
|
8206 |
CF |
|
RST 1 |
остановить выполнение подпрограммы |
8207 |
F5 |
М1 |
PUSH |
записать слово состояние МП БИС |
|
|
|
|
в стек |
8208 |
С5 |
|
PUSH В |
записать содержимое per.ВС в стек |
8209 |
D5 |
|
PUSH D |
записать содержимое рег.DЕ в стек |
820А |
Е5 |
|
PUSH H |
записать содержимое per.HL в стек |
820В |
ЗЕ |
|
MVI A |
записать в рег.А число 05 |
820С |
05 |
|
05 |
|
820D |
47 |
|
MOVB,A |
записать число из рег.А в В |
820 Е |
87 |
|
ADD A |
удвоить содержимое аккумулятора |
820F |
5F |
|
MOVE,A |
записать число из рег.А в Е |
8210 |
67 |
|
MOV H,A |
записать число из рег.А в H |
8211 |
Е1 |
|
POP H |
записать число из стека в per.HL |
8212 |
D1 |
|
POP D |
записать число из стека в per.DE |
8213 |
С1 |
|
POP В |
записать число из стека в per.ВС |
8214 |
F1 |
|
POP PSW |
записать слово состояние из стека |
|
|
|
|
в МП БИС |
8215 |
С9 |
|
RET |
возврат подпрограммы |
