- •1.2. Выполнили операцию вычитания двух однобайтных чисел с применением различных режимов адресации: sub rs, sub m, sui b2 (Таблицы 4-6)
- •1.3. Выполнили операцию сложения двух двухбайтных чисел с применением одной из команд adc rs, adc m, aci b2 (Таблица 7)
- •1.4. Выполнили операцию вычитания двух двухбайтных чисел с применением одной из команд: sbb rs, sbb m и sbi b2 (Таблица 8)
- •1.5. Выполнили задания пунктов 1.3. И 1.4. Используя регистровую косвенную адресацию (Таблицы 9 – 10).
- •1.6. Разработали и исследовали программу сложения пяти произвольных однобайтных чисел, используя все режимы адресации. (Таблица 10.1)
- •2.2. С помощью байта – маски сбросили первый и четвертые байты 3316 с применением одной из команд: ana rs, ana m, ana b2 (Таблица 12).
- •2.3. Выполнили операцию логического сложения чисел a316 и 8b16 с применением одной из команд: ora rs, ora m, ori b2 (Таблица 13).
- •2.4. С помощью байта – маски установили третий и седьмой биты байта 3316 с применением одной из команд: ora rs, ora m, ori b2 (Таблица 14).
- •3.2. Задали массив чисел 0a00 ←0116; 0a01 ←0516; 0a02 ←0216; 0a03 ←0116.
- •3.4. Определили сумму двух однобайтных чисел находящихся по адресам 0921 (0316), 0a10 (0516), 0bc9 (0116). Пользуясь командой сложения содержимого регистровых пар dad r (Таблица 31).
- •3.5. Нашли сумму двух десятичных однобайтных чисел 7710 и 1810 (Таблица 32).
Министерство образования и науки РФ
ФГБОУ ВО “Магнитогорский государственный технический университет имени Г.И.Носова”
Институт Энергетики и Автоматизированных Систем
Кафедра электроники и микроэлектроники
Лабораторная работа по дисциплине “Основы микропроцессорной техники”
«Режимы адресации. Исследование и выполнение команд арифметических и логических операций»
Выполнил: студент гр. АнБ-14/2 Михайлицын А.С.
Проверил: кандидат тех. наук Швидченко Д.В.
Магнитогорск 2016
Цели и задачи работы.
Цель работы: закрепление теоретических знаний по изучению различных режимов адресации и команд арифметических и логических операций языка программирования ассемблера МП КР580ВМ80А.
Задачи: изучить режимы адресации операндов МП КР580ВМ80А, правила выполнения команд арифметических и логических операций, научиться составлять программы на языке ассемблера и машинных кодах.
Порядок выполнения работы.
1. Ознакомиться с методическим указанием.
2. Изучить форматы и правила выполнения арифметических и логических команд МП КР580ВМ80А.
3. Подготовить УМК к работе.
4. Изучить и выполнить индивидуальное задание.
5. Разработать отчет по лабораторной работе.
6. Подготовить ответы на контрольные вопросы.
Ход работы.
1. Исследовали команды арифметических операций.
1.1. Выполнили операцию сложения двух однобайтных чисел с применением различных режимов адресации: ADD RS, ADD M, ADI B2 (таблицы 1 – 3).
Таблица 1
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 04 |
MVI A |
04 |
Записали 04 в аккумулятор |
0802 |
06 08 |
MVI B |
08 |
Записали 08 в регистр B |
0804 |
80 |
ADD B |
|
Сложили регистр содержимое B с содержимым аккумулятора и результат поместили в аккумулятор |
0805 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=0C, B=08, F=06
Таблица 2
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 40 08 |
LXI H |
0840 |
Записать в регистровую пару (HL) число 0840 |
0803 |
3E 04 |
MVI A |
|
Загрузили в аккумулятор число 04 |
0805 |
36 08 |
MVI M |
|
Загрузили в ячейку памяти 0840 число 08 |
Окончание таблицы 2
0807 |
86 |
ADD M |
|
Выполнили сложение содержимого аккумулятора и содержимого ячейки памяти 0840 и результат записали в аккумулятор |
0808 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=0C, HL=0840, F=06, M(0840)=08
Таблица 3
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 04 |
MVI A |
04 |
Записали 04 в аккумулятор |
0802 |
C6 1F |
ADI |
1F |
Сложили содержимое аккумулятора с 1F |
0804 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=23, F=12
1.2. Выполнили операцию вычитания двух однобайтных чисел с применением различных режимов адресации: sub rs, sub m, sui b2 (Таблицы 4-6)
Таблица 4
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 08 |
MVI A |
08 |
Записали 08 в аккумулятор |
0802 |
0E 06 |
MVI C |
06 |
Записали 06 в регистр C |
0804 |
91 |
SUB C |
|
Выполнили вычитание из содержимого аккумулятора содержимое регистра C, результат поместили в аккумулятор |
0805 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=02, C=06, F=12
Таблица 5
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 40 08 |
LXI H |
0840 |
Записать в регистровую пару (HL) число 0840 |
0803 |
3E 08 |
MVI A |
|
Загрузили в аккумулятор число 08 |
0805 |
36 06 |
MVI M |
06 |
Загрузили в ячейку памяти 0840 число 06 |
Окончание таблицы 5
0807 |
96 |
SUB M |
|
Выполнили вычитание из содержимого аккумулятора содержимое ячейки памяти 0840, результат поместили в аккумулятор |
0808 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=02, HL=0840, F=12, M(0840)=06
Таблица 6
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 04 |
MVI A |
04 |
Записали 04 в аккумулятор |
0802 |
D6 1F |
SUI |
1F |
Вычли из содержимого аккумулятора 1F |
0804 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=00, F=56
1.3. Выполнили операцию сложения двух двухбайтных чисел с применением одной из команд adc rs, adc m, aci b2 (Таблица 7)
Таблица 7
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E 8A |
MVI A |
8A |
Записали 8A в аккумулятор |
0802 |
06 B4 |
MVI B |
B4 |
Записали B4 в регистр B |
0804 |
80 |
ADD B |
|
Сложили содержимое аккумулятора и регистра B, результат поместили в аккумулятор |
0805 |
32 50 08 |
STA |
0850 |
Содержимое аккумулятора поместили в ячейку памяти 0850 |
0808 |
3E 08 |
MVI A |
08 |
Записали 08 в аккумулятор |
080A |
06 10 |
MVI B |
10 |
Записали 10 в регистр B |
080C |
88 |
ADC B |
|
Сложили содержимое аккумулятора и содержимое регистра B с учетом переноса и результат записали в аккумулятор |
080D |
32 51 08 |
STA |
0851 |
Содержимое аккумулятора поместили в ячейку памяти 0851 |
0810 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров F=02, M(0850)=3E, M(0851)=19