Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания к учебной практике.docx
Скачиваний:
13
Добавлен:
28.09.2019
Размер:
2.44 Mб
Скачать
    1. Команды арифметических операций

В данную группу входят 24 команды, краткое описание которых приведено в табл. 5. Из нее следует, что микро-ЭВМ выполняет достаточно широкий набор команд для организации обработки целочисленных данных, включая команды умножения и деления.

Таблица 5

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

Мнемокод

КОП

Т

Б

Ц

Операция

Сложение аккумулятора с регистром (n=0÷7)

ADD A, Rn

28 – 2F

1

1

1

(A)  (A) + (Rn)

Сложение аккумулятора с прямо-

адресуемым байтом

ADD A, ad

25

3

2

1

(A)  (A) + (ad)

Сложение аккумулятора с

байтом из РПД (i = 0,1)

ADD A, @Ri

26 –27

1

1

1

(A)  (A) + ((Ri))

Сложение аккумулятора с

константой

ADD A, #d

24

2

2

1

(A)  (A) + #d

Сложение аккумулятора с

регистром и переносом

ADDC A, Rn

38 – 3F

1

1

1

(A)  (A) + (Rn)

+ (C)

Сложение аккумулятора с прямо-адресуемым байтом и переносом

ADDC A, ad

35

3

2

1

(A)  (A) + (ad)

+ (C)

Сложение аккумулятора с байтом

из РПД и переносом

ADDC A, @Ri

36 – 37

1

1

1

(A)  (A) + ((Ri)) + (C)

Сложение аккумулятора с

константой и переносом

ADDC A, #d

34

2

2

1

(A)  (A) + # d

+ (C)

Вычитание из аккумулятора

регистра и займа

SUBB A, Rn

98 – 9F

1

1

1

(A)  (A) - (C)

- (Rn)

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

SUBB A, ad

95

3

2

1

(A)  (A) - (C)

- ((ad))

Вычитание из аккумулятора байта РПД и займа

SUBB А, @Ri

96 –97

1

1

1

(A)  (A) - (C)

- ((Ri))

Вычитание из аккумулятора

константы и займа

SUBB А,#d

94

2

2

1

(A)  (A) - (C)

- #d

Инкремент аккумулятора

INC А

04

1

1

1

(A)  (A) + 1

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

INC Rn

08 – 0F

1

1

1

(Rn)  (Rn) + 1

Инкремент прямоадресуемого байта

INC ad

05

3

2

1

(ad)  (ad) + 1

Инкремент байта в РПД

INC @Ri

06- 07

1

1

1

((Ri))  ((Ri)) + 1

Инкремент указателя данных

INC DPTR

A3

1

1

2

(DPTR )  (DPTR) + 1

Декремент аккумулятора

DEC A

14

1

1

1

(A)  (A) – 1

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

DEC Rn

18 – 1F

1

1

1

(Rn)  (Rn) – 1

Декремент прямоадресуемого байта

DEC ad

15

3

2

1

(ad)  (ad) – 1

Декремент байта в РПД

DEC @Ri

16 – 17

1

1

1

((Ri))  ((Ri)) - 1

Умножение аккумулятора на

регистр В

MUL AB

A4

1

1

4

(B)(A)  (A)×(В)

Деление аккумулятора на регистр В

DIV AB

84

1

1

4

(B).(A)  (A)/(В)

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

аккумулятора

DA A

D4

1

1

1

Если (А0…3)>9 или ((AC)=1),то(А0…3) (А0…З) + 6, затем если (А4…7)

>9 или ((С)=1),

то (А4…7)  (А4…7)+ 6

Команда ADD (Addition - добавление) выполняет сложение двух операндов (один из операндов находится в аккумуляторе, а второй адресуется разными способами) без учета бита переноса С в предыдущей операции, команда ADDC (Addition with Carry) – с учетом бита переноса С.

Команда SUBB (Substraction with Borrow – вычитание c займом) осуществляет вычитание из операнда в аккумуляторе второго операнда с разными способами адресации, с учетом займа.

Результат операций сложения и вычитания остается в аккумуляторе.

Команда INC (Increment – увеличение на единицу) осуществляет операцию инкремента операнда, представленного различными вариантами адресации.

Команда DEC (Decrement – уменьшение на единицу) осуществляет операцию декремента операнда, представленного различными вариантами адресации.

Операции INC и DEC применимы к аккумулятору, прямоадресуемому регистру, прямо- или косвенно адресуемой ячейке памяти. Кроме того, операция INC применима к содержимому 16- разрядного регистра указателя DPTR.

Команда MUL (Multiply - умножение) осуществляет операцию умножения двух операндов, один из которых находится в аккумуляторе А, а второй - в регистре В. Результат перемножения представляет двухбайтовый операнд, старший байт которого находится в регистре В, младший – в регистре А: (B)(A) (A)×(В).

Команда DIV (Divide - деление) осуществляет операцию умножения двух операндов, один из которых находится в аккумуляторе А, а второй в регистре В. Результат перемножения представляет двухбайтовый операнд, старший байт которого находится в регистре А, младший – в регистре В: (B)(A) (A)/(В).

Команда DA (Decimal correction of the Accumulator) – десятичная коррекция аккумулятора осуществляет десятичную коррекцию операнда в аккумуляторе, при преобразовании двоичных данных в двоично-десятичные.