Система команд МП КР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 { M o v e i mmediate} M(rp H) ← d8 rp ← d16, rp=B,D,H или SP { L oad i mmediate} 2/2 2/3 3/3     - - -
LDA addr STA A ← M(addr) { L oad d irect a ccumulator} M(addr) ←A { S tore d irect a ccumulator} 3/4 3/4     - -
LHLD addr SHLD addr L ←M(addr), H ← M(addr+1) { L oad H and L direct} M(addr) ←L, M(addr+1) ← H { S tore H and L direct} 3/5 3/5     - -
LDAX rp STAX rp A ← M(rp), rp=B или D { L oa da ccumulator indirect} M(rp) ←A, rp=B или D { St ore a ccumulator 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 { Ad d i mmediate} A←A + M(rp H) A←A + r + CY { Ad d with c arry} A←A + M(rp H) + CY A←A + d8 + CY { A dd with c arry i mmediate} 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 { Sub tract } A←A – d8 { Su btract i mmediate} A←A – M(rp H) A←A – r – CY { Su btract with b orrow} A← A – d8 – CY A← A – M(rp H) – CY { S u b tract i mmediate} 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 { In c r ement} M(rp H) ← M(rp H) + 1 r ← r – 1 { D e cr ement} M(rp H) ←M(rp H) – 1 rp ← rp + 1, rp=B, D, H или SP { In crement rp} rp ← rp – 1, rp=B, D, H или SP { D e cr ement 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 { An d register with a ccumulator} A←A & d8 { An d i mmediate with accumulator} A←A & M(rp H) { An d memory with a ccumulator} 1/1 2/2 1/2     * * *
XRA r XRI d8 XRA M A←A r { E x clusive o r register with a ccumulator} A←A d8 { E x clusive o ri mmediate with accumulator} A←A M(rp H) { E x clusive o r memory with a ccumulator} 1/1 2/2 1/2     # # #
Команда Описание операции B/M T T F
ORA r ORI d8 ORA M CMP r CPI d8 CMP M A←A r { Or register with a ccumulator} A←A d8 { Ori mmediate with accumulator} A←A M(rp H) { Or memory with a ccumulator} A – r Z=1 при A=r, d8, M { C o mp are} A – d8 CY=1 при A<r, d8, M { C om p are i mmediate} A – M(rp H) 1/1 2/2 1/2 1/1 2/2 1/2     # # # + + +
RLC RRC RAL RAR { R otate accumulator l eft in c arry} { R otate accumulator r ight in c arry} {Rotate accumulator left through carry} {Rotate accumulator right through carry} 1/1 1/1 1/1 1/1    
CMA CMC STC A ← { C o m plement a ccumulator} CY ← { C o m plement c arry} CY ← 1 { S e tc arry} 1/1 1/1 1/1    
Группа команд передачи управления
JMP addr J cond addr PCHL PC ← addr { J u mp } PC ← addr { J ump conditional} PC ← HL { Load P rogram C ounter with H and L} 3/3 3/3 1/1   7/10 – – –
CALL addr C cond addr SP ← SP – 1, M(SP) ← PC h, { Call } SP ← SP – 1, M(SP) ←PC l; PC ← addr { C all conditional} 3/5 3/3/5 11/17 9/18 – –
RET R cond PC l ← M(SP), SP ← SP + 1, { Ret urn} PC h ← M(SP), SP ← SP + 1 { R eturn conditional} 1/3 1/1/3 5/11 6/12 – –
RST n SP ← SP – 1, M(SP) ← PC h, { Restart } SP ← SP – 1, M(SP) ←PC l; PC ← 8 ×n (n= 0... 7) 1/3    
Группа команд управления стеком, вводом-выводом и состоянием МП
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     – – – + – –
XTHL SPHL L↔M(SP), H↔M(SP+1) {Exchange Top of Stack with H and L} 1/5 1/1    
Команда Описание операции B/M T T F
IN port OUT port A ← ПО(port) { In put} ПО(port) ←A { Out put} 2/3 2/3     – –
EI DI INTE = 1 после следующей команды { E nable I nterrupts} INTE = 0 после данной команды { D isable I nterrupts} 1/1 1/1     – –
HLT NOP Остановка процессора; PC ← PC + 1 { H al t } Пустая операция { N o- op eration} 1/1 1/1     – –
SIM RIM Установка маски прерываний { S et I nterrupt M ask} Чтение маски прерываний { R ead I nterrupt M ask} 1/1 1/1 – –   – –
Примечание: Х из Х/Y при невыполнении условия cond и Y при невыполнения условия cond; Х из Z/Х/Y при невыполнении условия cond и Y при невыполнения условия cond; в МП 8085А вместо триггера INTE данные команды управляются флагом (триггером) IE; только для МП 8085А
             

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: