200101_jeimpt_lr_2012
.pdfПРИЛОЖЕНИЕ В
(справочное)
Структура команд микропроцессора
(БИС КР580ВМ80)
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
MOV R1, R2 |
Передача из регистра R2 в ре- |
01DDDSSS |
1 |
5 |
|
|
|
|
|
гистр R1 |
|
|
|
|
|
|
|
MOV M, R |
Передача из регистра в память |
01110SSS |
1 |
7 |
|
|
|
|
MOV R, M |
Передача из памяти в регистр |
01DDD110 |
1 |
7 |
|
|
|
|
MVI R |
Передача байта в регистр |
00DDD110 |
2 |
7 |
|
|
|
|
MVI M |
Передача байта в память |
00110110 |
2 |
10 |
|
|
|
|
LXI RP |
Загрузка парных регистров B- |
00RR0001 |
3 |
10 |
|
|
|
|
|
C, D-E, H-L, SP. |
|
|
|
|
|
|
|
LDAX RP |
Загрузка аккумулятора по ад- |
00RR1010 |
1 |
7 |
|
|
|
|
|
ресу указанному парой реги- |
|
|
|
|
|
|
|
|
стров B-C или D-E. |
|
|
|
|
|
|
|
STAX RP |
Занесение содержимого акку- |
00RR0010 |
1 |
7 |
|
|
|
|
|
мулятора по адресу, указан- |
|
|
|
|
|
|
|
|
ному парой регистров B-C или |
|
|
|
|
|
|
|
|
D-E. |
|
|
|
|
|
|
|
|
|
221 |
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
LDA |
Загрузка аккумулятора по ад- |
00111010 |
3 |
13 |
|
|
|
|
|
ресу указанному в команде |
|
|
|
|
|
|
|
STA |
Занесение содержимого акку- |
00110010 |
3 |
13 |
|
|
|
|
|
мулятора по адресу, указан- |
|
|
|
|
|
|
|
|
ному в команде |
|
|
|
|
|
|
|
LHLD |
Загрузка регистров L, H из двух |
00101010 |
3 |
16 |
|
|
|
|
|
соседних ячеек, начиная с ад- |
|
|
|
|
|
|
|
|
реса, указанного в команде. |
|
|
|
|
|
|
|
SHLD |
Занесение содержимого реги- |
00100010 |
3 |
16 |
|
|
|
|
|
стров L, H в две соседние |
|
|
|
|
|
|
|
|
ячейки, начиная с адреса, ука- |
|
|
|
|
|
|
|
|
занного в команде. |
|
|
|
|
|
|
|
XCHG |
Обмен данными между парами |
11101011 |
1 |
4 |
|
|
|
|
|
регистров H-L, D-E |
|
|
|
|
|
|
|
XTHL |
Обмен данными между SP и H- |
11100011 |
1 |
18 |
|
|
|
|
|
L |
|
|
|
|
|
|
|
SPHL |
Занесение содержимого реги- |
11111001 |
1 |
5 |
|
|
|
|
|
стра H-L в SP |
|
|
|
|
|
|
|
PUSH RP |
Ввод содержимого регистров |
11RR0101 |
1 |
11 |
|
|
|
|
|
В-С, D-E, или H-L в стек. |
|
|
|
|
|
|
|
|
|
222 |
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
PUSH PSW |
Ввод PSW в стек. |
11110101 |
1 |
11 |
|
|
|
|
POP RP |
Выдача данных из стека в реги- |
11RR0001 |
1 |
10 |
|
|
|
|
|
стры В-С, D-E, H-L |
|
|
|
|
|
|
|
POP PSW |
Выдача данных из стека в акку- |
11110001 |
1 |
10 |
+ |
+ |
+ |
+ + |
|
мулятор и регистр признаков. |
|
|
|
|
|
|
|
ADD R |
Сложение содержимого реги- |
10000SSS |
1 |
4 |
+ |
+ |
+ |
+ + |
|
стра и аккумулятора. |
|
|
|
|
|
|
|
ADC R |
Тоже, но с учетом переноса СУ. |
10000SSS |
1 |
4 |
+ |
+ |
+ |
+ + |
ADD M |
Сложение содержимого ячейки |
10000110 |
1 |
7 |
+ |
+ |
+ |
+ + |
|
памяти и аккумулятора. |
|
|
|
|
|
|
|
ADC M |
Тоже, но с учетом переноса СУ. |
10001110 |
1 |
7 |
+ |
+ |
+ |
+ + |
ADI |
Сложение байта с содержимым |
11000110 |
2 |
7 |
+ |
+ |
+ |
+ + |
|
аккумулятора |
|
|
|
|
|
|
|
ACI |
Сложение байта с содержимым |
11001110 |
2 |
7 |
+ |
+ |
+ |
+ + |
|
аккумулятора с учетом СУ. |
|
|
|
|
|
|
|
DAD RP |
Сложение содержимого пар ре- |
00RR1010 |
1 |
10 |
|
|
|
|
|
гистров B-C, D-E, H-L, SP с со- |
|
|
|
|
|
|
|
|
держимым пары H-L. |
|
|
|
|
|
|
|
SUB R |
Вычитание содержимого реги- |
10010SSS |
1 |
4 |
+ |
+ |
+ |
+ + |
|
|
223 |
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
|
стра из содержимого аккумуля- |
|
|
|
|
|
|
|
|
тора |
|
|
|
|
|
|
|
SBB R |
То же, но с заемом. |
10011SSS |
1 |
4 |
+ |
+ |
+ |
+ + |
SUB M |
Вычитание содержимого |
10010110 |
1 |
7 |
+ |
+ |
+ |
+ + |
|
ячейки памяти из содержимого |
|
|
|
|
|
|
|
|
аккумулятора. |
|
|
|
|
|
|
|
SBB M |
То же, но с заемом. |
10011110 |
1 |
7 |
+ |
+ |
+ |
+ + |
SUI |
Вычитание байта из содержи- |
11010110 |
2 |
7 |
+ |
+ |
+ |
+ + |
|
мого аккумулятора. |
|
|
|
|
|
|
|
SBI |
То же, но с учетом заема. |
11011110 |
2 |
7 |
+ |
+ |
+ |
+ + |
INR R |
Увеличение содержимого реги- |
00DDD100 |
1 |
5 |
+ |
+ |
+ |
+ |
|
стра на 1 |
|
|
|
|
|
|
|
INR M |
Увеличение содержимого |
00110100 |
1 |
10 |
+ |
+ |
+ |
+ |
|
ячейки памяти на 1 |
|
|
|
|
|
|
|
DCR R |
Уменьшение содержимого ре- |
00DDD101 |
1 |
5 |
+ |
+ |
+ |
+ |
|
гистра на 1 |
|
|
|
|
|
|
|
DCR M |
Уменьшение содержимого |
00110101 |
1 |
10 |
+ |
+ |
+ |
+ |
|
ячейки памяти на 1 |
|
|
|
|
|
|
|
INX RP |
Увеличение содержимого пар- |
00RR0011 |
1 |
5 |
|
|
|
|
|
ных регистров B-C, D-E, H-L, |
|
|
|
|
|
|
|
|
|
224 |
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
|
SP на 1 |
|
|
|
|
|
|
|
DCX RP |
Уменьшение содержимого пар- |
00RR1011 |
1 |
5 |
|
|
|
|
|
ных регистров B-C, D-E, H-L, |
|
|
|
|
|
|
|
|
SP на 1 |
|
|
|
|
|
|
|
ANA R |
Поразрядное логическое умно- |
10100SSS |
1 |
4 |
+ |
+ |
0 |
+ 0 |
|
жение содержимого регистра и |
|
|
|
|
|
|
|
|
аккумулятора |
|
|
|
|
|
|
|
ANA M |
Поразрядное логическое умно- |
10100110 |
1 |
7 |
+ |
+ |
0 |
+ 0 |
|
жение содержимого ячейки па- |
|
|
|
|
|
|
|
|
мяти и аккумулятора |
|
|
|
|
|
|
|
ANI |
Поразрядное логическое умно- |
11100110 |
2 |
7 |
+ |
+ |
0 |
+ 0 |
|
жение содержимого аккумуля- |
|
|
|
|
|
|
|
|
тора и байта. |
|
|
|
|
|
|
|
XRA R |
Поразрядное исключающее |
10101SSS |
1 |
4 |
+ |
+ |
0 |
+ 0 |
|
ИЛИ над содержимым регистра |
|
|
|
|
|
|
|
|
или аккумулятора |
|
|
|
|
|
|
|
XRA M |
Поразрядное исключающее |
10101110 |
1 |
7 |
+ |
+ |
0 |
+ 0 |
|
ИЛИ над содержимым ячейки |
|
|
|
|
|
|
|
|
памяти или аккумулятора |
|
|
|
|
|
|
|
XRI |
Поразрядное исключающее |
11101110 |
2 |
7 |
+ |
+ |
0 |
+ 0 |
|
|
225 |
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
байт. |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
6 |
|
|
ИЛИ над содержимым аккуму- |
|
|
|
|
|
|
|
|
лятора и байта. |
|
|
|
|
|
|
|
ORA R |
Поразрядное логическое сложе- |
10110SSS |
1 |
4 |
+ |
+ |
0 |
+ 0 |
|
ние содержимого регистра и ак- |
|
|
|
|
|
|
|
|
кумулятора |
|
|
|
|
|
|
|
ORA M |
Поразрядное логическое сложе- |
10110110 |
1 |
7 |
+ |
+ |
0 |
+ 0 |
|
ние содержимого ячейки па- |
|
|
|
|
|
|
|
|
мяти и аккумулятора |
|
|
|
|
|
|
|
ORI |
Поразрядное логическое сложе- |
11110110 |
2 |
7 |
+ |
+ |
0 |
+ 0 |
|
ние содержимого аккумулятора |
|
|
|
|
|
|
|
|
и байта. |
|
|
|
|
|
|
|
CMP R |
Сравнение содержимого реги- |
10111SSS |
1 |
4 |
+ |
+ |
+ |
+ + |
|
стра и аккумулятора |
|
|
|
|
|
|
|
CMP M |
Сравнение содержимого ячейки |
10111110 |
1 |
7 |
+ |
+ |
+ |
+ + |
|
памяти и аккумулятора |
|
|
|
|
|
|
|
CPI |
Сравнение байта с содержимым |
11111110 |
2 |
7 |
+ |
+ |
+ |
+ + |
|
аккумулятора. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RLC |
Циклический сдвиг содержи- |
00000111 |
1 |
4 |
|
|
|
+ |
|
мого аккумулятора влево. |
|
|
|
|
|
|
|
|
|
226 |
|
|
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||||
|
|
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
|
|
байт. |
|
|
|
|
|
1 |
|
|
2 |
3 |
4 |
5 |
|
|
6 |
|
RRC |
То же, но вправо. |
00001111 |
1 |
4 |
|
|
|
+ |
||
RAL |
Циклический сдвиг содержи- |
00010111 |
1 |
4 |
|
|
|
+ |
||
|
мого аккумулятора влево через |
|
|
|
|
|
|
|
||
|
|
перенос. |
|
|
|
|
|
|
|
|
RAR |
То же, но вправо. |
00011111 |
1 |
4 |
|
|
|
+ |
||
CMA |
Инвертирование аккумулятора |
00101111 |
1 |
4 |
|
|
|
|
||
STC |
Установка флага переноса СУ в |
00110111 |
1 |
4 |
|
|
|
1 |
||
|
|
единицу. |
|
|
|
|
|
|
|
|
CMC |
Инвертирование флага пере- |
00111111 |
1 |
4 |
|
|
|
C |
||
|
|
носа |
|
|
|
|
|
|
|
|
DAA |
Двоично-десятичная коррекция |
00100111 |
1 |
4 |
+ |
+ |
+ |
+ + |
||
|
содержимого аккумулятора. |
|
|
|
|
|
|
|
||
JMP |
Безусловный переход. |
11000011 |
3 |
10 |
|
|
|
|
||
JC |
Переход при наличии переноса. |
11011010 |
3 |
10 |
|
|
|
|
||
JNC |
Переход при отсутствии пере- |
11010010 |
3 |
10 |
|
|
|
|
||
|
|
носа. |
|
|
|
|
|
|
|
|
JZ |
Переход при 0. |
11001010 |
3 |
10 |
|
|
|
|
||
JNZ |
” ” отсутствии нуля |
11000010 |
3 |
10 |
|
|
|
|
||
JP |
” |
” |
плюсе |
11110010 |
3 |
10 |
|
|
|
|
JM |
” |
” |
минусе |
11111010 |
3 |
10 |
|
|
|
|
|
|
|
|
227 |
|
|
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||||
|
|
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
|
|
байт. |
|
|
|
|
|
1 |
|
|
2 |
3 |
4 |
5 |
|
|
6 |
|
JPE |
” |
” |
четности |
11101010 |
3 |
10 |
|
|
|
|
JPO |
” |
” |
нечетности |
11100010 |
3 |
10 |
|
|
|
|
PCHL |
Занесение в счетчик команд со- |
11101001 |
1 |
5 |
|
|
|
|
||
|
держимого регистра H-L. |
|
|
|
|
|
|
|
||
CALL |
Вызов подпрограммы. |
11001101 |
3 |
17 |
|
|
|
|
||
CC |
То же, но при переносе. |
11011100 |
3 |
11/17 |
|
|
|
|
||
CNC |
То же, но при отсутствии пере- |
11001100 |
3 |
11/17 |
|
|
|
|
||
|
|
|
носа. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
CZ |
Вызов подпрограммы при 0. |
11001100 |
3 |
11/17 |
|
|
|
|
||
CNZ |
То же, но при отсутствии 0. |
11000100 |
3 |
11/17 |
|
|
|
|
||
CP |
Вызов подпрограммы при |
11110100 |
3 |
11/17 |
|
|
|
|
||
|
|
плюсе. |
|
|
|
|
|
|
|
|
CM |
То же, но при минусе. |
11111100 |
3 |
11/17 |
|
|
|
|
||
CPE |
Вызов подпрограммы при чет- |
11101100 |
3 |
11/17 |
|
|
|
|
||
|
|
|
ности |
|
|
|
|
|
|
|
CPO |
То же, но при нечетности. |
11100100 |
3 |
11/17 |
|
|
|
|
||
RET |
|
Возврат |
11001001 |
1 |
10 |
|
|
|
|
|
RC |
” ” при переносе |
11011000 |
1 |
5/11 |
|
|
|
|
||
|
|
|
|
228 |
|
|
|
|
|
|
|
|
|
|
|
Длина |
Число |
|
|
|
|
Мнемоника |
Описание команды |
Код команды |
ко- |
тактов |
Флаги условий |
|||||
|
|
|
|
D7 D6 D5 D4 D3 D2 D1 D0 |
манды, |
|
S Z AC P CY |
|||
|
|
|
|
|
байт. |
|
|
|
|
|
1 |
|
|
2 |
3 |
4 |
5 |
|
|
6 |
|
RNC |
” ” при отсутствии переноса |
11010000 |
1 |
5/11 |
|
|
|
|
||
RZ |
” ” при нуле |
11001000 |
1 |
5/11 |
|
|
|
|
||
RNZ |
” ” при отсутствии нуля |
11000000 |
1 |
5/11 |
|
|
|
|
||
RP |
” ” |
при плюсе |
11110000 |
1 |
5/11 |
|
|
|
|
|
RM |
” ” |
при минусе |
11111000 |
1 |
5/11 |
|
|
|
|
|
RPE |
” ” |
при четности |
11101000 |
1 |
5/11 |
|
|
|
|
|
RPO |
” ” |
при нечетности |
11100000 |
1 |
5/11 |
|
|
|
|
|
RST |
Повторный запуск |
11NNN111 |
1 |
11 |
|
|
|
|
||
IN |
|
|
Ввод |
11011011 |
2 |
10 |
|
|
|
|
OUT |
|
|
Вывод |
11010011 |
2 |
10 |
|
|
|
|
EI |
Разрешить прерывание |
11111011 |
1 |
4 |
|
|
|
|
||
DI |
Запретить прерывание |
11110011 |
1 |
4 |
|
|
|
|
||
NOP |
Отсутствие операции |
00000000 |
1 |
4 |
|
|
|
|
||
HLT |
|
|
Останов |
01110110 |
1 |
7 |
|
|
|
|
Примечание: 1. DDD, SSS - 3-х разрядные поля в формате команды, адресующие один из регистров общего назначения или в качестве места назначения (D), или в качестве источника операнда (S); 2. RR – 2-разрядное поля в формате команды адресующее один из парных регистров; 3. PSW – слово-состояние программы, первый байт которого равен содержимому А, второй содержимому RS; 4. NNN – двоичное представление номера команды RST; 5. + - установка или сброс флага
229
условия; 6. - отсутствие влияния на флаг; 7. В знаменателе дроби указано число тактов при выполнении рассматриваемого в команде условия, в числителе – при невыполнении.
230