Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Лабораторные работы №1-4.DOC
Скачиваний:
30
Добавлен:
02.05.2014
Размер:
3.19 Mб
Скачать

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

Первая группа команд в таблице 2.1 обеспечивает выполнение операций размещения, обмена, загрузки и перемещения данных. Число команд - 84 . Наибольшее число команд пересылки типа MOV Ri,Rj. Команды однобайтные, предназначены для пересылки операндов из одного регистра в другой или обмена информацией между РОН и ОЗУ .

Например, команда MOV A,B имеет код 78 (16) ( дополнение к таблице 2.1) адресация - регистровая, выполняет операцию передачи содержимого регистра B в регистр A (AB).

Команды MOV M,Rj осуществляют передачу содержимого одного из РОН в ячейку памяти с адресом ,указанным в регистровой паре H, L . Поэтому перед выполнением данных команд необходимо предварительно поместить младший байт адреса ячейки М в регистр L, старший байт адреса в регистр H. Такая операция выполняется командой LHLD аа, где в ячейке с адресом аа располагают будущее содержимое L, а в ячейке аа+1 содержимое H. Например, после загрузки этой командой регистра Н содержимым 82(16), L - 40(16) выполняется команда MOV M, A: код команды 77(16) загружается в РК и из аккумулятора информация передается в ячейку с адресом 8240(16).

Команды MOV Ri,M осуществляют передачу содержимого ячейки памяти М с адресом , указанным в регистровой паре H,L, в один из РОН .

Рассмотрим назначение других команд :

MVI Ri,V, осуществляют непосредственную передачу операнда, находящегося во втором байте команды , в РОН или ячейку памяти .

MVI B,V код - 06(16), загружает в регистр В второй байт команды, равный V ;

MVI M,V код - 36(16), осуществляет непосредственную передачу V в ячейку с адресом , указанным в регистровой паре H, L .

Таблица 2.1

Мнемо-

ника

ПБ

Байт

ОПИСАНИЕ

КОМАНДЫ

RG F

1

2

3

4

Z

S

P

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

MOV Ri,Rj

T

1

RiRj

-

-

-

-

-

MVI Ri,V

T

2

RiV

-

-

-

-

-

LXI P,VV

T

3

RPVV

-

-

-

-

-

LDA aa

3A

3

AM(aa)

-

-

-

-

-

STA aa

32

3

M(aa)A

-

-

-

-

-

LHLD aa

2A

3

LM(aa), HM(aa+1)

-

-

-

-

-

SHLD aa

22

3

M(aa)L, M(aa+1)H

-

-

-

-

-

LDAX B

0A

1

A M(B,C)

-

-

-

-

-

LDAX D

1A

1

A  M(D,E)

-

-

-

-

-

STAX B

02

1

M(B,C) A

-

-

-

-

-

STAX D

12

1

M(D,E) A

-

-

-

-

-

XCHG

EB

1

HD,L E

-

-

-

-

-

2. Арифметические команды

ADD Ri

T

1

A(A+Ri)

+

+

+

+

+

ADI V

C6

2

A(A+V)

+

+

+

+

+

ADC Ri

T

1

A(A+Ri+СУ)

+

+

+

+

+

ACI V

CE

2

A(A+V+СУ)

+

+

+

+

+

DAD RP

T

1

HL(HL+RP)

-

-

-

+

-

SUB Ri

T

1

A(A-Ri)

+

+

+

+

+

SUI V

D6

2

A(A-V)

+

+

+

+

+

SBB Ri

T

1

A(A-Ri-СУ)

+

+

+

+

+

SBI V

DE

1

A(A-V-СУ)

+

+

+

+

+

INR Ri

T

1

RiRi+1

+

+

+

-

+

INX RP

T

1

RPRP+1

-

-

-

-

-

DCR Ri

T

1

RiRi-1

+

+

+

-

+

DCX RP

T

1

RPRP-1

-

-

-

-

-

DAA

27

1

Десятичная коррекция

+

+

+

+

+

3. Логические команды

ANA Ri

T

1

A(A & Ri)

+

+

+

0

+

ANI V

E6

2

A(A & V)

+

+

+

0

+

XRA Ri

T

1

A(A Ri)

+

+

+

0

0

XRI V

EE

2

A(A V)

+

+

+

0

0

ORA Ri

T

1

A(A V Ri)

+

+

+

0

0

ORI V

F6

2

A(A V V)

+

+

+

0

0

CMP Ri

T

1

AA(Z=1,если A=Ri ;

СУ=1,если A<Ri)

+

+

+

+

+

CPI V

FE

2

AA(Z=1,если A=V;

СУ=1,если A<Ri )

+

+

+

+

+

RLC

07

1

L1(A.b7), СУb7

-

-

-

+

-

RAL

17

1

L1(A,СУ),СУb7

-

-

-

+

-

RAR

1F

1

R1(СУ,A),СУb0

-

-

-

+

-

RRC

0F

1

R1(b0.A),СУb0

-

-

-

+

-

STC

37

1

СУ 1

-

-

-

1

-

CMC

3F

1

СУ

-

-

-

+

-

CMA

2F

1

А

-

-

-

-

-

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

JMP aa

C3

3

PCaa безусловный

переход

-

-

-

-

-

JNZ aa

C2

3

PCaa при Z=0, иначе PCPC+1

-

-

-

-

-

JZ aa

CA

3

Pcaa при Z=1, иначе PCPC+1

-

-

-

-

-

JNC aa

D2

3

PCaa при СУ=0, иначе PCPC+1

-

-

-

-

-

JC aa

DA

3

PCaa при СУ=1, иначе PCPC+1

-

-

-

-

-

JPO aa

E2

3

PCaa при P=0, иначе PCPC+1

-

-

-

-

-

JPE aa

EA

3

PCaa при P=1, иначе PCPC+1

-

-

-

-

-

JP aa

F2

3

PCaa при S=0, иначе PCPC+1

-

-

-

-

-

JM aa

FA

3

PCaa при S=1, иначе PCPC+1

-

-

-

-

-

PCHL

E9

1

PC (HL)

-

-

-

-

-

CALL aa

CD

3

PCaa,M(SP-1) PCH, M(SP-2)PCL,SP SP-2

-

-

-

-

-

RET

C9

1

PCH  M(SP+1),

PCL M(SP), SP SP+2

-

-

-

-

-

RST i*8

T

1

PC(8*i)(10), M(SP-1)PCH, M(SP-2) PCL, SP SP-2

-

-

-

-

-

5.Команды ввода и вывода, обращения к стеку и управления

IN ap

DB

2

A[ap]

-

-

-

-

-

OUT ap

D3

2

[ap] A

-

-

-

-

-

PUSH RP

T

1

[ M(SP-1), M(SP-2) ]RP,

SPSP-2

-

-

-

-

-

POP RP

T

1

RP[ M(SP+1), M(SP)],

SP SP+2

-

-

-

-

-

XTHL

E3

1

HM(SP+1), LM(SP)

-

-

-

-

-

SPHL

F9

1

SP(H,L)

-

-

-

-

-

EI

FB

1

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

-

-

-

-

-

DI

F3

1

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

-

-

-

-

-

NOP

00

1

Пустая команда

-

-

-

-

-

HLT

76

1

Останов

-

-

-

-

-

Дополнение к табл. 2.1.

Ri

Rj

A

B

C

D

E

H

L

M

MOV Rj, Ri

A

7F

78

79

7A

7B

7C

7D

7E

B

47

40

41

42

43

44

45

46

C

4F

48

49

4A

4B

4C

4D

4E

D

57

50

51

52

53

54

55

56

E

5F

58

59

5A

5B

5C

5D

5E

H

67

60

61

62

63

64

65

66

L

6F

68

69

6A

6B

6C

6D

6E

M

77

70

71

72

73

74

75

------

ADD Ri

87

80

81

82

83

84

85

86

ADC Ri

8F

88

89

8A

8B

8C

8D

8E

ANA Ri

A7

A0

A1

A2

A3

A4

A5

A6

CMP Ri

BF

B8

B9

BA

BB

BC

BD

BE

DCR Ri

3D

05

0D

15

1D

25

2D

35

INR Ri

3C

04

0C

14

1C

24

2C

34

MVI Ri,V

3E

06

0E

16

1E

26

2E

36

ORA Ri

B7

B0

B1

B2

B3

B4

B5

B6

SUB Ri

97

90

91

92

93

94

95

96

SBB Ri

9F

98

99

9A

9B

9C

9D

9E

XRA Ri

AF

A8

A9

AA

AB

AC

AD

AE

DAD B

09

INX B

03

POP B

C1

DAD D

19

INX D

13

POPD

D1

DAD H

29

INX H

23

POPH

E1

DAD SP

39

INX SP

33

POP PSW

F1

DCX B

0B

LXI B,VV

01

PUSH B

C5

DCX D

1B

LXI D,VV

11

PUSH D

D5

DCX H

2B

LXI H,VV

21

PUSH H

E5

DCX SP

3B

LXI SP,VV

31

PUSH PSW

F5

i

0

1

2

3

4

5

6

7

RST i*8

C7

CF

D7

DF

E7

EF

F7

FF

Команда LDA аа осуществляет прямую загрузку аккумулятора содержимым ячейки памяти с адресом аа , причем второй байт команды - младшие разряды адреса , третий байт - старшие .

STA аа осуществляет передачу содержимого аккумулятора в ячейку с адресом аа , т.е. М(байт3,байт2) А.

LHLD аа загружает регистровую пару H,L содержимым ячейки памяти с адресом аа, аа+1, т.е. Н М(аа+1), L М(аа) .

LDAX B, LDAX D загружают аккумулятор содержимым ячейки по адресу, находящемуся в регистровой паре B,C; D,E соответственно .

STAX B,STAÕ D передают содержимое аккумулятора в ячейку памяти по адресу, находящемуся в регистровой паре B,C;D,E соответственно.

XCHG осуществляет обмен данными между регистрами H и D , L и E .

SHLD аа загружает две соседние ячейки памяти содержимым регистров H,L : М(байт3,байт2=аа(16)) L , М(аа+1) H.