Міністерство науки й освіти України
Національний університет
‘Львівська політехніка’
Кафедра електроприводу
Лабораторна робота №5
на тему:
« Програмування мікропроцесора КР580ИК80А »
з дисципліни
« Мікропроцесорні засоби та системи »
Мета роботи: навчитись складати, вводити, налагоджувати та виконувати прості лінійні програми, що написані в машинних кодах мікропроцесора КР580ИК80А з використанням учбово-налагоджувального пристрою “ Електроніка-580 ”.
Програма роботи:
Скласти алгоритм і програму згідно з варіантом завдання.
Ввести у пам'ять пристрою текст складеної програми та необхідні вхідні дані.
Налагодити програму в покроковому режимі виконання.
Запустити програму на виконання в автоматичному режимі.
Виконати перевірку отриманих результатів та зробити відповідні висновки.
Оформити звіт про виконану роботу.
Завдання №4
Обчислити значення виразу (0255)(0150)(03F3) Обернений та доповняльний коди отриманого значення записати у реєстри D і в L
8200
3A
LDA. 255
A(0255)
Перевірка:
8201
55
(0255)=02; (0150)=B2; (03F3)=EF.
8202
02
8203
21
LXI H.0150
HL0150
0000 0010
8204
50
1011 0010
8205
01
1011 0000
8206
AE
XRA M
AA (HL)
8207
21
LXI H.03F3
HL03F3
1011 0000
8208
F3
1110 1111
8209
03
1010 0000
820A
A6
ANA M
AA (HL)
об. код 0101 1111 B = 5F H (reg D, D=5F)
820B
2F
CMA
A
доп. код 0110 0001 B = 60 H (reg L , L=60)
820C
57
MOV D.A
DA
820D
3C
INR A
AA+1
820E
6F
MOV L.A
LA
820F
E7
RST
Мета роботи: навчитись складати програми з розгалуженнями у машинних кодах мікропроцесора КР580ИК80А.
Програма роботи:
Розробити алгоритм та скласти програму для розв'язання задачі за виданим варіантом завдання.
Ввести у пам'ять пристрою текст складеної програми та необхідні вхідні дані.
Провести налагодження програми ( виконати програму у покроковому режимі , занотовуючи та аналізуючи результат виконання кожної її команди ).
Запустити програму на виконання в автоматичному режимі.
Провести аналіз достовірності отриманих результатів.
Оформити звіт про виконану роботу.
Завдання №4
Обчислити значення виразу 15,841(0255) (025E) (дробова частина – 4біти). Якщо двійковий код результату містить одиниці в 4-му та 6-му бітах, то прямий та доповняльний коди отриманого значення записати в комірки пам’яті за адресами 0259, 025А, а вреєстрову пару DE – нулі, інакше _ навпаки.
15 D=1111 B
0,8412 = 1,682 0,841 D=0,1101 B; 15,841 D=1111,1101 B= FD H
0,6822 = 1,364
0,3642 = 0,728
0,7282 = 1,456
8200
1E
MVI E.FD
EFD
8215
A4
ANA H
AAH
8201
FD
8216
AB
XRA E
AAE
8202
3A
LDA
A(0259)
8217
57
MOV D.A
DA
8203
59
0259
8218
2F
CMA
A
8204
02
8219
3C
INR A
AA+1
8205
07
RLC
821A
5F
MOV E.A
EA
8206
07
RLC
821B
0E
MVI C.50
C50
8207
07
RLC
821C
28
8208
07
RLC
821D
21
LXI H
HL0000
8209
26
MVI H.F0
HFO
821E
00
0000
820A
F0
821F
00
820B
A4
ANA H
AAH
8220
7A
MOV A.D
AD
820C
A3
ANA E
AAE
8221
A1
ANA C
AAC
820D
5F
MOV E.A
EA
8222
A9
XRA C
AAC
820E
3A
LDA
A(025E)
8223
C2
JNZ M
Перехід за
820F
5E
025E
8224
27
ненульового
8210
02
8225
82
результату
8211
07
RLC
8226
EB
XCHG
HD,LE
8212
07
RLC
8227
22
M
SHLD
(8654) L
8213
07
RLC
8228
54
8654
(8655) H
8214
07
RLC
8229
86
822A
E7
RST
Перевірка:
(0259)=FF, (025E)=8D
1111 1101
1111 0000
1101 0000
1111 0000
1101 0000
0010 0000 B = 20 H (reg D, D=20)
об.код 1101 1111 B
1
доп.код 1110 0000 B = E0 H (reg E, E=E0)
Мета роботи: навчитись складати та налагоджувати циклічні програми з розгалуженнями, що написані в машинних кодах мікропроцесора КР580ИК80А.
Програма роботи.
Розробити алгоритм вирішування задачі.
Скласти програму мовою асемблера МП КР580ИК80А згідно з розробленим алгоритмом.
Вести та налагодити складену програму .
Запустити програму на виконання в автоматичному режимі .
Провести аналіз отриманих результатів та зробити висновки про їх вірогідність .
Оформити звіт про виконану роботу.
Завдання №4
Масив даних записаний в комірках пам’яті за адресами від 03D3 до 03FA. У реєстр В записати кількість елементів цього масиву, двійковий код яких містить парну кількість нулів у старшому півбайті та число 15 О в молодшому півбайті.
03FA-03D3=27 H, 15 O=13 D=0D H=1101 В.
Щоб у старшому півбайті містилась парна кількість нулів необхідно, за умови наявності в молодшому півбайті числа 0D H, щоб у байті була непарна кількість одиниць.
8200
06
MVI B.00
B00
820F
7E
MOV A.M
A(HL)
8201
00
8210
B7
ORA A
AAA
8202
0E
MVI C.27
C27
8211
EA
JPE m
Перехід за
8203
27
8212
15
умови парної
8204
21
LXI H.03D3
HL03D3
8213
82
к-ті одиниць
8205
D3
8214
04
INR B
BB+1
8206
03
8215
23
m
INX H
HLHL+1
8207
7E
M
MOV A.M
A(HL)
8216
0D
DCR C
CC-1
8208
E6
ANI 0F
AA0F
8217
C2
JNZ M
Перехід за
8209
0F
8218
07
ненульового
820A
D6
SVI 0D
AA-0D
8219
82
Результату
820B
0D
821A
E7
RST
820C
C2
JNZ m
Перехід за
821B
820D
15
ненульового
821C
820E
82
результату
821D
Перевірка. Масив чисел за заданими адресами:
03D3
D2
03DD
EE
03E7
1F
03F2
C2
03D4
DA
03DE
03
03E8
D2
03F3
EF
03D5
03
03DF
DA
03E9
E4
03F4
03
03D6
C2
03E0
CF
03EA
03
03F5
C1
03D7
D0
03E1
03
03EB
CD
03F6
C9
03D8
D3
03E2
3E
03EC
EE
03F7
47
03D9
0C
03E3
80
03ED
03
03F8
AF
03DA
C1
03E4
CD
03EE
C5
03F9
0B
03DB
D8
03E5
EB
03EF
CD
03FA
B1
03DC
CD
03E6
03
03F1
F7
Як видно: чотири числа задовільняють умові. Reg B, B=04.