4. Завдання
4.1. Виконується на самостiйнiй пiдготовцi перед виконанням лабораторної роботи.
4.1.1. Скласти програму для виконання за прикладом 1 таких тотожностей:
1. Y=X1+X2-4 ;
2. Y=X2-X1+13;
3. Y=X2+2X1-2;
4. Y=2X2-X1-5.
Значення чисел Х1,Х2 поданi в табл.4 для вказаного викладачем варiанту (числа - десятковi).
4.1.2. Скласти програму контролю вмiсту комiрок пам'ятi ОЗП за Прикладом 2. Числа Х1, Х2 для вказаного викладачем варiанту поданi в табл.5 .
4.2. Виконується в лабораторiї.
4.2.1. Приклади програм для МП-системи, побудованої на базi МП-комплекту КР580.
ПРИКЛАД 1.
Вирахувати Y=X2-2X1+14. Результат записати в комiрку пам'ятi за адресою 8050. Число Х1 зберiгається в комiрцi 8051, число Х2 - в комiрцi 8052.
Необхiдно пам'ятати, що при записi адреси в машинному кодi молодший байт вводиться другим байтом, а старший - третiм байтом команди.
Наприклад:
-
Асемблер
Машинний код
LDA 80 52
3A 52 80
1 байт 2 байт 3 байт
1 байт 2 байт 3 байт
де 52 - молодший байт адреси,
80 - старший байт адреси.
ПРОГРАМА.
Адреса |
Машинний код |
Асемблер |
Коментар |
8000 |
3А 52 80 |
LDA 8052 |
Завантаження в А числа Х2 з комiрки 8052 |
8003 |
21 50 80 |
LXI H |
Завантаження в регiстри Н, L адреси 8051 |
8006 |
96 |
SUB M |
Вiднiмання вiд вмiсту А вмiсту комiрки пам'ятi, адреса якоi зберiгається в регiстрах Н, L. |
8007 |
96 |
SUB M |
Те ж саме |
8008 |
С6 ОЕ |
ADI OE |
Додавання до вмiсту А константи 14 (10)=Е (16) |
800А |
32 50 80 |
STA 8050 |
Завантаження вмiсту А в комiрку 8050 |
800D |
76 |
HLT |
Зупинка |
Таблиця 4.
Числа |
Варіанти |
|||
1 |
2 |
3 |
4 |
|
Х1 |
20;26 |
32;43 |
54;75 |
87;99 |
Х2 |
7;9 |
15;25 |
32;41 |
50;56 |
ПРИКЛАД 2.
Скласти розгалужену програму контролю вмiсту комiрок пам'ятi ОЗП за адресами Адр1 = 8040, Адр2 = 8041.
Якщо число Х1, яке зберiгається за адресою Адр1, менше числа Х2 (адреса Адр2), в АКУМУЛЯТОР завантажити 0, в iншому випадку - 1.
Програма контролю.
Адреса |
Машинний код |
Асемблер |
Коментар |
8000 |
3А 40 80 |
LDA 8040 |
Завантаження в А числа Х1 з комiрки 8040 |
8003 |
21 41 80 |
LXI H,8041 |
Завантаження в регiстри Н, L адреси 8041 |
8006 |
BE |
СМРМ |
Порiвняння вмiсту А з вмiстом комiрки пам'ятi, адреса якої зберiгається в регiстрах H, L |
8007 |
DA OF 80 |
JC LAB |
Якщо вмiст А менше вмiсту комiрки пам'ятi за адресою Адр2, то перехiд до виконання команди MVI A,0 з мiткою LAB, iнакше виконується наступна команда |
800A |
3Е 01 |
MVI A,1 |
Завантаження в А "1" |
800C |
С3 11 80 |
JMP END |
Перехiд до команди HLT |
800F |
3Е 00 |
LAB MVI A,0 |
Завантаження в А "0"
|
8011 |
76 |
END HLT |
Зупинка |
Виконати для Х1, Х2.
Таблиця 5.
Числа |
Варіанти |
|||
1 |
2 |
3 |
4 |
|
Х1 |
3;25 |
10;34 |
27;49 |
54;135 |
Х2 |
8;15 |
27;30 |
35;40 |
67;98 |
