Система команд кр580ик80. Команды пересылки данных. Арифметические команды

Страницы работы

Содержание работы

Система команд кр580ик80.

I. КОМАНДЫ  ПЕРЕСЫЛКИ  ДАННЫХ.

1.  MOVr1,r(r1:= r2)-пересылка данных из регистра r2 в регистр r1(M-в память. М – ячейка ОЗУ, адрес которой находится в паре регистров Н,L.)

1 байт

A,A  7F

B,A  47

C,A  4F

D,A  57

E,A  5F

H,A  67

L,A  6F

M,A  77

A,B  78

B,B  40

C,B  48

D,B  50

E,B  58

H,B  60

L,B  68

M,B  70

A,C  79

B,C  41

C,C  49

D,C  51

E,C  59

H,C  61

L,C  69

M,C  71

A,D  7A

B,D  42

C,D  4A

D,D  52

E,D  5A

H,D  62

L,D  6A

M,D  72

A,E  7B

B,E   43

C,E  4B

D,E  53

E,E  5B

H,E  63

L,E  6B

M,E  73

A,H  7C

B,H  44

C,H  4C

D,H  54

E,H  5C

H,H  64

L,H  6C

M,H  74

A,L  7D

B,L  45

C,L  4D

D,L  55

E,L  5D

H,L  65

L,L  6D

M,L  75

A,M 7E

B,M  46

C,M 4E

D,M 5E

E,M 5E

H,M  66

L,M  6E

2.  MVI r1,байт2  (r1:= байт2)-пересылка второго байта команды в регистр r1 (Mв память. М – ячейка ОЗУ, адрес которой находится в паре регистров Н,L.)

2 байта

А

3e

C

0e

E

1e

L

2e

B

06

D

16

H

26

M

36

3.  LXIr1,байт2байт3  (r1:= байт2, r2:= байт3)-пересылка второго и третьего байтов команды в пару внутренних регистров (SP – в стек).

3байта.

B (r1-В, r2-С)

01

D(r1-D, r2-E)

11

Н(r1-H, r2-L)

21

SP

31

4.  LDA[адр.]  (А:=ОЗУ[адр.] )3a-.пересылка в аккумулятор содержимого ячейки ОЗУ, адрес которой указан во втором и третьем байте команды.

3байта.

5.  STA[адр.]  (ОЗУ[адр.] :=А32 - пересылка cодержимого аккумулятора в ячейку ОЗУ, адрес которой указан во втором и третьем байте команды

3байта.

6.  LHLD[адр.]  (L:=ОЗУ[адр.], H:=ОЗУ[адр.+1] )  2a- пересылка в регистр РгLсодержимого ячейки ОЗУ адрес которой указан во втором и третьем байте команды, а в РгH - со следующим адресом.

3байта.

7.  SHLD[адр.]  (ОЗУ[адр.] :=L, ОЗУ[адр.+1]:=H)  22 - пересылка cодержимого РгL в ячейку ОЗУ, адрес которой указан во втором и третьем байте команды, а содержимое РгН – в следующую ячейку.

3байта.

8.  LDAXr1  (А:=ОЗУ[адр.= [r1,r2]]) - пересылка cодержимого ячейки ОЗУ, адрес которой указан в паре регистров ВС (DE), в аккумулятор РгА.

1байт.

B (r1-В, r2-С)

D(r1-D, r2-E)

9.  STAXr(ОЗУ[адр.= [r1,r2]]:=А) - пересылка содержимого аккумулятора в ячейку, адрес которой указан в паре регистров ВС (DE)

1байт.

B (r1-В, r2-С)

02

D(r1-D, r2-E)

12

10. XCHG  ([H] « [D],[L] « [E])  EB - обмен данными между регистрами H, L и D, E.

1байт.

II. АРИФМЕТИЧЕСКИЕ КОМАНДЫ.

1.  Команды выполняющие арифметические операции над содержимым аккумулятора (РгА) и регистрами (r ) МП. (M –ячейкой ОЗУ, адрес которой находится в паре регистров Н,L.)

1байт.

Сложение

Вычитание
Увеличение
Уменьшение

ADD А:=А+r

A

B

C

D

E

H

L

M

87

80

81

82

83

84

85

86

SUB А:=А-r

A

B

C

D

E

H

L

M

97

90

91

92

93

94

95

96

INR r:=r+1

A

B

C

D

E

H

L

M

3C

04

OC

14

1C

24

2C

34

DCR r:=r-1

A

B

C

D

E

H

L

M

30

05

0D

15

10

25

2D

35

2.  Команды, выполняющие арифметические операции над парами регистров МП.(Spуказатель стека.)

1байт.

Содержимое пары

 регистров увеличивается на единицу

[R1,R2]+1

Содержимое пары

 регистров уменьшается на единицу

[R1,R2]-1

Содержимое пары регистров складывается с содер. H, L. Результат помещается в H, L.

INX

[B,C]+1

[D,E]+1

[H,L]+1

[Sp]+1

B

D

H

Sp

03

13

23

33

DCX

[B,C]-1

[D,E]-1

[H,L]-1

[Sp]-1

B

D

H

Sp

DAD

[H,L]+ [B,C]

B

09

[H,L]+ [D,E]

D

19

[H,L]+ [H,L]

H

29

[H,L]+ [Sp]

Sp

39

3.  Команды, выполняющие арифметические операции над содержимым аккумулятора и вторым байтом команды.

2байта

Сложение

Вычитание

ADI байт2 С6

SUI байт2 D6

III. ЛОГИЧЕСКИЕ  КОМАНДЫ.

1.  Команды, выполняющие логические операции над содержимым аккумулятора и внутренних регистров.

1байт

Логическое

умножение "И" А:=А Ù r

Логическое

 сложение "ИЛИ" А:=А Ú r

Исключающее "ИЛИ"

А:=А " r

Сравнение

А- r

А не изменяется

ANA

A

B

C

D

E

H

L

M

A7

A0

A1

A2

A3

A4

A5

A6

ORA

A

B

C

D

E

H

L

M

B7

B0

B1

B2

B3

B4

B5

B6

XRA

A

B

C

D

E

H

L

M

AF

A8

A9

AA

AB

AC

AD

AE

CMP

A

B

C

D

E

H

L

M

bf

b8

b9

ba

bb

bc

bd

be

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

2байта

Операция "И" А:=А Ù [байт2]

Операция "ИЛИ" А:=А Ú [байт2]

"Исключающее

ИЛИ"

 А:=А " [байт2]

"Сравнение"

А – [байт2

А не изменяется

ANI байт2 Е6

ORI байт2 F6

XRI байт2 EE

СPI байт FE

3.  Команды сдвига.

1байт

RLС  07  - циклический сдвиг А влево на одну позицию.

RRC  0F  - циклический сдвиг А вправо на одну позицию.

IV. КОМАНДЫ  ПЕРЕХОДА.

1. Переходы 3байта

2. Вызовы 3байта

JMP адрес C3– управление передается команде, адрес которой указан во втором и третьем байте команды перехода (стек не используется).

CALL адрес CD– управление передается команде, адрес которой указан во втором и третьем байте команды, с сохранением в стеке адреса очередной команды прерванной программы.

Передача управления по условию

JNZ адрес

JZ адрес

JNC адрес

JC адрес

JPO адрес

JPE адрес

JP адрес

JM адрес

PCHL адрес

C2

CA

D2

DA

E2

EA

F2

FA

E9

 -не ноль

-ноль

-нет переноса

-есть перенос

-нечет. р-тат

-чет. рез-тат

-плюс

-минус

- РС:=[H, L].

Передача управления по условию

CNZ адрес

CZ адрес

CNC адрес

CC адрес

CPO адрес

CPE адрес

CP адрес

CM адрес

С4

СС

Д4

D4

E4

EC

F4

FC

-не ноль

-ноль

-нет переноса

-есть перенос

-нечет. р-тат

-четн. рез-тат

-плюс

-минус


3. Возврат 1байт

4. Рестарт 1байт

RET C9 – безусловный возврат. Считывание в РС двух байт адреса из стека записанных в него при выполнении команды CALL.

RST

0

1

2

3

4

5

6

7

C7

CF

D7

DF

E7

EF

F7

FF

Адрес очередной команды запоминается в стеке, а управление передается команде, адрес которой в 8 раз больше числа, указанного в команде.

Возврат по условию.

RNZ

RZ

RNC

RC

RPO

RPE

RP

RM

C0

C8

D0

D8

E0

E8

F0

F8

-не ноль

-ноль

-нет переноса

-есть перенос

-нечет. р-тат

-чет. рез-тат

-плюс

-минус

V. КОМАНДЫ ВВОДА-ВЫВОДА  И  УПРАВЛЕНИЯ.

1. Операции со стеком 1байт

PUSH

BC

DE

HL

PSW

C5

D5

E5

F5

Запись в стек

содержимого пары регистров.

Запись в стек слова состояния процессора (А,F)

POP

BC

DE

HL

PSW

C1

D1

E1

F1

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

Запись в РгА и регистр флагов РгF содержимого стека.

SPHL

F9 -

пересылка содержимого пары H, L в указатель стека.

XTHL

E3 -

обмен вершины стека с HL: (L) « [(SP)],  (H) «  [(SP + 1)]

2.  Команды ввода-вывода

2байта

OUT байт адреса порта D3

Вывод данных из аккумулятора в порт №nn.

IN байт адреса порта     DB

Ввод данных из порта №nn в аккумулятор.

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

1байт

EI

FB -

разрешение прерываний

NOT

00 - 

нет операций (пауза)

DI

F3 -

запрещение прерываний

HLT

76 -

останов

Приняты следующие обозначения в поле операндов:

r, r1, r2  - внутренние регистры ( A, B, C, D, E, H, L ) или М (М - ячейка ОЗУ, адрес которой содержится в регистрах H,L);

Примечание: Операнды команд «Ассемблера» могут быть записаны в различных системах счисления, которые обозначаются:

b' - двоичная,

h' - шестнадцатиричная,

d' - десятичная );

Похожие материалы

Информация о работе