Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мікропроцесорна техніка (Опис машинних команд).doc
Скачиваний:
8
Добавлен:
10.12.2018
Размер:
515 Кб
Скачать
☆

1.4. Команди операцій над бітовими змінними мікроконтролера mcs51.

Група складається з 12 команд, короткий опис яких приведений в табл.5. Ці команди дозволяють виконувати операції над окремими бітами: скидання, встановлення, інверсію біта, а також логічні І (/\) та АБО (\/). В якості "логічного" аккумулятора, що бере участь у всіх операціях з двома операндами, виступає прапорець переносу С (розряд D7 PSW). В якості операндів можуть використовуватися 128 біт з бітової пам'яті даних та регістри спеціальних функцій, що допускають адресацію окремих біт. У таблиці також вказані тип команди (Т) відповідно до табл.1, її довжина в байтах (Б) і час виконання в машинних циклах (Ц).

Табл. 5. Операції з бітовими змінними

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

Мнемокод

КОП

Т

Б

Ц

Операція

Скидання прапорця переносу

CLR С

11000011

1

1

1

(C)  0

Скидання біту

CLR bit

11000010

4

2

1

(b)  0

Встановлення прапорця переносу

SETB С

11010011

1

1

1

(C)  1

Встановлення біту

SETB bit

11010010

4

2

1

(b)  1

Інверсія прапорця переносу

CPL С

10110011

1

1

1

(C)  NOT(C)

Інверсія біта

CPL bit

10110010

4

2

1

(b)  NOT(b)

Логічне І біта та прапорця переносу

ANL С, bit

10000010

4

2

2

(C)  (C) AND (b)

Логічне І інверсії біта та прапорця переносу

ANL С, /bit

10110000

4

2

2

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

Логічне АБО біта та прапорця переносу

ORL С, bit

01110010

4

2

2

(C)  (C) OR (b)

Логічне АБО інверсії біта та прапорця переносу

ORL С, /bit

10100000

4

2

2

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

Пересилка біта в прапорець переносу

MOV С, bit

10100010

4

2

1

(C)  (b)

Пересилка прапорця переносу в біт

MOV bit, С

10010010

4

2

2

(b)  (C)

78) CLR С

Команда виконує скидання (онулення) прапорця переносу С.

(С) = 1

CLR C

(C)=0.

79) CLR bit

Команда виконує онулення бітової змінної bit.

(P1) AFH 10101111B

CLR P1.3

(P1) A7H 10100111B.

80) SETB С

Команда виконує встановлення прапорця переносу С.

(С) = 0

SETB C

(C)=1.

81) SETB bit

Команда виконує встановлення бітової змінної bit.

(P1) 82H 10000010B

SETB P1.5

(P1) A2H 10100010B.

82) CPL С

Команда виконує інверсію прапорця переносу С.

(С) = 1

CPL C

(C)=0.

83) CPL bit

Команда виконує інверсію бітової змінної bit.

(F) = 0

CPL F

(F)=1.

84) ANL С, bit

Команда виконує логічне множення (“І”) над прапорцем переносу та бітовою змінною bit. Якщо бітова змінна bit рівна 0, то відбувається онулення прапорця переносу С, в іншому випадку прапорець переносу не змінює свого біжучого значення.

(C)=1, (P1.4)=0

ANL C, P1.4

(C)=0, (P1.4)=0.

85) ANL С, /bit

Команда виконує логічне множення (“І”) над прапорцем переносу та інверсним значенням бітової змінною bit. Якщо інверсія бітової змінної bit рівна 0, то відбувається онулення прапорця переносу С, в іншому випадку прапорець переносу не змінює свого біжучого значення. Значення інверсної змінної bit не змінюється.

(C)=1, (P1.2)=1

ANL C, /P1.2

(C)=0, (P1.2)=1.

86) ORL С, bit

Команда виконує логічне додавання (“АБО”) над прапорцем переносу та бітовою змінною bit. Якщо бітова змінна bit рівна 1, то відбувається встановлення прапорця переносу С, в іншому випадку прапорець переносу не змінює свого біжучого значення.

(C)=0, (P1.7)=1

ORL C, P1.7

(C)=1, (P1.7)=1.

87) ORL С, /bit

Команда виконує логічне додавання (“АБО”) над прапорцем переносу та інверсним значенням бітової змінною bit. Якщо інверсія бітової змінної bit рівна 1, то відбувається встановлення прапорця переносу С, в іншому випадку прапорець переносу не змінює свого біжучого значення. Значення інверсної змінної bit не змінюється.

(C)=0, (P1.7)=0

ANL C, /P1.7

(C)=1, (P1.7)=0.

88) MOV С, bit

Команда пересилає вмістиме бітової змінної bit в прапорець переносу С. Значення інших прапорців не змінюється.

(C)=0, (P3.0)=1

MOV C, P3.0

(C)=1, (P3.0)=1.

89) MOV С, /bit

Команда пересилає інвертоване значення вмістимого бітової змінної bit в прапорець переносу С. Значення бітової змінної bit та інших прапорців не змінюється.

(C)=0, (P3.2)=0

MOV C, P3.2

(C)=1, (P3.0)=0.