Частина тексту файла (без зображень, графіків і формул):
Міністерство науки й освіти України
Національний університет
‘Львівська політехніка’
Кафедра електроприводу
Лабораторна робота №5
на тему:
« Програмування мікропроцесора КР580ИК80А »
з дисципліни
« Мікропроцесорні засоби та системи »
Завдання №1
Обчислити значення виразу D1+(D2-(ADR1)) ^ D3. Значення виразу в дужках записати в реєстр R, а кінцевий результат в оберненому двійковому коді в комірку 810Е.
D1=222D=
8200
3A
LDA. 02A8
A(02A8)
Перевірка:
8201
A8
(02A8)=0F
8202
02
8203
47
MOV B,A
B A
B=0F
8204
3E
MVI A,AB
A AB
A=AB
8205
AB
8206
90
SUB B
AA - B
A=0A
8207
57
MOV D,A
DA
D=0A
8208
E6
ANI AC
8209
AC
AA ^ AC
A=08
820A
C6
ADI DE
AA+DE
A=E6
820B
DE
820C
2F
CMA
AA
A=19
820D
32
STA 810E
(810E) A
(810E)=19
820E
0E
820F
81
8210
E7
RST
Зупинка
Вихід з програми,
Завдання №2
Обчислити значення виразу D^(ADR1-1) - (ADR1+1) . Якщо отримане значення від’ємне і його двійковий код у старшому півбайті містить непарну кількість нулів, то значення виразу записати в комірку ADR2, а в ADR2+1 – його модуль; інакше в ADR2 записати FF H, а в ADR2+1 отримане значення виразу. Для збереження дробової частини відвести чотири біти.
9,38 D=0100,1001 B=49 H
ADR1=03A4 H ADR2=876F H
Адреси 16 к. М. Мнемокод Результат Адреси 16к. М. Мнемокод Результат
8200
26
MVI H,49
H=49
821A
82
8201
49
821B
F6
ORI 0F
A=FF
8202
3A
LDA 03A3
A=9F
821C
0F
8203
A3
821D
2F
CMA
A=00
8204
03
821E
E2
JPO M1
8205
17
RAL
A=3E
821F
28
8206
17
RAL
A=7D
8220
82
8207
17
RAL
A=FA
8221
7A
MOV A,D
A=F0
8208
E6
ANI F8
A=F8
8222
32
STA 8770
(8770)=F0
8209
F8
8223
70
820A
A4
ANA H
A=48
8224
87
820B
47
MOV B,A
B=48
8225
C3
JMP M2
820C
3A
LDA 03A5
A=2B
8226
31
820D
A5
8227
82
820E
03
8228
3E
M1
MVI A,FF
A=FF
820F
17
RAL
A=56
8229
FF
8210
17
RAL
A=AC
822A
32
STA 876F
(876F)=FF
8211
17
RAL
A=58
822B
6F
8212
E6
ANI F8
A=58
822C
87
8213
F8
822D
7A
MOV A,D
A=F0
8214
4F
MOV C,A
C=58
822E
32
STA 8770
(8770)=FO
8215
78
MOV A,B
A=48
822F
70
8216
91
SUB C
A=F0
8230
87
8217
57
MOV D,A
D=F0
8231
E7
M2
RST
8218
F2
JP M1
8232
8219
28
8233
Завдання №3
Масив даних A(N) записаний в комірках пам’яті починаючи з адреси ADR. Обчислити логічну суму елементів за ознакою парності їх двійкового коду Р та за значенням, яке більше за перший елемент масиву. Визначити кількість елементів зі знаком S. Обчислену суму і кількість записати в молодший та сташий реєстри реєстрової пари RP віповідно.
ADR=008A H P=1 S=”+” RP=DE
N=53 D=35 H
8200
21
LXI H 008A
HL008A
8211
FA
JM M1
Перехід на М1
8201
8A
8212
17
якщо результат
8202
00
8213
82
від’ємний
8203
11
LXI D 0000
DE0000
8214
7B
MOV A.E
AE
8204
00
8215
86
ADD M
AA+M
8205
00
8216
5F
MOV E,A
EA
8206
06
MVI B,35
B35
8217
7E
M1
MOV A,M
AM
8207
35
8218
B7
ORA A
AAA
8208
7E
MOV A,M
AM
8219
FA
JM M2
Перехід на М2
8209
4F
MOV C,A
CA
821A
1D
якщо результат
820A
23
INX H
HLHL+1
821B
82
від’ємний
820B
7E
M3
MOV A,M
AM
821C
14
INR D
DD+1
820C
B7
ORA A
AAA
821D
23
M2
INX H
HLHL+1
820D
E2
JPO M1
Перехід на М1
821E
05
DCR B
BB-1
820E
17
якщо к-сть одиниць
821F
C2
JNZ M3
Перехід на М3
820F
82
не парна
8220
0B
якщо результат
8210
B9
CMP C
Інверсія С
8221
82
нульовий
8222 E7 RST Зупинка
Результат: D=11 E=D9
Перевірка. Масив чисел за заданими адресами:
008A
E6
0094
C2
009E
87
00A8
00
008B
83
0095
98
009F
02
00A9
6C
008C
3E
0096
00
00A0
CD
00AA
67
008D
92
0097
3C
00A1
30
00AB
84
008E
D3
0098
8F
00A2
01
00AC
54
008F
03
0099
07
00A3
CD
0090
F1
009A
07
00A4
CF
0091
F5
009B
D3
00A5
00
0092
3E
009C
02
00A6
C3
0093
70
009D
CD
00A7
A3
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!