
- •Практическая работа 3 линейные программы для мпк кр 580
- •Контрольные вопросы.
- •Приложение.
- •Задача 2
- •Практическая работа 4 разветвляющиеся программы для мпк кр 580
- •Содержание отчета
- •Приложение задание №1
- •Практическая работа 5 циклические программы для мпк кр 580
- •Содержание отчета
- •Приложение задание №1
Практическая работа 3 линейные программы для мпк кр 580
Цель работы:
Закрепить знания по составлению линейных программ.
Литература
Калабеков Б. А. “ Цифровые устройства и микропроцессорные системы.-
М.: Радио и связь, 1997.
2.2. Конспект лекций.
Подготовка к работе
Изучить материал по конспекту лекций и учебнику 2.1. с. 257-260.
Задание
Составить блок-схему и программу для задач.
Задача 1.
Сложить два числа а и b. Результат операции поместить в аккумулятор.
Задача 2.
Произвести вычитание двух чисел a и b. Результат поместить в аккумулятор А.
Задача 3.
В регистрах В и С хранятся два числа b и с. Число, хранящееся в регистре С умножить на 3 и сложить с числом хранящемся в регистре В. Сумму поместить в регистр Е.
Содержание отчёта
Блок-схема и программа задачи №1. Для варианта б) а=F2H; b=A7H. Выполнить ручной счёт и записать содержимое триггеров признака (флагового регистра): (Tz); (Ts); (Tp); (Tc). Заполнить тест таблицы.
Блок-схема и программа задачи №2. Для варианта б) a=0AH, b=0FH. Произвести ручной счёт, перевести его в дополнительный код и записать его в колонке ТЕСТ при операции вычитания.
Блок-схема и программа задачи№3. Выполнить ручной счёт и произвести заполнение колонки тест.
Контрольные вопросы.
Поясните как размещаются команды при составлении линейных программ.
Поясните значение признаков S, Z, P, C.
Приложение.
Задача 1.
Произвести сложение двух чисел а и b, помещённых соответственно в регистры А и В. Результат сложения поместить в регистр А.
Рисунок 1
№ команды |
Адрес |
Мнемокод |
Кодовая комбинация |
Операция |
Тест |
||
2-я |
16-я |
а) |
б) |
||||
0 |
0000 0001 |
MVI A, 37 |
00111110 |
3E |
A←a a=37H |
37 |
F2 |
00110111 |
37 |
||||||
1 |
0002 0003 |
MVI B, 59 |
00000110 |
06 |
B←b b=59H |
59 |
A7 |
01011001 |
59 |
||||||
2 |
0004 |
ADD B |
10000000 |
80 |
A←(A)+(B) |
EC |
99 |
3 |
0005 |
HLT |
01110110 |
76 |
Конец |
EC |
99 |
Задача 2
Произвести вычитание двух чисел а и b, соответственно помещаемых в регистры А и В. результат поместить в регистр А. Для варианта а<b (а=0AH; b=0FH) произвести ручной счёт, перевести в дополнительный код результат вычитания и занести в графу ТЕСТ.
Рисунок 2
№ команды |
Адрес |
Мнемокод |
Кодовая комбинация |
Операция |
Тест |
||
2-я |
16-я |
а) |
б) |
||||
0 |
0000 0001 |
MVI A, 37 |
00111110 |
3E |
A←a a=0FH |
0F |
0A |
00001111 |
0F |
||||||
1 |
0002 0003 |
MVI B, 59 |
00000110 |
06 |
B←b b=0AH |
0A |
0F |
00001010 |
0A |
||||||
2 |
0004 |
SUB B |
10010000 |
90 |
A←(A)-(B) |
05 |
FB |
3 |
0005 |
HLT |
01110110 |
76 |
Конец |
05 |
FB |
Задача 3.
В регистрах В и С хранятся 2 числа. Число, хранящееся в регистре С умножить на 3, сложить с числом В. Составить блок-схему и программу. Предварительно в регистры В и С записать числа.
Рисунок 3
№ блока |
Адрес ячейки ОЗУ |
Мнемокод |
Команда |
Пояснения |
|
2-я |
16-я |
||||
1 |
0000 |
MOV A, C |
01111001 |
79 |
A←(C) |
2 |
0001 |
ADD C |
10000001 |
81 |
A←(A)+(C) |
3 |
0002 |
ADDC |
10000001 |
81 |
A←(A)+(C) |
4 |
0003 |
ADD B |
10000000 |
80 |
A←(A)+(B) |
5 |
0004 |
MOV E, A |
01011111 |
5F |
E←(A) |
6 |
0005 |
HLT |
01110110 |
76 |
Конец |