
- •Лабораторная работа 1 «Знакомство с эмулятором»
- •Лабораторная работа 2 «Исследование команд прямой адресации» Цель: Целью данной работы является ознакомление с командами микропроцессора кр580 для прямой адресации.
- •Лабораторная работа 3 «Исследование команд непосредственной адресации» Цель: Целью данной работы является ознакомление с командами микропроцессора кр580 для непосредственной адресации.
- •Лабораторная работа 4 «Исследование команд косвенной адресации» Цель: Целью данной работы является ознакомление с командами микропроцессора кр580 для косвенной адресации.
- •Лабораторная работа 5 «Исследование команд стековой адресации» Цель: Целью данной работы является ознакомление с командами микропроцессора кр580 для стековой адресации.
- •Лабораторная работа 6 «Пример программы для микропроцессора» Цель: Целью данной работы является ознакомление с простейшими арифметическими действиями на микропроцессоре кр580.
- •Лабораторная работа № 7 «Программирование арифметических задач на Ассемблере для микропроцессора к580 (часть 1)»
- •Сложение
- •Вычитание
- •Сложение массива
- •Л абораторная работа №11
- •Лабораторная работа №13
- •Лабораторная работа №14
- •Лабораторная работа №15
- •Лабораторная работа № 16 «Программирование арифметических задач на Ассемблере для микропроцессора к580»
- •Сложение двухбайтовых десятичных чисел
- •Вычитание одинаковых по длине чисел
- •Команды логического умножения
- •Команды обнуления битов
- •Команды логического сложения
- •Команды восстановления битов
- •Инвертирование чисел
- •Инвертирование флага переноса
- •Инвертирование заданных битов числа
- •Сравнение чисел
- •Лабораторная работа № 17 «Исследование команд вспомогательных логических и арифметических операций на Ассемблере для микропроцессора к580»
- •Сравнение чисел
- •Индивидуальное задание 1
- •Сложение массива чисел
- •Индивидуальное задание 3
- •Работа с массивами чисел
- •Индивидуальное задание 4
- •Изучение команд сложения содержимого регистровых пар
- •Индивидуальное задание 4
- •Лабораторная работа № 18 «Исследование команд обмена данными регистров и ячеек памяти на Ассемблере для микропроцессора к580»
- •Непосредственная запись чисел в регистры
- •Исследование команд обмена данными со стеком
- •Составление программ управления
Индивидуальное задание 3
1510(F16)+1610(1016)+1710(1116)+1810(1216)=6610 (4216)
Адрес |
Код |
Мнемоника |
Комментарий |
0000 |
21 |
LXI H,0021 |
00 H, 31 L |
0001 |
31 |
||
0002 |
00 |
||
0003 |
3A |
LDA A,0020 |
(0030) A |
0004 |
30 |
||
0005 |
00 |
||
0006 |
86 |
ADD M |
A + M A |
0007 |
23 |
INX H |
00 H, 32 L |
0008 |
86 |
ADD M |
A + M A |
0009 |
23 |
INX H |
00 H, 23 L |
000А |
86 |
ADD M |
A + M A |
000B |
32 |
STA adr |
Запись из регистра в ячейку 0010 |
000C |
10 |
|
|
000D |
00 |
|
|
000E |
76 |
HLT |
Конец |
Рис. 49 – Результат сложения массива чисел
Адрес |
Код |
Мнемоника |
Комментарий |
0000 |
21 |
LXI H,0022 |
00 H, 22 L |
0001 |
22 |
||
0002 |
00 |
||
0003 |
3A |
LDA A,0023 |
(0023) A |
0004 |
23 |
||
0005 |
00 |
||
0006 |
86 |
ADD M |
A + M A |
0007 |
2B |
DCX H |
00 H, 21 L |
0008 |
86 |
ADD M |
A + M A |
0009 |
2B |
DCX H |
00 H, 20 L |
000А |
86 |
ADD M |
A + M A |
000В |
76 |
HLT |
Конец |
Рис. 50 – Результат сложения массива чисел
Работа с массивами чисел
Цель: исследование команд для изменения массива чисел.
Таблица 6 - Программа PRG 6 изменение массива чисел
Адрес |
Код |
Мнемоника |
Комментарий |
0000 |
21 |
LXI H,0020 |
00 H, 20 L |
0001 |
20 |
||
0002 |
00 |
||
0003 |
35 |
DCR M |
M-1 M |
0004 |
23 |
INX H |
00 H, 21 L |
0005 |
35 |
DCR M |
M-1 M |
0006 |
23 |
INX H |
00 H, 22 L |
0007 |
34 |
INR M |
M+1 M |
0008 |
23 |
INX H |
00 H, 23 L |
0009 |
34 |
INR M |
M+1 M |
000А |
76 |
HLT |
Конец |
Задан массив чисел: 0020←0116; 0021←0516; 0022←0216; 0023←0116. Пользуясь командами INR M и DCR M уменьшить 1 и 2 элементы массива на единицу, 3 и 4 элементы массива увеличить на единицу.
Перед выполнением программы необходимо ввести массив в память.
Проверьте результат вычислений.
0116(110) |
0516(510) |
0216(210) |
0116(110) |
Обработанный массив:
0016(010) |
0416(410) |
0316(310) |
0216(210) |