Приборы, оборудование и документация

1 Учебный микропроцессорный комплект (УМК).

2 Методические указания к лабораторной работе.

Порядок выполнения работы

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.

2 Включить и привести в рабочее состояние УМК.

3 Установить автоматический режим работы УМК. Для этого отжать клавиши РБ/ШГ и КМ/ЦК.

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

5 После проверки преподавателем результатов выключить питание УМК и вынуть вилку шнура питания из розетки.

6 Ответить на контрольные вопросы.

7 Оформить отчет и сдать зачет.

Содержание отчета

1 Наименование и цели лабораторной работы.

2 Условия, алгоритмы, проверочные программы и результаты выполнения заданий № 1, 2 в виде таблиц.

3 Краткие пояснения по ходу выполнения и результатам для каждого задания.

4 Ответы на контрольные вопросы.

Контрольные вопросы

1 Поясните, как сохранить в стеке содержимое пары регистров DE. Укажите необходимые команды и поясните действия МП.

2 Поясните, как восстановить содержимое пары регистров DE из стека. Укажите необходимые команды и поясните действия МП.

3 Поясните, как МП осуществляет сравнение содержимого пар регистров HL и DE в подпрограмме сравнения (таблица 81).

4 Поясните, как МП осуществляет подсчет КС в подпрограмме подсчета КС (задание 2).

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащиеся должны знать:

- систему команд МП КР580ВМ80;

- команды манипуляции стеком, вызова подпрограммы и возврата;

- назначение команд системной программы МОНИТОР.

Должны уметь:

- составлять программы, содержащие последовательности команд манипуляции стеком, вызова подпрограммы и возврата;

- готовить к работе УМК;

- вводить и выполнять программы в автоматическом режиме.

Методические указания

Теоретическое обоснование

Стек – это специальная область ОЗУ, используемая для сохранения и восстановления данных, а также адресов возврата при вызове подпрограммы. Нижняя граница области стека определяется 16-разрядным регистром-указателем стека SP. В микропроцессорной системе предусмотрены три типа операций со стеком:

- запись в стек;

- восстановление;

- обмен стеком.

Запись в стек осуществляется при сохранении содержимого пар регистров (BC, DE, HL, PSW), а также при вызове подпрограммы (адрес возврата). Запись в стек производится следующим образом:

– из указателя стека SP вычитается 1;

– по адресу указателя стека записывается старший байт (содержимое ст. регистра или ст. байта адреса);

– из указателя стека вычитается 1;

– записывается младший байт.

Например, при сохранении содержимого пары регистров BC указатель стека и сам стек будут выглядеть:

  область стека
Значение после записи → SP-2 C
SP-1 B
Исходное значение → SP → занятая ячейка

Восстановление содержимого пар регистров и возврат осуществляется в обратном порядке:

– по адресу в указателе стека считывается младший байт;

– к содержимому указателя стека прибавляется 1;

– считывается содержимое старшего байта;

– к указателю прибавляется 1.

Восстановление содержимого пары регистров BC осуществляется следующим образом:

Исходное значение → SP → C
SP+1 B
Значение после восстановления SP+2  

При обмене стеком осуществляется обмен содержимого верхнего элемента стека и содержимого пары регистров HL. Значение указателя стека при этом не изменится.

  область стека  
L ←   ← SP
H ←    
     

Восстановление содержимого пар регистров из стека должно производится в обратном порядке записи. Так, например, если в стек была произведена запись в последовательности: BC, DE, HL – восстановление должно производится в обратном порядке: HL, DE, BC. Таким образом, стек работает по принципу «первым пришел, последним ушел».

При вызове подпрограммы в стек записывается адрес команды, следующей за командой вызова подпрограммы. Затем, при возврате из подпрограммы, из стека в счетчик команд записывается адрес возврата. Необходимо следить за тем, чтобы непосредственно перед выполнением команды возврат из подпрограммы верхним элементом стека являлось значение адреса возврата. То есть, чтобы между командами вызова подпрограммы и возврата не было загрузки стека без восстановления.



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