Система команд МП КР580ИК80А

 

Мнемоника Описание команды Код команды   Длина Коман- ды, байт Число Тактов Флаги условий  
D7 D6 D5 D4 D3 D2 D1 D0 S Z AC P CY
MOV R1, R2 Передача из регистра R2 в регистр R1 D D D S S S - - - - -
MOV M, R Передача из регистра в память S S S - - - - -
MOV R, M Передача из памяти в регистр D D D - - - - -
MVI R Передача байта в регистр D D D - - - - -
MVI M Передача байта в память - - - - -
LXI RP Загрузка парных регистров B-C, D-E, H-L, S-P R R - - - - -
LDAX RP Загрузка аккумулятора По адресу, указанному Парой регистров B-C или D-E R R - - - - -
STAX RP Занесение содержимого аккумулятора по адресу, указанному парой регистров B-C или D-E R R - - - - -
LDA Загрузка аккумулятора по адресу, указанному в команде - - - - -
STA Занесение содержимого аккумулятора по адресу, указанному в команде - - - - -
LHLD Загрузка регистров L, H из двух соседних ячеек, начиная с адреса, указанного в команде - - - - -
SHLD Занесение содержимого регистров L, H в две соседние ячейки, начиная с адреса, указанного в команде - - - - -
XCHG Обмен данными между парами регистров H-L и D-E - - - - -
XTHL Обмен данными между SP и H-L - - - - -
SPHL Занесение содержимого регистра H-L в SP - - - - -
PUSH RP Ввод содержимого регистров B-C, D-E или H-L в стэк R R - - - - -
PUSH PSW Ввод PSW в стэк - - - - -
POP RP Выдача данных из стека в регистры В-С, D-E, H-L R R - - - - -
POP PSW Выдача данных из стека в аккумулятор и регистр признаков + + + + +
ADD R Сложение содержимого регистра и аккумулятора S S S + + + + +
ADC R То же, но с учётом переноса CY S S S + + + + +
ADD M Сложение содержимого ячейки памяти и аккумулятора + + + + +
ADC M То же, но с учётом переноса CY   + + + + +
ADI Сложение байта с содержимым аккумулятора + + + + +
ACI Сложение байта с содержимым аккумулятора с учётом переноса СУ + + + + +
DAD RP Сложение содержимого пар регистров В-С, D-E, H-L, SP с содержимым пары H-L R R - - - - +
SUB R Вычитание содержимого регистра из содержимого аккумулятора S S S + + + + +
SBB R То же, но с заёмом S S S + + + + +
SUB M Вычитание содержимого ячейки памяти из содержимого аккумулятора + + + + +
SBB M То же, но с заёмом + + + + +
SUI Вычитание байта из содержимого аккумулятора + + + + +
SBI То же, но с учётом заёма + + + + +
INR R Увеличение содержимого регистра на единицу D D D + + + + -
INR M Увеличение содержимого ячейки памяти на единицу + + + + -
DCR R Уменьшение содержимого регистра на единицу D D D + + + + -
DCR M Уменьшение содержимого ячейки памяти на единицу + + + + -
INX RP Увеличение содержимого парных регистров B-C, D-E, H- L, SP на единицу R R - - - - -
DCR RP Уменьшение содержимого парных регистров B-C, D-E, H- L, SP на единицу R R - - - - -
ANA R Поразрядное логическое умножение содержимого регистра и аккумулятора S S S + + 0 + 0
ANA M Поразрядное логическое умножение содержимого ячейки памяти и аккумулятора + + 0 + 0
ANI Поразрядное логическое умножение содержимого аккумулятора и байта + + 0 + 0
XRA R Поразрядное исключающее ИЛИ над содержимым регистра или аккумулятора S S S + + 0 + 0
XRA M Поразрядное исключающее ИЛИ над содержимым ячейки памяти и аккумулятора + + 0 + 0
XRI Поразрядное исключающее ИЛИ над содержимым аккумулятора и байтом + + 0 + 0
ORA R Поразрядное логическое сложение содержимого регистра или аккумулятора S S S + + 0 + 0
ORA M Поразрядное логическое сложение содержимого ячейки памяти и аккумулятора + + 0 + 0
ORI Поразрядное логическое сложение содержимого ячейки памяти и аккумулятора + + 0 + 0
CMP R Сравнение содержимого регистра и аккумулятора S S S + + + + +
CMP M Сравнение содержимого ячейки памяти и аккумулятора + + + + +
CPI Сравнение байта с содержимым аккумулятора + + + + +
RLC Циклический сдвиг содержимого аккумулятора влево - - - - +
RRC То же, но вправо - - - - +
RAL Циклический сдвиг содержимого аккумулятора влево через перенос - - - - +
RAR То же, но вправо - - - - +
CMA Инвертирование Аккумулятора - - - - -
STC Установка флага переноса СУ в единицу - - - - 1
CMC Инвертирование флага переноса - - - -
DAA Двоично-десятичная коррекция содержимого аккумулятора + + + + +
JMP Безусловный переход - - - - -
JC Переход при наличие переноса - - - - -
JNC Переход при отсутствии переноса - - - - -
JZ Переход при нуле - - - - -
JNZ « « отсутствии нуля - - - - -
JP « « плюсе - - - - -
JM « « минусе - - - - -
JPE « « четносте - - - - -
JPO « « нечетности - - - - -
PCHL Занесение в счетчик команд содержимого регистра H-L - - - - -
CALL Вызов подпрограммы - - - - -
CC То же, но при переносе 11/17 - - - - -
CNC То же, но при отсутствии переноса 11/17 - - - - -
CZ Вызов подпрограммы при нуле 11/17 - - - - -
CNZ То же, но при отсутствии нуля 11/17 - - - - -
CP Вызов подпрограммы при плюсе 11/17 - - - - -
CM То же, но при минусе 11/17 - - - - -
CPE Вызов подпрограммы при чётности 11/17 - - - - -
CPO То же, но при нечетности 11/17 - - - - -
RET Возврат - - - - -
RC « « при ереносе 5/11 - - - - -
RNC « « отсутствии переноса 5/11 - - - - -
RZ « « нуле 5/11 - - - - -
RNZ « « отсутствии нуля 5/11 - - - - -
RP « « плюсе 5/11 - - - - -
RM « « минусе 5/11 - - - - -
RPE « « четности 5/11 - - - - -
RPO « « нечетности 5/11 - - - - -
RST Повторный запуск N N N - - - - -
IN Ввод - - - - -
OUT Вывод - - - - -
EI Разрешить прерывание - - - - -
DI Запретить прерывание - - - - -
NOP Отсутствие операции - - - - -
HLT Останов - - - - -

Приложение 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 - - -
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 - - -
LDA addr STA A ← M(addr) {Load direct accumulator} M(addr) ←A {Store direct accumulator} 3/4 3/4 - -
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 - -
LDAX rp STAX rp A ← M(rp), rp=B или D {Loadaccumulator indirect} M(rp) ←A, rp=B или D {Store accumulator indirect} 1/2 1/2 - -
XCHG H ↔ D, L ↔ E {Exchange} 1/1 -
Группа команд арифметических операций
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 + + + + + +
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 + + + + + +
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 ∆ ∆ ∆ ∆ – –
DAD rp DAA rp H ← rp H + rp, rp=B, D, H или SP {Double precision add} Десятичная коррекция {Decimal adjust accumulator} 1/1 1/1 +
Группа команд логических операций
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 * * *
XRA r XRI d8 XRA M A←A r { Exclusive or register with accumulator} A←A d8 { Exclusive orimmediate with accumulator} A←A M(rp H) { Exclusive or memory with accumulator} 1/1 2/2 1/2 # # #