
- •Микропроцессоры и микро-эвм
- •Часть 2 Методические указания к лабораторным работам
- •Изучение учебно-отладочного устройства
- •1. Самостоятельная работа
- •Программа сложения трех чисел на э580
- •2. Содержание и порядок выполнения лабораторной работы
- •3. Содержание отчета
- •4. Контрольные вопросы
- •Изучение арифметических команд и команд пересылки данных
- •1. Самостоятельная работа
- •2. Содержание лабораторной работы
- •Программа сложения ряда чисел
- •Программа сложения двух длинных чисел
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •Обработка массивов информации организация циклов
- •1. Самостоятельная работа
- •2. Содержание лабораторной работы
- •Выборка из массива данных чисел заданного интервала
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •Подпрограмма и стек
- •1. Содержание лабораторной работы
- •Программа исследования процесса выполнения команд вызова и возврата из подпрограмм, а также команд работы со стеком
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •Варианты заданий к лабораторной работе 1
- •Приложение 2 Варианты заданий к лабораторной работе 2
- •Варианты заданий к лабораторной работе 2
- •Приложение 4 Варианты заданий к лабораторной работе 3
- •Варианты заданий к лабораторной работе 3
- •Система команд мп кр580ик80а
- •Библиографический список
- •3. Костров б.В. Ручкин в.Н. Микропроцессорные системы и микроконтроллеры: Учебное пособие для вузов. М: техбук, 2007.
- •Часть 2
- •420015, Казань, к. Маркса, 68.
Варианты заданий к лабораторной работе 3
N п/п |
NNNN |
DDDD |
Исходный массив |
HI |
H2 |
1 |
8032 |
8442 |
23,5A,32,D4,27,1D,38 |
IF |
С1 |
2 |
8304 |
8322 |
ED,3D,4D,49,9D,AA,F5 |
45 |
F1 |
3 |
830Е |
8531 |
ED,DF,6A,D7,98,02,B3 |
13 |
D6 |
4 |
810D |
8442 |
28,3F,ED,6D,AE,A6,87 |
2E |
А8 |
5 |
85F1 |
8127 |
D2,25,87,02,DF,67,DС |
33 |
CD |
6 |
8561 |
8326 |
45,89,DF,24,91,34,E5 |
35 |
9D |
7 |
8408 |
8200 |
13,2F,6E,A7,83,45,10 |
6А |
D3 |
8 |
8392 |
845F |
67,01,DE,34,91,AD,ED |
23 |
ED |
9 |
8415 |
8579 |
11,34,2D,АЕ,85,DE,29 |
19 |
CF |
10 |
831Е |
828F |
34,87,51,AE,5C,44,98 |
24 |
A9 |
11 |
8255 |
8302 |
46,93,56,02,83,47,10 |
39 |
D3 |
12 |
85F1 |
8473 |
D3,А7,23,F4,65,19,0F |
21 |
EE |
13 |
80E4 |
8038 |
57,AF,D6,7D,9A,90,29 |
34 |
ED |
14 |
8204 |
8422 |
23,DE,37,83,CB,93,76 |
09 |
78 |
15 |
8231 |
8202 |
87, 03, 67, 71,6А, 27, 3D |
12 |
68 |
16 |
8320 |
8221 |
09, ED 37, FD 87,01, 35 |
1E |
EF |
17 |
8264 |
8125 |
ED 03,45, DE ,BE 89,10 |
31 |
AD |
18 |
8211 |
8116 |
87,39,02,09,73, ED,EF |
29 |
DA |
19 |
8200 |
8312 |
67,45,DF,20,64,30,AE |
32 |
DE |
20 |
8274 |
8125 |
48,71,93,28, F4,38,98 |
31 |
F2 |
21 |
825D |
8322 |
EF ,D4, 38,93, B5, 2Е, 9E |
45 |
ED |
22 |
8201 |
8143 |
45,94,03, EE, F9, B4 ,83 |
23 |
BE |
23 |
8312 |
8310 |
97,40, ED, 46,98,45 ,07 |
21 |
D9 |
24 |
82А4 |
8140 |
54, AE, DC ,EB, 98,94,03 |
10 |
C8 |
25 |
8216 |
8148 |
11,87,34, AE, 09, C4, 36 |
1A |
E6 |
Приложение 6
Система команд мп кр580ик80а
Мнемоника |
Описание команды |
Код команды
|
Длина Коман- ды, байт |
Число Тактов |
Флаги условий
| |||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
S Z AC P CY | ||||
MOV R1, R2 |
Передача из регистра R2 в регистр R1 |
0 |
1 |
D |
D |
D |
S |
S |
S |
1 |
5 |
- - - - - |
MOV M, R |
Передача из регистра в память |
0 |
1 |
1 |
1 |
0 |
S |
S |
S |
1 |
7 |
- - - - - |
MOV R, M |
Передача из памяти в регистр |
0 |
1 |
D |
D |
D |
1 |
1 |
0 |
1 |
7 |
- - - - - |
MVI R |
Передача байта в регистр |
0 |
0 |
D |
D |
D |
1 |
1 |
0 |
2 |
7 |
- - - - - |
MVI M |
Передача байта в память |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
2 |
10 |
- - - - - |
LXI RP |
Загрузка парных регистров B-C, D-E, H-L, S-P |
0 |
0 |
R |
R |
0 |
0 |
0 |
1 |
3 |
10 |
- - - - - |
LDAX RP |
Загрузка аккумулятора По адресу, указанному Парой регистров B-C или D-E |
0 |
0 |
R |
R |
1 |
0 |
1 |
0 |
1 |
7 |
- - - - - |
STAX RP |
Занесение содержимого аккумулятора по адресу, указанному парой регистров B-C или D-E |
0 |
0 |
R |
R |
0 |
0 |
1 |
0 |
1 |
7 |
- - - - - |
LDA |
Загрузка аккумулятора по адресу, указанному в команде |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
3 |
13 |
- - - - - |
STA |
Занесение содержимого аккумулятора по адресу, указанному в команде |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
3 |
13 |
- - - - - |
LHLD |
Загрузка регистров L, H из двух соседних ячеек, начиная с адреса, указанного в команде |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
3 |
16 |
- - - - - |
SHLD |
Занесение содержимого регистров L, H в две соседние ячейки, начиная с адреса, указанного в команде |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
3 |
16 |
- - - - - |
XCHG |
Обмен данными между парами регистров H-L и D-E |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
4 |
- - - - - |
XTHL |
Обмен данными между SP и H-L |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
18 |
- - - - - |
SPHL |
Занесение содержимого регистра H-L в SP |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
- - - - - |
PUSH RP |
Ввод содержимого регистров B-C, D-E или H-L в стэк |
1 |
1 |
R |
R |
0 |
1 |
0 |
1 |
1 |
11 |
- - - - - |
PUSH PSW |
Ввод PSW в стэк |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
11 |
- - - - - |
POP RP |
Выдача данных из стека в регистры В-С, D-E, H-L |
1 |
1 |
R |
R |
0 |
0 |
0 |
1 |
1 |
10 |
- - - - - |
POP PSW |
Выдача данных из стека в аккумулятор и регистр признаков |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
10 |
+ + + + + |
ADD R |
Сложение содержимого регистра и аккумулятора |
1 |
0 |
0 |
0 |
0 |
S |
S |
S |
1 |
4 |
+ + + + + |
ADC R |
То же, но с учётом переноса CY |
1 |
0 |
0 |
0 |
0 |
S |
S |
S |
1 |
4 |
+ + + + + |
ADD M |
Сложение содержимого ячейки памяти и аккумулятора |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
7 |
+ + + + + |
ADC M |
То же, но с учётом переноса CY |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
|
+ + + + + |
ADI |
Сложение байта с содержимым аккумулятора |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
2 |
7 |
+ + + + + |
ACI |
Сложение байта с содержимым аккумулятора с учётом переноса СУ |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
2 |
7 |
+ + + + + |
DAD RP |
Сложение содержимого пар регистров В-С, D-E, H-L, SP с содержимым пары H-L |
0 |
0 |
R |
R |
1 |
0 |
1 |
0 |
1 |
10 |
- - - - + |
SUB R |
Вычитание содержимого регистра из содержимого аккумулятора |
1 |
0 |
0 |
1 |
0 |
S |
S |
S |
1 |
4 |
+ + + + + |
SBB R |
То же, но с заёмом |
1 |
0 |
0 |
1 |
1 |
S |
S |
S |
1 |
4 |
+ + + + + |
SUB M |
Вычитание содержимого ячейки памяти из содержимого аккумулятора |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
7 |
+ + + + + |
SBB M |
То же, но с заёмом |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
7 |
+ + + + + |
SUI |
Вычитание байта из содержимого аккумулятора |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
2 |
7 |
+ + + + + |
SBI |
То же, но с учётом заёма |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
2 |
7 |
+ + + + + |
INR R |
Увеличение содержимого регистра на единицу |
0 |
0 |
D |
D |
D |
1 |
0 |
0 |
1 |
5 |
+ + + + - |
INR M |
Увеличение содержимого ячейки памяти на единицу |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
10 |
+ + + + - |
DCR R |
Уменьшение содержимого регистра на единицу |
0 |
0 |
D |
D |
D |
1 |
0 |
1 |
1 |
5 |
+ + + + - |
DCR M |
Уменьшение содержимого ячейки памяти на единицу |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
10 |
+ + + + - |
INX RP |
Увеличение содержимого парных регистров B-C, D-E, H- L, SP на единицу |
0 |
0 |
R |
R |
0 |
0 |
1 |
1 |
1 |
5 |
- - - - - |
DCR RP |
Уменьшение содержимого парных регистров B-C, D-E, H- L, SP на единицу |
0 |
0 |
R |
R |
0 |
0 |
1 |
1 |
1 |
5 |
- - - - - |
ANA R |
Поразрядное логическое умножение содержимого регистра и аккумулятора |
1 |
0 |
1 |
0 |
0 |
S |
S |
S |
1 |
4 |
+ + 0 + 0 |
ANA M |
Поразрядное логическое умножение содержимого ячейки памяти и аккумулятора |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
7 |
+ + 0 + 0 |
ANI |
Поразрядное логическое умножение содержимого аккумулятора и байта |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
2 |
7 |
+ + 0 + 0 |
XRA R |
Поразрядное исключающее ИЛИ над содержимым регистра или аккумулятора |
1 |
0 |
1 |
0 |
1 |
S |
S |
S |
1 |
4 |
+ + 0 + 0 |
XRA M |
Поразрядное исключающее ИЛИ над содержимым ячейки памяти и аккумулятора |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
7 |
+ + 0 + 0 |
XRI |
Поразрядное исключающее ИЛИ над содержимым аккумулятора и байтом |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
2 |
7 |
+ + 0 + 0 |
ORA R |
Поразрядное логическое сложение содержимого регистра или аккумулятора |
1 |
0 |
1 |
1 |
0 |
S |
S |
S |
1 |
4 |
+ + 0 + 0 |
ORA M |
Поразрядное логическое сложение содержимого ячейки памяти и аккумулятора |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
7 |
+ + 0 + 0 |
ORI |
Поразрядное логическое сложение содержимого ячейки памяти и аккумулятора |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
2 |
7 |
+ + 0 + 0 |
CMP R |
Сравнение содержимого регистра и аккумулятора |
1 |
0 |
1 |
1 |
1 |
S |
S |
S |
1 |
4 |
+ + + + + |
CMP M |
Сравнение содержимого ячейки памяти и аккумулятора |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
7 |
+ + + + + |
CPI |
Сравнение байта с содержимым аккумулятора |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
2 |
7 |
+ + + + + |
RLC |
Циклический сдвиг содержимого аккумулятора влево |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
4 |
- - - - + |
RRC |
То же, но вправо |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
4 |
- - - - + |
RAL |
Циклический сдвиг содержимого аккумулятора влево через перенос |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
4 |
- - - - + |
RAR |
То же, но вправо |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
4 |
- - - - + |
CMA |
Инвертирование Аккумулятора |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
4 |
- - - - - |
STC |
Установка флага переноса СУ в единицу |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
4 |
- - - - 1 |
CMC |
Инвертирование флага переноса |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
4 |
- - - -
|
DAA |
Двоично-десятичная коррекция содержимого аккумулятора |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
4 |
+ + + + + |
JMP |
Безусловный переход |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
3 |
10 |
- - - - - |
JC |
Переход при наличие переноса |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JNC |
Переход при отсутствии переноса |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JZ |
Переход при нуле |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JNZ |
« « отсутствии нуля |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JP |
« « плюсе |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JM |
« « минусе |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JPE |
« « четносте |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
JPO |
« « нечетности |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
3 |
10 |
- - - - - |
PCHL |
Занесение в счетчик команд содержимого регистра H-L |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
5 |
- - - - - |
CALL |
Вызов подпрограммы |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
3 |
17 |
- - - - - |
CC |
То же, но при переносе |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CNC |
То же, но при отсутствии переноса |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CZ |
Вызов подпрограммы при нуле |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CNZ |
То же, но при отсутствии нуля |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CP |
Вызов подпрограммы при плюсе |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CM |
То же, но при минусе |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CPE |
Вызов подпрограммы при чётности |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
CPO |
То же, но при нечетности |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
3 |
11/17 |
- - - - - |
RET |
Возврат |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
10 |
- - - - - |
RC |
« « при ереносе |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RNC |
« « отсутствии переноса |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RZ |
« « нуле |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RNZ |
« « отсутствии нуля |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RP |
« « плюсе |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RM |
« « минусе |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RPE |
« « четности |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RPO |
« « нечетности |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
5/11 |
- - - - - |
RST |
Повторный запуск |
1 |
1 |
N |
N |
N |
1 |
1 |
1 |
1 |
11 |
- - - - - |
IN |
Ввод |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
2 |
10 |
- - - - - |
OUT |
Вывод |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
2 |
10 |
- - - - - |
EI |
Разрешить прерывание |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
4 |
- - - - - |
DI |
Запретить прерывание |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
4 |
- - - - - |
NOP |
Отсутствие операции |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
4 |
- - - - - |
HLT |
Останов |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
7 |
- - - - - |
Приложение 7
Команда |
Описание операции |
B/M |
T |
T |
F |
Группа команд передачи данных | |||||
MOV r1, r2 MOV r, M MOV M, r |
r1 ← r2 {Move} r ← M(rp H) M(rp H) ← r |
1/1 1/2 1/2 |
5 7 7 |
4 7 7 |
- - - |
MVI r, d8 MVI M, d8 LXI rp, d16 |
r ← d8 {Move immediate} M(rp H) ← d8 rp ← d16, rp=B,D,H или SP {Load immediate} |
2/2 2/3 3/3 |
7 10 10 |
7 10 10 |
- - - |
LDA addr STA |
A ← M(addr) {Load direct accumulator} M(addr) ←A {Store direct accumulator} |
3/4 3/4 |
13 13 |
13 13 |
- - |
LHLD addr SHLD addr |
L ←M(addr), H ← M(addr+1) {Load H and L direct} M(addr) ←L, M(addr+1) ← H {Store H and L direct} |
3/5 3/5 |
16 16 |
16 16 |
- - |
LDAX rp STAX rp |
A ← M(rp), rp=B или D {Load accumulator indirect} M(rp) ←A, rp=B или D {Store accumulator indirect} |
1/2 1/2 |
7 7 |
7 7 |
- - |
XCHG |
H ↔ D, L ↔ E {Exchange} |
1/1 |
4 |
4 |
- |
Группа команд арифметических операций | |||||
ADD r ADI d8 ADD M ADC r ADC M ACI d8 |
A←A + r {Add} A←A + d8 {Add immediate} A←A + M(rp H) A←A + r + CY {Add with carry} A←A + M(rp H) + CY A←A + d8 + CY {Add with carry immediate} |
1/1 2/2 1/2 1/1 1/2 2/2 |
4 7 7 4 7 7 |
4 7 7 4 7 7 |
+ + + + + + |
SUB r SUI d8 SUB M SBB r SBI d8 SBB M |
A←A – r { Subtract } A←A – d8 { Subtract immediate} A←A – M(rp H) A←A – r – CY { Subtract with borrow} A← A – d8 – CY A← A – M(rp H) – CY { Subtract immediate}
|
1/1 2/2 1/2 1/1 2/2 1/2 |
4 7 7 4 7 7 |
4 7 7 4 7 7 |
+ + + + + + |
INR r INR M DCR r DCR M INX rp DCX rp |
r ← r + 1 {Increment} M(rp H) ← M(rp H) + 1 r ← r – 1 {Decrement} M(rp H) ←M(rp H) – 1 rp ← rp + 1, rp=B, D, H или SP {Increment rp} rp ← rp – 1, rp=B, D, H или SP {Decrement rp} |
1/1 1/3 1/1 1/3 1/1 1/1 |
5 10 5 10 5 5 |
5 10 5 10 5 5 |
∆ ∆ ∆ ∆ – – |
DAD rp DAA |
rp H ← rp H + rp, rp=B, D, H или SP {Double precision add} Десятичная коррекция {Decimal adjust accumulator} |
1/1 1/1 |
10 4 |
10 4 |
+ |
Группа команд логических операций | |||||
ANA r ANI d8 ANA M |
A←A & r { And register with accumulator} A←A & d8 { And immediate with accumulator} A←A & M(rp H) { And memory with accumulator} |
1/1 2/2 1/2 |
4 7 7 |
4 7 7 |
* * * |
XRA r XRI d8 XRA M |
A←A
A←A
A←A |
1/1 2/2 1/2 |
4 7 7 |
4 7 7 |
# # # |
Команда |
Описание операции |
B/M |
T |
T |
F | |
ORA r ORI d8 ORA M CMP r CPI d8 CMP M |
A←A
A←A
A←A
A A – d8 CY=1 при A<r, d8, M {Compare immediate}
A – M(rp H) |
1/1 2/2 1/2 1/1 2/2 1/2 |
4 7 7 4 7 7 |
4 7 7 4 7 7 |
# # # + + + | |
RLC
RRC
RAL
RAR |
|
{Rotate accumulator left in carry} {Rotate accumulator right in carry} {Rotate accumulator left through carry} {Rotate accumulator right through carry} |
1/1
1/1
1/1
1/1 |
4
4
4
4 |
4
4
4
4 |
|
CMA CMC STC |
A ←
CY ←
CY ← 1 { Set carry} |
1/1 1/1 1/1 |
4 4 4 |
4 4 4 |
–
| |
Группа команд передачи управления | ||||||
JMP addr Jcond addr PCHL |
PC ← addr {Jump} PC ← addr {Jump conditional} PC ← HL { Load Program Counter with H and L} |
3/3 3/3 1/1 |
10 10 5 |
10
7/10 4 |
– – – | |
CALL addr Ccond addr |
SP ← SP – 1, M(SP) ←PCl; PC ← addr {Call conditional} |
3/5
3/3/5 |
17
11/17 |
18
9/18 |
– –
| |
RET Rcond |
PCh← M(SP), SP ← SP + 1 {Return conditional} |
1/3
1/1/3 |
10
5/11 |
10
6/12 |
– – | |
RST n |
SP ← SP – 1, M(SP) ←PCl; PC ← 8 ×n ( n= 0 . . . 7) |
1/3 |
11 |
12 |
–
| |
Группа команд управления стеком, вводом-выводом и состоянием МП | ||||||
PUSH rp PUSH PSW POP rp POP PSW |
SP←SP – 1, M(SP)←prh, SP←SP – 1, M(SP)←rpl {Push} SP←SP – 1, M(SP) ← A, SP←SP – 1, M(SP)←F rpl←M(SP), SP←SP + 1, rph ← M(SP), SP←SP+1 {Pop} F←M(SP), SP←SP + 1, A← M(SP), SP←SP+1 |
1/3 1/3 1/3 1/3 |
11 11 10 10 |
12 12 10 10 |
– – – + – – | |
XTHL SPHL |
L↔M(SP), H↔M(SP+1) {Exchange Top of Stack with H and L} |
1/5 1/1 |
18 5 |
16 6 | ||
Команда |
Описание операции |
B/M |
T |
T |
F | |
IN port OUT port |
A ← ПО(port) {Input} ПО(port) ←A {Output} |
2/3 2/3 |
10 10 |
10 10 |
– – | |
EI
DI |
INTE = 1 после следующей команды {Enable Interrupts} INTE = 0 после данной команды {Disable Interrupts} |
1/1 1/1 |
4 4 |
4 4 |
– – | |
HLT NOP |
Остановка процессора; PC ←PC+ 1 {Halt} Пустая операция {No-operation} |
1/1 1/1 |
7 4 |
5 4 |
– – | |
SIM
RIM |
Установка маски прерываний {Set Interrupt Mask} Чтение маски прерываний {Read Interrupt Mask} |
1/1 1/1 |
– – |
4 4 |
– – | |
Примечание:
|