Лабораторный практикум к лабораторным работам по курсу «Автоматизация электрических сетей», страница 12

DEC

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

HEX

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Пример перехода от десятичного кода к шестнадцатеричному коду показан на рис. 5.1. Буква h означает, что число записано в шестнадцатеричном коде.

BIN        1101  0101

DEC         13      5

HEX         D      5

Ответ: D5h

Рис. 5.1

Список наиболее распространённых команд микропроцессора Intel 8080 и соответствующих им шестнадцатеричных кодов приведен в табл. 5.2.

Большинство команд микропроцессора можно разделить на команды пересылки данных, арифметические команды, логические команды, команды сравнения, команды переходов. Большая часть команд работает с регистрами.

Регистр – это внутренняя ячейка памяти (ОЗУ) микропроцессора. У микропроцессора i8080 имеются регистры общего назначения: A, B, C, D, E, H, L; и регистры специального назначения, из которых нас интересует только регистр флагов. Регистры общего назначения восьмиразрядные. Однако они могут образовывать 16-ти разрядные регистровые пары: BC, DE и HL. Основным регистром, через который производится большинство операций, является регистр А. Его также называют аккумулятором. Регистровые пары могут использоваться для косвенной адресации. Например, команда MOV A,M означает: переместить в регистр А данные, адрес которых находится в регистровой паре HL.

Таблица 5.2

HEX

Команда

Операция

Комментарий

04

INR B

(B)¬ (B)+1

Инкремент регистра B

05

DCR B

(B)¬ (B)-1

Декремент регистра B

2F

CMA

(A)¬()

Инверсия регистра A

32

STA Adr

((Adr))¬(A)

Запись в ОЗУ

3A

LDA Adr

(A)¬((Adr))

Чтение из ОЗУ

3C

INR A

(A)¬ (A)+1

Инкремент регистра A

3D

DCR A

(A)¬ (A)-1

Декремент регистра A

3E

MVI A,D8

(A)¬D8

Запись регистра A 8-ми разрядным числом

47

MOV B,A

(B)¬(A)

Перемещение данных

78

MOV A,B

(A)¬(B)

Перемещение данных

79

MOV A,C

(A)¬(C)

Перемещение данных

4F

MOV C,A

(C)¬(A)

Перемещение данных

80

ADD B

(A)¬ (A) +(B)

Сложение данных

90

SUB B

(A)¬ (A) -(B)

Вычитание данных

A0

ANA B

(A)¬ (A) AND (B)

Конъюнкция данных

B0

ORA B

(A)¬ (A) OR (B)

Дизъюнкция данных

B8

CMP B

CY¬1, если (B)>(A)

Сравнение данных

C2

JNZ Adr

Переход на Adr, если Z=0

Команда условного перехода

C3

JMP Adr

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

Команда безусловного перехода

C6

ADI D8

(A)¬ (A) + D8

Сложение с 8-ми разрядным числом

C9

RET

Выход из подпрограммы

CA

JZ Adr

Переход на Adr, если Z=1

Команда условного перехода

CD

CALL Adr

Вызов подпрограммы по адресу Adr

E6

ANI D8

(A)¬ (A) AND D8

Конъюнкция с 8-ми разрядным числом

F6

ORI D8

(A)¬ (A) OR D8

Дизъюнкция с 8-ми разрядным числом

D2

JNC Adr

Переход на Adr, если CY=0

Команда условного перехода

DA

JC Adr

Переход на Adr, если CY=1

Команда условного перехода

DE

SBI D8

(A)¬ (A) - D8

Вычитание 8-ми разрядного числа

примечание: одинарные скобки означают – «данные в регистре»; двойные скобки означают – «данные, находящиеся по указанному адресу»