Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекций.doc
Скачиваний:
79
Добавлен:
21.05.2017
Размер:
3.74 Mб
Скачать

1.2.3. Команды логических операций

В данную группу входят 25 команды, краткое описание которых приведено в табл. 1.18. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах.

Таблица.1.18. Логические операции

Мнемоника команды

Код операции

Количество байтов в команде

Время выполнения команды, циклы

Выполняемые действия

ANL A, Rn

01011rrr

1

1

(A) (A) AND (Rn)

ANL A, ad

01010101

2

1

(A) (A) AND (ad)

ANL A, @Ri

0101011i

1

1

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

ANL A, #d

01010100

2

1

(A) (A) AND #d

ANL ad, A

01010010

2

1

(ad) (ad) AND (A)

ANL ad, #d

01010011

3

2

(ad) (ad) AND #d

ORL A, Rn

01001rrr

1

1

(A) (A) OR (Rn)

ORL A, ad

01000101

2

1

(A) (A) OR (ad)

ORL A, @Ri

0100011i

1

1

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

ORL A, #d

01000100

2

1

(A) (A) OR #d

ORL ad, A

01000010

2

1

(ad) (ad) OR (A)

ORL ad, #d

01000011

3

2

(ad) (ad) OR #d

XRL A, Rn

01101rrr

1

1

(A) (A) XOR (Rn)

XRL A, ad

01100101

2

1

(A) (A) XOR (ad)

XRL A, @Ri

0110011i

1

1

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

XRL A, #d

01100100

2

1

(A) (A) XOR #d

XRL ad, A

01100010

2

1

(ad) (ad) XOR (A)

XRL ad, #d

01100011

3

2

(ad) (ad) XOR #d

CLR A

11100100

1

1

(A) 0

CPL A

11110100

1

1

(A) NOT(A)

RL A

00100011

1

1

(An+1) (An), n=0÷6, (A0) (A7)

RLC A

00110011

1

1

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

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

RR A

00000011

1

1

(An) (An+1), n=0÷6, (A7) (A0)

RRC A

00010011

1

1

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

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

SWAP A

11000100

1

1

(A0…3) ↔ (A4…7)

1.2.4. Команды операций над битами

Группа состоит из 12 команд, краткое описание которых приведено в табл. 1.19.

Таблица.1.19. Операции с битами

Мнемоника команды

Код операции

Количество байтов в команде

Время выполнения команды, циклы

Выполняемые действия

CLR С

11000011

1

1

(C) 0

CLR bit

11000010

2

1

(b) 0

SETB С

11010011

1

1

(C) 1

SETB bit

11010010

2

1

(b) 1

CPL С

10110011

1

1

(C) NOT(C)

CPL bit

10110010

2

1

(b) NOT(b)

ANL С, bit

10000010

2

2

(C) (C) AND (b)

ANL С, /bit

10110000

2

2

(C) (C) AND (NOT(b))

ORL С, bit

01110010

2

2

(C) (C) OR (b)

ORL С, /bit

10100000

2

2

(C) (C) OR (NOT(b))

MOV С, bit

10100010

2

1

(C) (b)

MOV bit, С

10010010

2

2

(b) (C)

Эти команды позволяют выполнять операции над отдельными битами: сброс, установку, инверсию бита, а также логические И (/\) и ИЛИ (\/). В качестве "логического" аккумулятора, участвующего во всех операциях с двумя операндами, выступает признак переноса С (разряд D7 PSW), в качестве операндов могут использоваться 128 бит из резидентной памяти данных и регистры специальных функций, допускающие адресацию отдельных бит.