- •Санкт-Петербургский государственный
- •Изучение работы восьмиразрядных микропроцессоров (Intel 8085)
- •1.1. Общие сведения
- •Лабораторная работа № 2
- •2.2. Описание лабораторного стенда
- •2.3. Порядок выполнения работы
- •3.2. Описание лабораторного стенда
- •3.3. Порядок выполнения работы
- •4.1. Общие сведения
- •3.4. Требования к отчету
- •4.2. Описание лабораторного стенда
- •4.3. Порядок выполнения работы
- •Требования к отчету
- •Приложение 1 Контроллер программируемый универсальный “Электроника мс2702”; устройство, эксплуатация и программирование Общая характеристика и особенности работы устройства
- •Работа с кпу и его программное обеспечение
- •Приложение 2
- •Соответствие машинного кода команде ассемблера
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
Приложение 2
Таблицы команд микропроцессора КР580ИК80
Соответствие машинного кода команде ассемблера
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
|
0 |
NOP |
LXI B,& |
STAX B |
INX B |
INR B |
DCR B |
MVI B,# |
RLC |
– |
DAD B |
LDAX B |
DCX B |
INR C |
DCR C |
MVI C,# |
RRC |
1 |
– |
LXI D,& |
STAX D |
INX D |
INR D |
DCR D |
MVI D,# |
RAL |
– |
DAD D |
LDAX D |
DCX D |
INR E |
DCR E |
MVI E,# |
RAR |
2 |
– |
LXI H,& |
SHLD* |
INX H |
INR H |
DCR H |
MVI H,# |
DAA |
– |
DAD H |
LHLD* |
DCX H |
INR L |
DCR L |
MVI L,# |
CMA |
3 |
– |
LXI SP& |
STA * |
INX SP |
INR M |
DCR M |
MV M,# |
STC |
– |
DAD SP |
LDA B |
DCX SP |
INR A |
DCR A |
MVI A,# |
CMC |
4 |
MOV B,B |
MOV B,C |
MOV B,D |
MOV B,E |
MOV B,H |
MOV B,L |
MOV B,M |
MOV B,A |
MOV C,B |
MOV C,C |
MOV C,D |
MOV C,E |
MOV C,H |
MOV C,L |
MOV C,M |
MOV C,A |
5 |
MOV D,B |
MOV D,C |
MOV D,D |
MOV D,E |
MOV D,H |
MOV D,L |
MOV D,M |
MOV D,A |
MOV E,B |
MOV E,C |
MOV E,D |
MOV E,E |
MOV E,H |
MOV E,L |
MOV E,M |
MOV E,A |
6 |
MOV H,B |
MOV H,C |
MOV H,D |
MOV H,E |
MOV H,H |
MOV H,L |
MOV H,M |
MOV H,A |
MOV L,B |
MOV L,C |
MOV L,D |
MOV L,E |
MOV L,H |
MOV L,L |
MOV L,M |
MOV L,A |
7 |
MOV M,B |
MOV M,C |
MOV M,D |
MOV M,E |
MOV M,H |
MOV M,L |
HLT |
MOV M,A |
MOV A,B |
MOV A,C |
MOV A,D |
MOV A,E |
MOV A,H |
MOV A,L |
MOV A,M |
MOV A,A |
8 |
ADD B |
ADD C |
ADD D |
ADD E |
ADD H |
ADD L |
ADD M |
ADD A |
ADC B |
ADC C |
ADC D |
ADC E |
ADC H |
ADC L |
ADC M |
ADC A |
9 |
SUB B |
SUB C |
SUB D |
SUB E |
SUB H |
SUB L |
SUB M |
SUB A |
SBB B |
SBB C |
SBB D |
SBB E |
SBB H |
SBB L |
SBB M |
SBB A |
A |
ANA B |
ANA C |
ANA D |
ANA E |
ANA H |
ANA L |
ANA M |
ANA A |
XRA B |
XRA C |
XRA D |
XRA E |
XRA H |
XRA L |
XRA M |
XRA A |
B |
ORA B |
ORA C |
ORA D |
ORA E |
ORA H |
ORA L |
ORA M |
ORA A |
CMP B |
CMP C |
CMP D |
CMP E |
CMP H |
CMP L |
CMP M |
CMP A |
C |
RNZ |
POP B |
JNZ * |
JMP * |
CNZ * |
PUSH B |
ADI # |
RST 0 |
RZ |
RET |
JZ * |
– |
CZ * |
CALL * |
ACI # |
RST 1 |
D |
RNC |
POP D |
JNC * |
OUT N |
CNC * |
PUSH D |
SUI # |
RST 2 |
RC |
– |
JC * |
IN N |
CC * |
– |
SBI # |
RST 3 |
E |
RPO |
POP H |
JPO * |
XTHL |
CPO * |
PUSH H |
ANI # |
RST 4 |
RPE |
PCHL |
JPE * |
XCHG |
CPE * |
– |
XRI # |
RST 5 |
F |
RP |
POP PSW |
JP * |
DI |
CP * |
PUSH PSW |
ORI # |
RST 6 |
RM |
SPHL |
JM |
EI |
CM |
– |
CPI |
RST 7 |
Назначение команд процессора
Команда |
Кол-во байт |
Описание операции |
MOV r1,r2 |
1 |
r1 ¬ r2 |
MOV r,M |
1 |
r M(HL) |
MOV M,r |
1 |
M(HL) r |
MVI r,d |
2 |
r d |
MVI M,d |
2 |
M(HL) d |
LXI rp,d16 |
3 |
rp d16 |
LDA addr |
3 |
A M(HL) |
STA addr |
3 |
M(addr) A |
LHLD addr |
3 |
L M(addr), H M (addr+1) |
SHLD addr |
3 |
M(addr) L, M(addr+1) H |
LDAX rp |
1 |
A M(rp) |
STAX RP |
1 |
M(rp) A |
XCHG |
1 |
HL DE |
ADD r |
1 |
A A+r |
ADI d |
2 |
A A+d |
ADD M |
1 |
A A+M(HL) |
ADC r |
1 |
A A+r+CY |
ADC M |
1 |
A A+M(HL)+CY |
ACI d |
2 |
A A+d+CY |
SUB r |
1 |
A A-r |
SUB M |
1 |
A A-M(HL) |
SUI d |
2 |
A A-d |
SBB R |
1 |
A A-r-CY |
SBB M |
1 |
A A-M(HL)-CY |
SBI d |
2 |
A A-d-CY |
INR r |
1 |
r r+1 |
INR M |
1 |
M(HL) M(HL)+1 |
DCR r |
1 |
r r-1 |
DCR M |
1 |
M(HL) M(HL)-1 |
INX rp |
1 |
rp rp+1 |
DCX rp |
1 |
rp rp-1 |
DAD rp |
1 |
HL HL+rp |
DAA |
1 |
Десятичная коррекц. |
ANA r |
1 |
A A & r |
ANA M |
1 |
A A & M(HL) |
ANI d |
2 |
A A & d |
XRA r |
1 |
A A r |
XRA M |
1 |
A A M(HL) |
XRI d |
2 |
A A d |
ORA r |
1 |
A A V r |
ORA M |
1 |
A A V M(HL) |
Окончание таблицы
Команда |
Кол-во байт |
Описание операции |
ORI d |
2 |
A A V d |
|
1 |
~A r, Z=1 при A=r, |
CMP M |
1 |
~A M(HL) |
CPI d |
2 |
~A d CY=1 при A<1 |
|
1 |
CY7-6-5-4-3-2-1-0 |
|
1 |
CY7-6-5-4-3-2-1-0 |
|
1 |
CY7-6-5-4-3-2-1-0 |
RAR |
1 |
CY7-6-5-4-3-2-1-0 |
|
1 |
Инверсия A ( A) |
|
1 |
Инверсия CY(CY) |
STC |
1 |
CY 1 |
JMP addr |
3 |
PC addr |
J* addr |
3 |
PC addr |
CALL addr |
3 |
M(SP-1)PCh |
C* addr |
3 |
M(SP-2)PCl |
|
|
SP<-SP-2,PC<-addr |
RET |
1 |
PClM(SP), |
R* |
1 |
PChM(SP+1), |
|
|
SPSP+2, |
RST n |
1 |
Restart |
PCHL |
1 |
PC HL |
PUSH rp |
1 |
M(SP-1)rh, M(SP-2)rl,SPSP-2 |
PUSH PSW |
1 |
M(SP-1)A, M(SP-2)F,SPSP-2 |
POP rp |
1 |
rl¬M(SP), rh¬M(SP+1),SP¬SP+2 |
POP PSW |
1 |
rl¬M(SP), rh¬M(SP+1),SP¬SP+2 |
XTHL |
1 |
L¬M(SP),H¬M(SP+1) |
SPHL |
1 |
SP HL |
IN port |
2 |
A I/O (port) |
OUT PORT |
2 |
I/O (port) A |
EI |
1 |
INTE=1 – после след. команды – разрешение прерывания |
DI |
1 |
INTE=0 – после данной команды – запрет прерывания |
HLT |
1 |
Останов процессора |
NOP |
1 |
Пустая операция |
Примечания:
r, r1, r2 – регистры общего назначения и аккумулятор (B, C, D, E, H, L, A);
rp – регистровые пары и указатель стека (BC, DE, HL и SP);
h – старший байт, l – младший байт;
M – память, PC – программные счетчики;
d – 8-разрядные данные; d16 – 16-разрядные данные.
Знаком “” в таблице обозначены условия, которые могут принимать значения:
NZ (Z = 0); Z (Z = 1); NC (CY = 0); C (CY = 1); PO (P = 0); PE (P = 1); P(S = 0); M(S = 1), в зависимости от состояния регистра признаков F
S |
Z |
O |
AC |
O |
P |
1 |
CY |
~A – результат вычисляется, но в аккумулятор не записывается (состояние аккумулятора сохраняется).

CMP
r
RLC
RRC
RAL
CMA
CMC