Набор команд МП КР 580

Набор команд МП КР 580 содержит 78 базовых команд, и в целом включает 244 различные их модификации. Все команды подразделяются на 5 функционально специализированных групп:

  • Команды передачи данных:
  • Команды арифметических операций;
  • Команды логических операций;
  • Команды передачи управления;
  • Команды стека, ввода вывода, управления.

Набор команд МП К580

Фор-мат

Время тактов

Код

Мнемокод

Наименование команды

Операция

Признаки

 

S

Z

AC

P

CY

1

2

3

4

5

6

7

8

9

10

11

 

 

 

 

Команды передачи данных

  

 

 

 

 

1

5

*

MOV R1,R2

Пересылка данных из регистра в регистр

(R1)←(R2)

1

7

*

MOV R,M

Пересылка данных из памяти в регистр

(R)←((H,L))

1

7

*

MOV M,R

Пересылка данных из регистра в память

((H,L))← (R)

2

7

*

MVI R,B2

Пересылка непосредственных данных в регистр

(R)←В2

2

10

*

MVI М,B2

Пересылка непосредственных данных в память

((H,L))←В2

3

10

*

LXI RR, B2B3

Непосредственная загрузка регистровой пары

(RRH) ←B3

(RRL) ←В2

3

13

3A

LDA  B2B3

Прямая загрузка

А-регистра

(А)←((В3,В2))

1

7

*

LDAX RR

Косвенная загрузка

А-регистра

(А)←((RR))

1

7

*

STAX RR

Косвенное запоминание

А-регистра

((RR))← (А)

3

16

LHID В2ВЗ

Прямая нагрузка H-пары регистров

(L) ← ((B2B3)) (H)←((B2B3)+1)

3

13

32

STA В2В3

Прямое запоминание содержимого А-регистра

((B2B3)) ←A

3

16

22

SHLDY В2В3

Прямое запоминание содержимого Н-пары регистров

((B2B3)) ← (L)

((B2B3+1))←(H)

1

4

XCHG

0бмен между Н- и D-парами регистров

(H)↔(D)

(L) ↔ (E)

 

 

 

 

Команды арифметических операций

  

 

 

 

 

1

4!

*

ADDR

Сложение содержимого А-регистра

(A)← (A) + (R)

+

+

+

+

+

1

7

86

ADUM

Сложение содержимых ячейки памяти и А-регистра

(A) ← (A) +

((H,L))

+

+

+

+

+

2

7

С6

ADI B2

Сложение непосредственных данных и содержимого А-регистра

(A) ← (A)-(B2)

+

+

+

+

+

1

4

*

ADC R

Сложение содержимых регистра и А-регистра с переносом

(А) ← (А) + (R) + (CY)

+

+

+

+

+

  

1

7

8E

ADC M

Сложение содержимых ячейки памяти и А-регистра с переносом

А) ← (А)+ ((H,L)) + (CY)

+

+

+

+

+

  

2

7

CE

ACI B2

Сложение непосредственных данных н А-регистра с переносом

А) – (А) + (B2) + (CY)

+

+

+

+

+

  

1

5

*

INR R

Инкрементирование содержимого регистра

(R)← (R)+1

+

+

+

+

  

1

10

34

INR M

Инкрементирование содержимого ячейки памяти

((H,L))← ((H,L))+l

+

+

+

+

  

1

5

*

INX RR

Инкрементирование содержимого регистровой пары

(RR) ← (RR) + 1

  

1

5

*

DCR R

Декрементирование содержимого регистра

(R) ← (R)-1

+

+

+

+

  

1

10

35

DCR M

Декрементирование содержимого ячейки памяти

((H,L)) ← ((H,L))-1

+

+

+

+

  

1

5

*

DCX RR

Декрементирование содержимого регистровой пары

(RR)← (RR)-1

  

1

4

*

SUB R

Вычитание содержимого регистра из содержимого А-регистра

(A) ← (A) – (R)

+

+

+

+

+

  

1

7

96

SUB M

Вычитание содержимого ячейки памяти из содержимого А-регистра

(A) ← (A)-((H,L))

+

+

+

+

+

  

2

7

D6

SUI B2

Вычитание непосредственных данных из содержимого А-регистра

(A) ← (A)-(B2)

+

+

+

+

+

  

1

4

*

SBB R

Вычитание содержимого регистра из содержимого А-регистра с заемом

(A)← (A)-(R)-(CY)

+

+

+

+

+

  

1

7

9E

SBB M

Вычитание ячейки памяти из содержимого А-регистра с заемом

(А)← (А) -((H,L))-(CY)

+

+

+

+

+

 

2

7

DE

SBI B2

Вычитание непосредственных данных ис содержимого А-регистра с заемом

(А)← (А)-(B2)-(CY)

+

+

+

+

+

 

I

10

*

DAD RR

Сложение содержимых регистровой пары и Н-пары регистров

(H,L)← (H,L) + (RR)

+

 

 

и

 

 

Команды логических oneрации

 

 

 

 

 

  

1

4

*

ANA R

Поразрядное И над содержимым регистра и А- регистра

(A) ← (A)۸ (R)

+

+

0

+

0

 

1

7

A6

ANA M

Поразрядное И над содержимым ячейки памяти и А-регистра

(A) ←  (A) ۸ ((H,L))

+

+

0

+

0

 

2

7

E6

ANI B2

Поразрядное И над непосредственными данными и содержимым А-регистра

(A) ← (A) ۸ (B2)

+

+

0

+

0

 

1

4

*

CMP R

‘Сравнение содержимых регистра и А-регистра

Если (А) -(RM)=0,то (CY) = 0, (Z)=l. Если (A) -(RM)>0, то (CY) = 0,(Z) = 0, Если (А) -(RM)<0, то (CY)=1,(Z)=0

+

+

+

+

+

 

1

7

BE

CMP M

Сравнение содержимых ячейки памяти и А-регистра

+

+

+

+

+

 

2

7

ОЕ

CPI B2

Сравнение непосредственных данных с содержимым А-регистра

+

+

+

+

+

 

1

4

2F

CMA

Дополнение содержимого А-регистра

(A) ← (A)

 

1

4

*

XRA R

Поразрядное Исключающее ИЛИ над содержимым регистра и А-регистра

(A) ←  (A) ۷ (R)

+

+

0

+

0

 

1

7

AE

XRA M

Поразрядное Исключающее ИЛИ над содержимым ячейки памяти и А-регистра

(A)← (A) ۷

((H,L))>

+

+

0

+

0

   

2

7

ЕЕ

XR1 B2

Поразрядное Исключающее ИЛИ над содержимым

А-регистра и непосредственными данными

(A)← (A) ۷ (B2)

+

+

0

+

0

   

1

4

*

ORA R

Поразрядное ИЛИ над содержимым регистра и А-регистра

(A)← (A) ۷ (R)

+

+

0

+

0

   

1

7

B6

ORA M

Поразрядное ИЛИ над содержимым ячейки памяти и А-регистра

(A)← (A) ۷ ((Н,L))

+

+

0

+

0

   

2

7

F6

ORI B2

Поразрядное ИЛИ

над непосредственными данными и содержимым А-регистра

(A) ← (A) ۷ (B2)

+

+

0

+

0

   

1

4

07

RLC

Циклический

сдвиг влево содержимого А~регистра

(Аi-1) ← (Аi) (Ao) ← (A7) (СY) ← (A7)

+

   

1

4

17

RAL

Циклический, сдвиг влево содержимого А-регистра через перенос

(Аi-1) ← (Аi) (Ao) ← (CY) (СY) ← (A7)

+

   

1

4

OF

RRC

Циклический сдвиг вправо содержимого

А-регистра

(Ai)← (Ai+1)

(A0) ←  (A7)

(CY)← (A0)

+

   

2

4

37

STC

Установка в 1 признака

переноса

(CY) ← 1

1

   

 

 

 

 

Команды передача управления

 

 

 

 

 

 

   

3

10

C3

JMP В2BЗ

Безусловный переход

(PC) ← (B2,B3)

    

3

10

DA

JC B2B3

Переход, если перенос

Если условие верно, то

(PC) ← (B2,B3)

иначе

(PC) ←(PC)+3

    

3

10

D2

JNC B2B3

Переход, если не перенос

    

3

10

CA

JZ B2B3

Переход, если нуль

 

    

3

10

C2

JNZ B2B3

Переход, если не нуль

 

 

 

 

 

    

3

10

F2

JP B2B3

Переход, если плюс

 

 

 

 

 

    

3

10

FA

JM B2B3

Переход, если минус

 

 

 

 

 

    

3

10

EA

JPE B2B3

Переход, если паритет четный

 

 

 

 

 

    

3

10

E2

JPO B2B3

Переход, если паритет не четный

 

 

 

 

 

    

3

17

CD

CALL B2B3

Безусловный вызов подпрограммы

((SP)-1)←(PCH),

((SP)-2)←(PCL),

(SP) ← (SP)-2

(PC) ←(B2B3)

 

 

 

 

 

    

3

11/17

DC

CC B2B3

Вызов подпрограммы, если перенос

Если условие верно, то

((SP)-1)←(PCH),

((SP)-2)←(PCL),

(SP) ← (SP)-2

(PC) ←(B2B3),

иначе

(PC) ←(PC)+3

 

 

 

 

 

    

3

11/17

D4

CNC B2B3

Вызов подпрограммы, если не перенос

 

 

 

 

 

    

3

11/17

CC

CZ B2B3

Вызов подпрограммы, если нуль

 

 

 

 

 

    

3

11/17

C4

CNZ B2B3

Вызов подпрограммы, если не нуль

 

 

 

 

 

    

3

11/17

F4

CP B2B3

Вызов подпрограммы, если плюс

 

 

 

 

 

    

3

11/17

FC

CM B2B3

Вызов подпрограммы, если минус

 

 

 

 

 

    

3

11/17

EC

CPE B2B3

Вызов подпрограммы, если паритет четный

 

 

 

 

 

    

3

11/17

E4

CPO B2B3

Вызов подпрограммы, если паритет не четный

 

 

 

 

 

    

1

10

C9

RET

Возврат из подпрограммы

(PCL) ←((SP)),

(PCH)←((SP)+1)

(SP) ←(SP)+2

 

 

 

 

 

    

1

5/11

D8

RC

Возврат из подпрограммы, если перенос

Если условие верно, то

(PCL) ← ((SP)), (РСН) ← ((SP)+1),

(SP) ←  (SP) + 2, иначе (PC) +- (PC) + 1

 

 

 

 

 

    

1

5/11

D0

RNC

Возврат из подпрограммы если не перенос

 

 

 

 

 

    

1

5/11

C8

RZ

Возврат, если 0

    

1

5/11

CO

RNZ

Возврат, если не 0

    

1

5/11

FO

RP

Возврат, если плюс

    

1

5/11

F8

RM

Возврат, если минус

    

1

5/11

E8

RPF

Возврат, если четно

    

1

5/11

E0

RPO

Возврат, если не четно

    

1

11

C7

RSTO

Рестарт по 0-му уровню

((SP)-1)← (PCH),

((SP)-2)← (PСL).

(SP) ←  (SP) – 2, (PC) ←  8*N

    

1

11

CF

RST1

Рестарт по 1-му уровню

    

1

11

D7

RST2

Рестарт по 2-му уровню

    

1

11

DF

RST3

Рестарт по 3-му уровню

    

1

11

E7

RST4

Рестарт по 4-му уровню

    

1

11

EA

RST5

Рестарт по 5-му уровню

    

1

11

F7

RST6

Рестарт по 6-му уровню

    

1

11

FF

RST7

Рестарт по 7-му уровню

    

1

5

E9

PCHL

Запись содержимого Н-нары регистров

(PCH) ← (H) (PCL) ← (L)

    

 

 

 

 

Команды стека, ввода-вывода и управления

 

 

 

 

 

 

    

1

11

*

PUSH RR

Запись в стек содержимого регистровой пары

((SP)-1← (RRH), ((SP)-2) ← (RRL), (SP)← (SP)-2

    

1

11

F5

PUSH PSW

Запись в стек слова состояния процессора

((SP)-1)← (A), (SP)← (SP)-2, ((SP)-2)← F

    

1

11

*

POPRR

Чтение содержимого регистровой пары из стека

(RRL)← ((SP)) (RRH)← -((SP)+1), (SP) ← (SP) + 2

    

1

11

Fl

POP PSW

Чтение из стека слова состояния процессора

(F) ← ((SP)), (A) ← ((SP)+1), (SP) ← (SP) + 2

    

1

18

E3

XTHL

Обмен между вершиной стека и Н-парой регистров

(L)← ((SP)),

(H)← ((SP)+1)

(SP) ← (H,L)

 

1

5

F9

SPHL

Запись содержимого Н пары регистров в указатель стека

(SP) ←  (H,L)

 

2

10

DB

IN B2

Ввод данных

(A) ←  ((B2))

 

2

10

D3

OUT B2

Вывод данных

((B2)) ← (A)

 

1

4

FB

E1

Разрешение прерывания

(INTE) ←  1

 

1

4

F3

DI

Запрет прерывания

(INTE) ←  0

 

1

7

76

HLT

Останов

(PC) ← (PC) +1

 

1

4

00

NOP

Пустая операция

(PC)←(РС) + 1

 

 

Коды команд MOV RM1,RM2

RMl

RM2

В

С

D

E

H

L

M

A

В

401

41

42

43

44

45

46

47

С

48

49 1

4A

4B

4C

4D

4E

4F

D

50

51

521

53

54

55

56

57

E

58

59

5A

5B1

5C

5D

5E

5F

H

60

61

62

63

641

65

66

67

L

68

69

6A

6B

6C

6D1

6E

6F

M

70

71

72

73

74

75

762

77

A

78

79

7A

7B

7C

7D

7E

7F1

 

Коды команд с регистрами

Команда

RM

В

С

D

E

H

L

M

A

ADDRM

80

81

82

83

84

85

86

87

ADCRM

88

89

8A

8B

8C

8D

8E

8F

SUBRM

90

91

92

93

94

95

96

97

SBBRM

98

99

9A

9B

9C

9D

9E

9F

ANARM

А0

Al

A2

A3

A4

A5

A6

A7

XRARM

A8

A9

AA

AB

AC

AD

AE

AF

ORARM

B0

B1

B2

B3

B4

B5

B6

B7

CMPRM

B8

B9

BA

BB

ВС

BD

BE

BF

INRRM

04

14

1C

24

2C

34

3C

DCRRM

05

0D

15

1D

25

2D

35

3D

MVIRM

06

0E

16

1E

26

2E

36

3E

 

Коды команд с регистровыми парами

Команда

RB

B

D

H

P

LXI RR

01

11

21

31

LDAX RR

OA

1A

STAXRR

02

12

INXRR

03

13

23

33

DCXRR

0B

1B

2B

3B

DADRR

09

19

29

39

PUSH RR

C5

D5

E5

POP

C1

D1

E1