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

В группе 25 команд, их краткое описание приведено в табл. 6. Данные команды позволяют выполнить операции над операндами: логическое И (/\ ), логическое ИЛИ ( \/), исключающее ИЛИ ((+)), инверсию (NOT), сброс в нулевое значение и сдвиг.

Таблица 6.

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

Мнемокод

КОП

Т

Б

Ц

Операция

Логическое И аккумулятора и

регистра

ANL A, Rn

58 – 5F

1

1

1

(A)  (A) AND (Rn)

Логическое И аккумулятора и

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

ANL A, ad

55

3

2

1

(A)  (A) AND (ad)

Логическое И аккумулятора и

байта из РПД

ANL A, @Ri

56 – 57

1

1

1

(A)  (A) AND ((Ri))

Логическое И аккумулятора и

константы

ANL A, #d

54

2

2

1

(A)  (A) AND #d

Логическое И прямоадресуемого байта и аккумулятора

ANL ad, A

52

3

2

1

(ad)  (ad) AND (A)

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

ANL ad, #d

53

7

3

2

(ad)  (ad) AND #d

Логическое ИЛИ аккумулятора и регистра

ORL A, Rn

48 – 4F

1

1

1

(A)  (A) OR (Rn)

Логическое ИЛИ аккумулятора и прямо-адресуемого байта

ORL A, ad

45

3

2

1

(A)  (A) OR (ad)

Логическое ИЛИ аккумулятора и байта из РПД

ORL A, @Ri

46 – 47

1

1

1

(A)  (A) OR ((Ri))

Логическое ИЛИ аккумулятора и константы

ORL A, #d

44

2

2

1

(A)  (A) OR #d

Логическое ИЛИ прямоадресу-

емого байта и аккумулятора

ORL ad, A

42

3

2

1

(ad)  (ad) OR (A)

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

ORL ad, #d

43

7

3

2

(ad)  (ad) OR #d

Исключающее ИЛИ аккумулятора и регистра

XRL A, Rn

68 – 6F

1

1

1

(A)  (A) XOR (Rn)

Исключающее ИЛИ аккумулятора и прямоадресуемого байта

XRL A, ad

65

3

2

1

(A)  (A) XOR (ad)

Исключающее ИЛИ аккумулятора и байта из РПД

XRL A, @Ri

66 – 67

1

1

1

(A)  (A) XOR ((Ri))

Исключающее ИЛИ аккумулятора и константы

XRL A, #d

64

2

2

1

(A)  (A) XOR #d

Исключающее ИЛИ прямо-адресуемого байта и аккумулятора

XRL ad, A

62

3

2

1

(ad)  (ad) XOR (A)

Исключающее ИЛИ прямо-адресуемого байта и константы

XRL ad, #d

63

7

3

2

(ad)  (ad) XOR #d

Сброс аккумулятора

CLR A

E4

1

1

1

(A)  0

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

CPL A

F4

1

1

1

(A)  NOT(A)

Сдвиг аккумулятора влево

циклический

RL A

23

1

1

1

(An+1)  (An), n=0÷6,

(A0)  (A7)

Сдвиг аккумулятора влево через перенос

RLC A

33

1

1

1

(An+1)  (An), n=0÷6

(A0)  (C), (C) (A7)

Сдвиг аккумулятора вправо

циклический

RR A

03

1

1

1

(An)  (An+1), n=0÷6,

(A7)  (A0)

Сдвиг аккумулятора вправо через перенос

RRC A

13

1

1

1

(An)  (An+1), n=0÷6

(A7)  (C), (C) (A0)

Обмен местами тетрад в

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

SWAP A

C4

1

1

1

(A0…3) ↔ (A4…7)

Команда ANL (AND Logic – логическое И ) выполняет операцию логического умножения двух операндов, один из которых находится в аккумуляторе, второй представлен различными вариантами адресации.

Команда ORL (OR Logic – логическое ИЛИ) выполняет операцию логического сложения двух операндов, один из которых находится в аккумуляторе, второй представлен различными вариантами адресации.

Команда XRLxclusive OR Logic – исключительное ИЛИ) выполняет операцию логического сложения по модулю два (исключающее ИЛИ) двух операндов, один из которых находится в аккумуляторе, второй представлен различными вариантами адресации.

Операции ANL, ORL, XRL выполняются побитно, т.е. над двумя битами с одинаковыми индексами двух операндов, например:

Результат этих операций остается в аккумуляторе либо по прямому адресу первого операнда.

Команда RR (Rotate to Right - сдвиг вправо) - осуществляет сдвиг содержимого аккумулятора на один разряд вправо, при этом сдвигаемый младший бит D0 занимает место старшего бита D7 (рис.6,а).

Команда RL (Rotate to Left - сдвиг влево) - осуществляет сдвиг содержимого аккумулятора на один разряд влево, при этом сдвигаемый старший бит D7 занимает место младшего бита D0 (рис.6,б).

Рис.6. Сдвиг содержимого аккумулятора вправо (а) и влево (б)

Команда RRC (Rotate to Right through Carry – сдвиг вправо через перенос) - осуществляет сдвиг содержимого аккумулятора на один разряд вправо через перенос, при этом сдвигаемый младший бит D0 занимает место бита переноса СY, а бит переноса СY занимает место старшего бита D7 (рис.7,а).

Команда RLC (Rotate to Left through Carry – сдвиг влево через перенос) - осуществляет сдвиг содержимого аккумулятора на один разряд влево через перенос, при этом сдвигаемый старший бит D7 занимает место бита переноса СY, а бит переноса СY занимает место младшего бита D0 (рис.7,б).

Рис.7. Сдвиг содержимого аккумулятора через перенос

вправо (а) и влево (б)

Команда CLR (Clearing - очистка) – очистка аккумулятора (сброс битов аккумулятора в ноль).

Команда CPL (Complement - дополнение) - выполняет инверсию битов аккумулятора (дополнение к предыдущему значению).

Команда SWAP (SWAP - обменивать) - меняет местами старшую и младшую тетрады байта в аккумуляторе, эта команда может интерпретироваться как циклический сдвиг байта на четыре разряда.