
- •Лабораторная работа 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»
- •Непосредственная запись чисел в регистры
- •Исследование команд обмена данными со стеком
- •Составление программ управления
Вычитание
18510(B916) - 4510(2D16)= 14010 (8C16)
Адрес |
Код команды |
Мнемокод |
Комментарий |
0000 |
AF |
ХRА А |
Очистить аккумулятор |
0001 |
ЗЕ |
MVI A, 38 |
Записать в аккумулятор |
0002 |
B9 |
|
число X (18510 = B916) |
0003 |
06 |
MVI B, A3 |
Записать в регистр В |
0004 |
2D |
|
число У (4510 = 2D16) |
0005 |
90 |
SUB B |
Разность X и Y Вычесть из B916 2D16 (18510 -4510 = 14010 = 8C16) |
0006 |
32 |
STA adr |
Записать содержимое аккумулятора в |
0007 |
20 |
|
ячейку 0020 |
0008 |
00 |
|
|
0009 |
E7 |
RST 7 |
Прервать выполнение программы |
Рис.
13 – Простое вычитание двух однобайтных
чисел
(в аккумуляторе значение разности – число 14010 = 8C16)
Сложение массива
9310 (5D16)+ 18510(B916)+3110 (1F)+4110(2816)+10410 (6816)=45510(1C716)
Адрес |
Код команды |
Метка |
Мнемоника |
Комментарий |
0000 0001 0002 |
21 30 00 |
PRG 2: |
LXI H,8250 |
Загрузить в регистры HL, адрес первого слагаемого |
0003 0004 |
0E 05 |
|
MVI C, 04 |
Загрузить в регистр С количество слагаемых |
0005 |
AF |
|
XRA A |
Очистить аккумулятор |
0006 |
47 |
|
MOV B, A |
Очистить регистр В |
0007 |
86 |
M1: |
ADD M |
Прибавить к содержимому аккумулятора число из массива слагаемых |
0008 0009 000А |
D2 0D 00 |
|
INC M2 |
Если переноса нет, то идти на М2 |
000В 000С |
04 B7 |
|
INR B
ORA A |
Увеличить содержимое регистра В на 1 Очистить флаг переноса |
000D |
23 |
M2: |
INX H |
Указать на следующий адрес слагаемого |
000E |
0D |
|
DCR C |
Уменьшить содержимое регистра С на 1 |
000F 0010 0011 |
C2 07 00 |
|
INZ |
Если не все слагаемые, то идти на M1 |
0012 |
32 |
|
STA adr |
Сохранение аккумулятора |
0013 |
21 |
|
|
Записать содержимое аккумулятора в |
0014 |
00 |
|
|
ячейку 0021 |
0015 |
AF |
|
XRA A |
Очистить аккумулятор |
0016 |
80 |
|
ADD B |
Прибавить к содержимому аккумулятора число из регистра В |
0017 |
32 |
|
STA adr |
Сохранение аккумулятора |
0018 |
20 |
|
|
Записать содержимое аккумулятора в |
0019 |
00 |
|
|
ячейку 0020 |
001А |
FF |
|
RST 7 |
Прервать выполнение программы |
. . . |
|
|
|
|
0030 |
5D |
|
|
Массив чисел |
0031 |
B9 |
|
|
|
0032 |
1F |
|
|
|
0033 |
28 |
|
|
|
0034 |
68 |
|
|
|
. . . |
|
|
|
|
Рис. 14 – Сложение массива
Рис. 15 – Сложение массива