ОМТ (Основы микропроцессорной техники) / лаба 5(4)
.docxМинистерство образования и науки РФ
ФГБОУ ВО “Магнитогорский государственный технический университет имени Г.И.Носова”
Институт Энергетики и Автоматизированных Систем
Кафедра электроники и микроэлектроники
Лабораторная работа по дисциплине “Основы микропроцессорной техники”
«Изучение машинных циклов команд МП КР580ВМ80А. Выполнение арифметических операций умножения и деления».
Выполнил: студент гр. АНб-14-2 Михайлицын А.С.
Проверил: кандидат тех. наук Швидченко Н.В.
Магнитогорск 2016
Цели и задачи работы.
Цель работы: знакомство с принципами работы на УМК в пошаговом режиме работы (покомандном и поцикловом), изучение машинных циклов и составление операционных схем исполнения команд МП КР580ВМ80А, изучение алгоритмов выполнения арифметических операций умножения и деления.
Задачи: научиться производить откладку программ с использованием пошагового режима работы УМК, изучить машинные циклы команд МП КР580ВМ80А, уметь составлять операционные схемы и временные диаграммы выполнения команд, исследовать программы выполнения арифметических операция умножения и деления.
Порядок выполнения работы.
1. Ознакомиться с методическим указанием.
2. Изучить машинные циклы команд МП КР580ВМ80А, примеры выполнения различных команд и соответствующие временные диаграммы работы МП.
3. Подготовить УМК к работе.
4. Изучить и выполнить индивидуальное задание.
5. Разработать отчет по лабораторной работе.
6. Подготовить ответы на контрольные вопросы.
Ход работы.
1. Изучение машинных циклов команд МП КР580ВМ80А.
1.1. Для исследования и выполнения команд по машинным циклам записали и пошагово выполнили программу, разработанную в пункте 7, лабораторной работы №4, данного учебного пособия. Обратили внимание на последовательность передачи и преобразования информации при каждом шаге и соответствие сигналов состояния типам машинных циклов, результаты наблюдений свели в таблицу 1.
Таблица 1.
Адрес |
Данные |
Мнемоника команды |
Слово состояния МП |
0800 |
31 |
LXI SP, |
10100010 |
0801 |
00 |
LXI SP, |
10000010 |
0802 |
09 |
LXI SP, |
10000010 |
0803 |
3E |
MVI A, |
10100010 |
0804 |
07 |
MVI A, |
10000010 |
0805 |
06 |
MVI B, |
10100010 |
0806 |
1F |
MVI B, |
10000010 |
0807 |
0E |
MVI C, |
10100010 |
0808 |
45 |
MVI C, |
10000010 |
0809 |
16 |
MVI D, |
10100010 |
080A |
01 |
MVI D, |
10000010 |
080B |
1E |
MVI E, |
10100010 |
080C |
00 |
MVI E, |
10000010 |
Продолжение таблицы 1
080D |
F5 |
PUSH PSW |
10100010 |
080E |
|
PUSH PSW |
00000100 |
080F |
|
PUSH PSW |
00000100 |
0810 |
C5 |
PUSH B |
10100010 |
0811 |
|
PUSH B |
00000100 |
0812 |
|
PUSH B |
00000100 |
0813 |
D5 |
PUSH D |
10100010 |
0814 |
|
PUSH D |
00000100 |
0815 |
|
PUSH D |
00000100 |
0816 |
E5 |
PUSH H |
10100010 |
0817 |
|
PUSH H |
00000100 |
0818 |
|
PUSH H |
00000100 |
0819 |
CD |
CALL |
10100010 |
081A |
60 |
CALL |
10000010 |
081B |
08 |
CALL |
10000010 |
081C |
CD |
CALL |
10100010 |
081D |
70 |
CALL |
10000010 |
081E |
08 |
CALL |
10000010 |
0860 |
CD |
CALL |
10100010 |
0861 |
90 |
CALL |
10000010 |
0862 |
08 |
CALL |
10000010 |
0863 |
E1 |
POP H |
10100010 |
0865 |
|
POP H |
10000110 |
0866 |
|
POP H |
10000110 |
0867 |
D1 |
POP D |
10100010 |
0868 |
|
POP D |
10000110 |
0869 |
|
POP D |
10000110 |
0870 |
C1 |
POP B |
10100010 |
0871 |
|
POP B |
10000110 |
0872 |
|
POP B |
10000110 |
0873 |
F1 |
POP PSW |
10100010 |
0874 |
|
POP PSW |
10000110 |
0875 |
|
POP PSW |
10000110 |
0876 |
FF |
RST 7 |
10100010 |
0877 |
21 |
LXI H |
10100010 |
0878 |
00 |
LXI H |
10000010 |
0879 |
0A |
LXI H |
10000010 |
087A |
7E |
MOV A, M |
10100010 |
087B |
|
MOV A, M |
10000010 |
087C |
3C |
INR A |
10100010 |
0890 |
23 |
INX H |
10100010 |
0891 |
77 |
MOV M, A |
10100010 |
0892 |
C9 |
RET |
00000000 |
0893 |
21 |
LXI H |
10100010 |
0894 |
02 |
LXI H |
10000010 |
0895 |
0A |
LXI H |
10000010 |
0896 |
7E |
MOV A, M |
10100010 |
0897 |
|
MOV A, M |
10000010 |
0898 |
B7 |
ORA A |
10100010 |
Окончание таблицы 1
0899 |
F2 |
JP |
10100010 |
089A |
7B |
JP |
10000010 |
089B |
08 |
JP |
10000010 |
089C |
2F |
CMA |
10100010 |
089D |
3C |
INR A |
10100010 |
089E |
23 |
INX H |
10100010 |
089F |
77 |
MOV M, A |
10100010 |
08A0 |
C9 |
RET |
00000000 |
08A1 |
21 |
LXI H |
10100010 |
08A2 |
04 |
LXI H |
10000010 |
08A0 |
0A |
LXI H |
10000010 |
08A1 |
0E |
MVI C |
10100010 |
08A2 |
06 |
MVI C |
10000010 |
08A2 |
7E |
MOV A, M |
10100010 |
08A0 |
|
MOV A, M |
10000010 |
08A1 |
23 |
INX H |
10100010 |
08A2 |
BE |
CMP M |
10100010 |
08A2 |
|
CMP M |
10000010 |
08A0 |
D2 |
JNC |
10100010 |
08A1 |
9C |
JNC |
10000010 |
08A2 |
08 |
JNC |
10000010 |
08A2 |
7E |
MOV A, M |
10100010 |
08A0 |
|
MOV A, M |
10000010 |
08A1 |
0D |
DCR C |
10100010 |
08A2 |
C2 |
JNZ |
10100010 |
08A2 |
96 |
JNZ |
10000010 |
08A2 |
08 |
JNZ |
10000010 |
08A2 |
23 |
INX H |
10100010 |
08A2 |
77 |
MOV M, A |
10100010 |
08A2 |
C9 |
RET |
00000000 |
1.2. Составили временные диаграммы выполнения трех различных команд INRA (рис. 1), JMP0800 (рис 2.), INBA(рис 3.)
Рис. 1. Временная диаграмма команды INRA
Рис. 2. Временная диаграмма команды JMP 0800
Рис. 3. Временная диаграмма команды INBA
2. Исследование программ умножения двух 8-разрядных чисел с получением 16-разрядного результата
2.1. Ввели в микроЭВМ программы для исследования результата перемножения двух чисел (Таблицы 2-3).
2.2. Осуществили пуск программ в автоматическом режиме и проверили результаты перемножения двух чисел.
Таблица 2
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
01 00 00 |
LXI B |
0000 |
Записать в регистровую пару (BC) число 0000 |
0803 |
2E 08 |
MVI L |
08 |
Загрузили в регистр L число 08 |
0805 |
A7 |
ANA A |
|
Логически умножили содержимое аккумулятора на содержимое аккумулятора, результат записали в аккумулятор |
Окончание таблицы 2
0806 |
7A |
MOV A, D |
|
Содержимое регистра D переслали в аккумулятор |
0807 |
1F |
RAR |
|
Сдвинули содержимое аккумулятора вправо через перенос |
0808 |
57 |
MOV D, А |
|
Содержимое аккумулятора переслали в регистр D |
0809 |
78 |
MOV А, B |
|
Содержимое регистра B переслали в аккумулятор |
080А |
D2 0E 08 |
JNC |
080E |
Выполнить переход на ячейку памяти М(080Е), если признак С=0 |
080D |
83 |
ADD Е |
|
Выполнили сложение содержимого аккумулятора и содержимого регистра Е, результат записали в аккумулятор |
080E |
1F |
RAR |
|
Сдвинули содержимое аккумулятора вправо через перенос |
080F |
47 |
MOV B,A |
|
Содержимое аккумулятора переслали в регистр B |
0810 |
79 |
MOV A, C |
|
Содержимое регистра Cпереслали в аккумулятор |
0811 |
1F |
RAR |
|
Сдвинули содержимое аккумулятора вправо через перенос |
0812 |
4F |
MOV С,A |
|
Содержимое аккумулятора переслали в регистр С |
0813 |
2D |
DCR L |
|
Декрементировали содержимое регистра L |
0814 |
C2 06 08 |
JNZ |
0806 |
Выполнить переход на ячейку памяти М(0806), если признак С=0 |
0817 |
C9 |
RET |
|
Прервали выполнение команды |
Загрузили в регистры D=0216, E=0516. После выполнения программы в регистровой паре (BC) получили результат 0А16.
Таблица 3
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 08 |
MVI A |
08 |
Загрузили в аккумулятор число 08 |
Окончание таблицы 3
0802 |
06 00 |
MVI B |
00 |
Загрузили в регистр B число 00 |
0804 |
21 00 00 |
LXI H |
0000 |
Записать в регистровую пару (HL) число 0000 |
0807 |
EB |
XCHG |
|
Содержимое регистровой пары (HL) поменяли местами с содержимым регистровой пары (DE) |
0808 |
29 |
DAD H |
|
Сложили содержимое регистровой пары (HL) и регистровой пары (HL) Результат поместили в (HL) |
0809 |
EB |
XCHG |
|
Содержимое регистровой пары (HL) поменяли местами с содержимым регистровой пары (DE) |
080A |
D2 0E 08 |
JNC |
080E |
Выполнить переход на ячейку памяти М(080Е), если признак С=0 |
080D |
09 |
DAD B |
|
Сложили содержимое регистровой пары (HL) и регистровой пары (BC) Результат поместили в (HL) |
080E |
3D |
DCR A |
|
Декрементировали содержимое аккумулятора |
080F |
C8 |
RZ |
|
Выйти из подпрограммы если признак Z=1 |
0810 |
29 |
DAD H |
|
Сложили содержимое регистровой пары (HL) и регистровой пары (HL) Результат поместили в (HL) |
0811 |
C3 07 08 |
JMP |
|
Перешли на ячейку памяти М(0807) |
Загрузили в регистры D=0216, С=0616. После выполнения программы в регистровой паре (BC) получили результат 0С16.
2.3. Осуществили пуск программ в пошаговом режиме для исследования их работы по машинным циклам, результат наблюдения свели в таблицы 4-5.
Таблица 4
Адрес |
Данные |
Мнемоника команды |
Слово состояния МП |
0800 |
01 |
LXI B |
|
0801 |
00 |
LXI B |
|
0802 |
00 |
LXI B |
|
Окончание таблицы 4
0803 |
2E |
MVI L |
|
0804 |
08 |
MVI L |
|
0805 |
7A |
ANA A |
|
0806 |
A7 |
MOV A, D |
|
0807 |
1F |
RAR |
|
0808 |
57 |
MOV D, А |
|
0809 |
78 |
MOV А, B |
|
080A |
D2 |
JNC |
|
081B |
0E |
JNC |
|
081C |
08 |
JNC |
|
081D |
83 |
ADD Е |
|
081E |
1F |
RAR |
|
081F |
47 |
MOV B,A |
|
0820 |
79 |
MOV A, C |
|
0821 |
1F |
RAR |
|
0822 |
4F |
MOV С,A |
|
0823 |
2D |
DCR L |
|
0824 |
C2 |
JNZ |
|
0825 |
06 |
JNZ |
|
0826 |
08 |
JNZ |
|
0827 |
C9 |
RET |
|