1-2009 ДГЦУиМП
.pdf2. ДОМАШНИЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯПО ИХ ВЫПОЛНЕНИЮ
2.1. Изучите команды сдвига и сравнения МП КР580ИК80 /2,3/.
2.2.Составьте программу, реализующую операцию логи ческого умножения четырех битов (2, 3, 4, 5) одного байта на 4 бита (5, б, 7, 8) второго байта, предварительно переместив ум ножаемые биты байт на младшие позиции и обнулив осталь ные разряды.
2.3.Составьте программу, реализующую операцию цикли ческого сдвига вправо на 1 разряд содержимого пары регист ров.
2.4.Составьте программу, реализующую операции умно жения на 8 содержимого регистра Р.
2.5.Составьте программу, реализующую операцию срав нения содержимого пар регистров В и С, О и Е, Н и Ь.
2.6.Составьте программу, реализующую операцию срав нения чисел, хранящихся в двух соседних ячейках памяти.
2.7.Составьте программу, реализующую операцию срав нения содержимого регистра В с непосредственным операн дом 4С.
Для выполнения заданий 2.2 - 2.7 воспользуйтесь следую щими примерами программ.
Программа, реализующая операцию циклического сдвига влево на один разряд содержимого пары регистров НЬ 4
Адрес |
Команда |
Машин |
|
Комментарий |
ный код |
|
|||
800 |
· СЖА А |
|
|
|
В7 |
; |
сброс переноса в 0 |
||
801 |
МОУ А,Ь |
7Б |
; |
сдвиг влево Ь на 1 раз |
802 |
ИЛЬ |
|
|
ряд через перенос, О -в |
17 |
; |
мл. разряд Ь |
29
803 |
МОУ Е, А |
6¥ |
|
|
|
804 |
МОУА.Н |
7С |
; |
сдвиг влево Н на 1 раз- |
|
805 |
КАЬ |
17 |
; |
ряд через перерос |
с |
806 |
МОУ Н,А |
67 |
; |
учетом переноса из |
Ь |
807 |
МОУ А,Ь |
7В |
|
ст.разряд Н в перенос |
|
808 |
АСЮ |
СЕ 0 0 |
; |
перенос в мл.разряд 1 |
|
80А |
МОУ Ь,А |
6¥ |
|
|
|
Программа, реализующая операцию умножения на 4 содержимого регистра С
В = 0 4
Адрес |
Команда |
Машин |
|
Комментарий |
ный код |
|
|||
800 |
МОУ А, С. |
79 |
; |
|
801 |
ОКА А |
87 |
; |
сброс бита переноса |
802 |
КАЬ |
17 |
; |
умножение на 2 |
803 |
КАЬ |
17 |
; |
умножение на 2 |
804 |
МОУ В,А |
47 |
; |
результат в В |
Примечание: исходное значение не должно превышать 63 (десятичное)
Программа , реализующая операцию сравнения содер жимого регистров С и В
Адрес |
Команда |
Машин |
|
Комментарий |
|
|
ный код |
|
пересылка А <— С |
800 |
МОУ А, С |
79 |
; |
|
801 |
СМРВ |
В8 |
; |
сравнение с грифом В |
30
Программа, реализующая операцию сравнения регист ра А с ячейкой памяти, адрес которой задан в паре регист ров HL
* |
ту |
Машин- |
|
1Г |
Адрес |
Команда |
|
|
Комментарии |
800 |
LXI Н,900Н |
21 00 09 |
; |
загрузка HL=900H |
803 |
CMP A |
BE |
; |
сравнение А и М |
Программа, реализующая операцию сравнения реги стра А с числом, заданным во втором байте команды
Адрес |
Команда |
Машин- |
Комментарий |
|
|
ныи код |
|
800 |
CPI 7FH |
FE 7FH |
; сравнение А и 7FH |
3. ЛАБОРАТОРНЫЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ
3.1.Записать в память программу, реализующую операцию логического умножения четырех байтов (2, 3, 4, 5) одного бай та на 4 бита (5, 6, 7, 8) второго байта. Проверьте правильность
еевыполнения на примере пяти пар различных байтов. Резуль тат выполнения программы представьте в виде таблицы.
3.2.Запишите в память программу, реализующую опера цию циклического сдвига вправо на один разряд содержимого пары регистров НЬ. Проверьте правильность ее выполнения. Изменяя содержимое регистров НЬ пять раз, выполните про грамму. Результаты представьте в виде таблицы.
3.3.Запишите в память программу, реализующую опера цию умножения на 8 содержимого регистра Н. Проверьте пра вильность ее выполнения. Изменяя содержимое регистра Н, получите результат для пяти различных двоичных чисел. Ре зультаты представьте в виде таблицы.
31
3.4.Запишите в память программу, реализующую опера цию сравнения содержимого пар регистров В и С, Б и Е, Н и
Ь.Запустите программу и проверьте правильность ее выпол нения. Изменяя содержимое регистров, выполните программу для случаев, когда содержимое регистров В, Б, Н больше, рав но и меньше содержимого регистров С, Е.
Во всех случаях определите значение следующих битов регистра признаков: бита 0, бита переноса, бита знака, бита четности. Результаты представьте в виде таблицы.
3.5.Запишите в память программу, реализующую опера цию сравнения чисел, хранящихся в двух соседних ячейках памяти. Проверьте правильность ее выполнения в случае, ко гда одно число больше, равно и меньше другого. Во всех слу чаях определите значение битов регистра признаков, указан ных в п.3.4. Результаты представьте в виде таблицы.
3.6.Запишите в память программу, реализующую опера цию сравнения содержимого регистра В с непосредственным операндом 4С.
Проверьте правильность ее выполнения. Выполните про грамму для случаев, когда содержимое регистра В больше, равно и меньше 4С. Определите значение регистра признаков, указанных в п.3.4. Результат представьте в виде таблицы.
4.ОФОРМЛЕНИЕ ОТЧЕТА
Отчет должен содержать:
1.Тексты программ в соответствии с пунктами домашнего задания.
2.Пояснения к исправлениям ошибок в тексте программ, вы полненным в процессе их отладки.
3.Результаты выполненных программ, представьте в виде таблиц.
4.Выводы.
32
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.Какие команды сдвига может выполнять МП КР580ИК80?
2.Где хранится результат выполненных программ сдвига?
3.Сформулируйте правило выполнения МП КР580ИК80 ко манд RAL и RAR?
4.Чем отличается выполнение команды RAL от выполнения команды RLC?
5.Чему равно содержимое бита переноса при выполнении команды RLC?
6.Какие команды операций сравнения может выполнять МП КР580ИК80?
7.Какие значения принимают биты регистра признаков при выполнении операции сравнения?
8.Сформулируйте алгоритм выполнения МП КР580ИК80 ко манды сравнения чисел, хранящихся в регистрах С и Е.
9.Чему равен бит переноса регистра признаков при выполне нии команды СМР В?
10.Чему равен бит четности регистра признаков при выполне нии команды CMP М?
[1, С.95-104].
33
ПРИЛОЖЕНИЕ
Коды микропроцессора КР580МИ80А Однобайтовые пересылки
М ОУЯ1,Я |
; |
Я—-> Я1 |
МУ1 Я,Б8 |
; |
0 8 —> Я |
БТАХ УЪ* |
; |
а—>м(Уг) |
8ТА АБЯ |
; |
Р—>М(АОЯ) |
1Л)АХ У £ |
; |
м(У г) —>А |
ШААОЯ· |
; |
М(АОЯ)—>А |
Двухбайтовые пересылки
ьх1 у г , 016 |
; |
0 1 6 — >У 1 |
8Н1ЛЭ АОЯ |
; |
Н О -> М (АОЯ, АОЯ+1) |
Ш1Х> АОЯ |
; |
М (АОЯ, АОЯ+1) —>НЬ |
вРНЬ |
; |
НЬ—>БР |
р ш н у г " |
; |
у г —>М (8Р-1,8Р-2) |
РОР УЪ** |
; |
М (вР, 8Р+1) —>УЪ |
|
; |
8Р+2 —> вР |
Команды ввода и вывода
Ш РО Я Т Л; |
|
(N1) — >А |
О иТ РО Я Т Ш ; |
А — > (Ы) |
|
|
|
Обмен байтами |
ХСНО |
; |
НЬ <— > ОЕ |
ХТНЬ |
; |
Н Ь < — > М ( 8 Р , 8Р+1) |
34
Арифметические и логические операции с одним операндом
С М С "
ST C " СМА
DAA' INR " ' R DCR" ' R INX YZ DCX YZ
;с ~ - > с
111V о
;а —> А
;десятичная коррекция
73 +—лI •11V 73
;R - 1 —> R
;YZ + 1 —> YZ
;Y Z - 1 —>YZ
Арифметические и логические операции с двумя операндами
A D D ' |
R |
; |
A + R |
— > A |
A D C ' |
R |
; |
A + B + C |
— > A |
SUB' |
R |
; |
A - R |
— > A |
SBB ' |
R |
; |
A - R - C |
— > A |
A N A ' |
R |
; |
A A R |
— > A |
ORA' |
R |
; |
A V R |
— > A |
X R A ' |
R |
; |
A X O R R |
— > A |
A D I ’ D8 |
; |
A + D8 |
— > A |
|
А С Г |
D8 |
; |
A + D8 + C |
— > A |
SUI ’ |
D8 |
; |
A - D 8 |
— > A |
SBI' |
D8 |
; |
A - D 8 - C |
— > A |
A N I ' D8 |
; |
A A D 8 |
— > A |
|
ORT |
D8 |
; |
A VD 8 |
— > A |
X R I ' D8 |
; |
A X O R D 8 |
— > A |
|
C PI' |
D8, CM P' R |
- установка признаков в соответст |
||
|
|
|
вии с результатами A - D8, A-R |
|
D A D " |
YZ |
; |
HL + YZ |
—> HL |
35
|
|
Команды сдвига аккумулятора |
||
RLC '' |
; |
Сдвиг влево циклический |
||
RAL' ' |
; |
Сдвиг влево через перенос |
||
R R C '' |
; |
Сдвиг вправо циклический |
||
RA R'' |
; |
Сдвиг вправо через перенос |
||
|
|
Команды передачи управления |
||
|
PCHL |
; |
HL —> PC |
|
|
JMPADR |
; |
ADR —> PC |
|
|
J-CONADR |
; |
ADR —> PC |
Команды вызова и возврата из подпрограмм
CALL ADR (C-CON ADR); PC~>M (SP-1, SP-2), ADR—>PC
RET |
|
(R-CON ADR); M (SP, SP+1) —>PC, SP+2—>SP |
||||
RSTX |
|
; |
PC—>M (SP-1, SP-2), ADR—>PC, где |
|||
|
|
X = 0, 1, ...,1 a ADR = ООН, 08H, ЮН, ...,38H |
||||
|
|
|
Специальные команды |
|||
HLT |
- |
останов |
|
El |
- |
разрешение прерывания |
NOP |
- |
нет операции |
Б1 |
- |
запрещение прерывания |
Условные обозначения
'- команда оказываетвоздействие навсе признаки
''- командаоказывает воздействиенапризнак переноса «С»
-командаоказываетвоздействиенавсе признаки, кроме «С» Я, Ю - содержимое регистров А, В, С, Б, Е, Н, Ё илиячейкиМ
У1 -обозначениерегистровой парыВС, БЕ, НЬ или БР 41* -обозначение регистровой парыВСи БЕ 41** -обозначение регистровой парыВС, БЕ, НЕили Р5\У
36
КОДЫ КОМАНД МИКРОПРОЦЕССОРА КР580ВМ80А
ы- ы |
|
|
|
|
|
|
|
>- -<г |
|
”4 |
|
|
ё |
ч |
|
|
со |
|||
|
3 |
|
|
|
сп |
|
о> |
Л. о |
1 |
з |
|
|
со < |
|||||||
|
|
£Й |
|
|
|
|
|
г |
|
35=еи |
:к -< §1 - |
оо |
||||||||
|
|
|
|
|
|
|
|
|
|
ё |
ч |
|
|
5»· |
^ |
|
Ч ц |
^ |
СС ^ |
|
|
|
$= сп §5 ела |
51 ~5 |
|
|
|
|
сп Ч ё |
||||||||||||
|
|
25 -=с' 2£ сп Ш 3 - ЗЕ |
*-п г |
|
|
|
|
|||||||||||||
|
|
ей |
|
ей |
|
ей |
|
ей |
|
|
|
|
|
|
|
ё |
-ч |
|
|
саа |
СП сп сп |
В ш |
|
|
СП-еС ё |
^ Шз- |
1 з |
-< |
|
ж 1—а |
|||||||||||
|
|
СП |
|
|
СЛ |
|
зе |
ЗЕ -С |
|
|
||||||||||
СП |
ей |
_. |
|
|
ей |
|
ей __ |
|
|
ё |
ч |
|
|
ё |
Ч |
|
|
ска |
||
з |
^ |
3 |
щ |
|
|
3 |
|
§ |
3 |
| з |
|
|
ас со ас |
|||||||
|
|
|
|
|
зе |
« |
|
3 |
■*=х; |
|
|
|||||||||
со |
|
X |
|
га |
|
X |
|
|
|
|
|
ё |
Ч |
|
|
а*" |
гт~ |
в |
« |
со |
|
В “ |
|
|
|
|
|
|
|
|
|
|
|
со ш |
|||||||
|
|
|
|
а * В - 1 з· 3 |
“3 |
Ш з зг -< -< |
|
|
||||||||||||
|
|
X |
|
X |
1—1 |
§ |
- |
|
|
о |
Ч |
ё |
Ч |
МОУ |
1,0 |
СП |
|
|
|
езо сп |
|
|
"*-С|-У\ |
ел |
|
|
СП |
|
|
||||||||||||
|
|
чс сз |
|
|
§ |
“ |
ЗЕ с_> Зй ш |
|
|
^ |
§ |
° |
«П ^ |
|||||||
|
|
|
|
—л |
|
|
|
|
|
'Ж^ |
оо |
|||||||||
- |
|
о |
|
|
|
Э |
=п |
|
|
ё |
ч. ё |
Ч |
ё |
Ч |
|
|
в |
|
со |
|
|
■<с со |
1 |
° |
ш * |
Ш З |
|
со с_> |
|||||||||||||
|
|
ел |
|
о |
|
ЗЕ сп |
33 ела |
ЗЕ |
~п |
-< |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ё |
ч |
ё |
«1 |
ё |
Ч. |
В |
|
со |
- |
|
|
|
|
|
|
|
|
|
Ш З |
ра еао со |
|||||||||
|
|
|
|
|
|
|
|
|
•ае |
ела |
ЗЕ —э г |
=*- |
|
|
оо |
|||||
- |
|
сп |
|
|
|
-=е |
|
с_> |
|
|
|
ё |
ч. |
|
|
|
|
§ |
|
со |
|
ЕЙ |
|
3 |
|
-=с |
|
оо |
|
2 |
|
|
ПС § |
3 |
-=с ап -с |
||||||
|
|
|
|
сп |
|
|
«а“ ЗЕ СП 2 |
-< |
|
СП |
||||||||||
|
|
& СО |
§Е о |
НЕ =гг 3 |
э |
О Ч, ё |
сп |
ё =е |
У |
|
СП |
* |
Э ж |
|||||||
|
|
|
|
ЗЕ со |
^ |
зе ас |
|
д |
СП |
|||||||||||
- |
|
|
|
ей |
|
ей |
|
|
|
ё —'_ |
|
|
а»- |
__а |
|
|
СП |
|
со |
|
|
а |
0:1 В |
“ |
а |
= |
и |
|
|
|
СП - |
ё ^ СП-л |
Ч '"“ |
||||||||
|
|
== г |
СО 11 3 |
2Е па |
|
|
-< |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
ё |
ч |
|
|
£»- |
*~т"*>- ж |
сп |
|
со |
||
- % - г а 8 = |
и |
35 |
Ш 3 |
с> 33 |
сп Ч |
сп ас |
СП |
|||||||||||||
г м |
3 |
па |
* |
|
-=с |
|
||||||||||||||
— |
|
|
|
|
|
|
|
X |
са_ 5»>са^ |
ё |
Ч |
ё |
ч |
а>- |
ела СП |
|
еза |
|||
|
§ |
» |
|
|
8 |
- |
г |
^3 ш |
|
3 |
^ |
СПела |
СП |
|||||||
|
|
|
|
°= ЗЕ СП |
ЗЕ = |
■<с |
|
|||||||||||||
|
|
X |
|
X |
|
си |
|
ё |
~ |
33 со |
ЗЕ СП |
ау ас |
МОУ |
м,в |
СП |
° |
со |
|||
|
|
Ц “ |
Ё^Е«=> |
0-0 |
|
э |
сп |
|||||||||||||
|
|
|
|
—3 -И- |
|
|
о |
Ч |
ё |
ч |
ё |
Ч |
|
|
|
|
ап сп |
|||
- |
|
Я Ч |
X Ч |
X “Ч |
5< 2 - |
ё |
Ч |
ё Ч. |
ё ч ё ч |
СП |
|
со |
||||||||
|
сп сп ап сп |
|||||||||||||||||||
|
|
—з |
ра |
~3 СП |
- 3 |
ЯГ |
^—1 |
|
33 |
со |
Ж |
СП |
Ы |
П5 |
|
|
|
|
сп |
|
·=> |
|
|
|
|
|
|
|
|
|
ё |
ч |
ё |
ч |
ё |
ч. |
а»- со СП |
|
ее |
||
|
Ш |
|
|
|
|
|
|
|
|
*■ § |
га |
ап со |
||||||||
|
|
|
|
|
|
|
|
|
^ |
со ГК<=П |
ЗЕ па з |
сп |
||||||||
|
<=> |
|
— |
|
|
|
|
|
- |
|
- |
|
ЧО |
|
- |
“ |
|
- |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37
U -
Ш
U P
S *
аэ S S X
i s - |
-<e |
E-—1 |
---- . |
Й |
— |
t—* |
<■*·■> |
E—> |
|
|
С Л |
o o |
^ |
C |
|||||||
C P |
|
QC |
|
OC |
|
C*£ |
|
|||
o _ |
|
< C |
=Pte |
S 3 |
4 * |
e S |
s e t |
|
|
|
g |
= 6 |
C P |
“** |
|||||||
|
|
|
|
X |
|
|||||
|
|
d |
|
|
|
|
|
|
|
|
c 3 |
|
C P |
|
|
|
|
|
|
|
о |
S i |
ЕС |
Ш |
EC |
|
X |
|
о |
|
с о |
еэЭ |
t o |
! s ! |
U P |
|
X |
|
C P |
|
- с |
S |
6=1 |
3 § |
C P |
|
C P |
|
||
- |
5 |
CJ> |
2 s |
C P |
|
X |
|
C P |
|
~ |
( S |
СО |
§ £ |
CQ |
|
X |
|
о |
|
|
- < |
-<C |
S i |
-=c |
|
Z |
|||
|
|
|
о |
|
|
|
C P |
U P |
-M- |
s |
|
|
■** |
0 _ |
|
|||
C P |
C P |
C P |
|
C P |
|
|
|
|
|
C P |
|
U P |
|
|
|
|
Ш |
|
|
|
|
|
|
|
|
|
|
|
|
C P |
.«. |
* |
s |
- |
|
|
|
Ш |
|||
|
|
|
C P |
|
ж |
|
|
|
|
|
|
|
|
|
|
|
<=L_ |
|
|
|
|
|
C P |
CxP |
|
|
|
s a |
|
c*s |
C3£l |
|
Я |
|
6—· |
<ss> |
f—' |
E—' |
|
|
|
CO |
c 2 |
c 2 |
|
2 2 |
4 0 |
|
OsS |
|
|
- |
- < |
___ |
|
|
|
|
Ш = ~ 1 |
|
s a |
=«= |
||
= 5 3 5 < o |
|
@ ~ |
- |
C P |
|
|||||||
|
- < |
|
|
|
|
|
|
|
EC |
~ r- |
^ |
э*= |
— |
— a |
^ |
d |
|
|
@ |
<=* |
ГАП |
||||
z |
E |
т а |
C P |
|
:—о |
5i^> |
||||||
|
-«c |
|
о |
|
ea_ |
|
|
|
o - |
|
||
- |
|
|
g |
и |
X |
|
C P |
|
£ . |
|
■**· |
|
|
|
|
|
|
|
C P |
||||||
i |
“ |
|
|
s |
* |
s |
* |
C P |
|
|||
|
|
|
|
|
|
|||||||
|
|
|
S j UP |
|
|
|
|
d |
|
|
|
|
— |
Z j “ -a |
n |
- |
i |
= |
P |
|
S |
|
|||
|
|
|
C P |
|
X |
|
|
|
||||
|
-eC |
C P |
o § |
C E |
C-Q |
|
C P |
|
C P |
_ |
& |
- |
|
z |
s ~ |
* |
£ 5 |
* |
e : |
|
|||||
|
|
|
C P |
|
|
|
|
|||||
|
-«C |
|
|
|
c*_ |
|
|
|
|
|
o _ |
^ |
— |
|
|
« 2 C P C P c o |
£ |
“ |
Ш |
ж |
C P с о |
||||
|
|
О |
|
o — |
|
O -, |
cseS |
|||||
|
Z |
CO |
s i |
с о |
C-J |
|
C P |
|
C P |
|
c u |
|
= > |
|
|
Э |
|
S 3 |
|
ОЙ |
|
||||
-<c |
|
C P |
|
|
|
|
|
|
|
|||
|
-<c |
|
CO |
|
C P |
|
C P |
|
|
|
u - |
|
—
Q 00
< CO.
n и
3o3 § й c« <3} <U| a
о
A ►o
03 03
О о
H H >S =!
ю ю
£
00
4
=tt
код операции «12». |
соответствует команде JZ 900Н/ |
имеет |
00 09» |
у.Команда STAX D |
Код операции «СА |
WH |
|
<D |
|
2 s
PH
C
38