
- •Система командMcs-51 Система команд микроконтроллера семейства 8051. .Общая характеристика.
- •.Типы команд
- •.Типы операндов
- •Группы команд.
- •.Oбозначения, используемые при описании команд.
- •.Команды пересылки данных микроконтроллера 8051.
- •Команды арифметических операций 8051.
- •Регистр флагов (psw).
- •Команды логических операций микроконтроллера 8051.
- •Пример: rl a циклический сдвиг содержимого аккумулятора влево
- •.Команды операций над битами микроконтроллера 8051.
- •.Команды передачи управления микроконтроллера 8051.
- •Система прерываний микроконтроллера 8051.
- •3.6.1.Регистр масок прерывания (ie).
- •3.6.2.Регистр приоритетов прерываний (ip).
- •Выполнение подпрограммы прерывания.
- •Программные симуляторы.
- •Программные средства для микроконтроллеров семейства mcs-51.
- •.Дизассемблеры mcs-51.
- •..Компиляторы с языка ассемблер для микроконтроллеров семейства mcs-51.
- •.Список литературы.
Команды логических операций микроконтроллера 8051.
В этой группе 25 команд, их краткое описание приведено в таблице. Нетрудно видеть, что эти команды позволяют выполнять операции над байтами: логическое И (/\ ), логическое ИЛИ ( \/), исключающее ИЛИ ((+)), инверсию (NOT), сброс в нулевое значение и сдвиг. В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).
Таблица. Логические операции
Название команды |
Мнемокод |
КОП |
Т |
Б |
Ц |
Операция |
Логическое И аккумулятора и регистра |
ANL A, Rn |
01011rrr |
1 |
1 |
1 |
(A) (A) AND (Rn) |
Логическое И аккумулятора и прямоадресуемого байта |
ANL A, ad |
01010101 |
3 |
2 |
1 |
(A) (A) AND (ad) |
Логическое И аккумулятора и байта из РПД |
ANL A, @Ri |
0101011i |
1 |
1 |
1 |
(A) (A) AND ((Ri)) |
Логическое И аккумулятора и константы |
ANL A, #d |
01010100 |
2 |
2 |
1 |
(A) (A) AND #d |
Логическое И прямоадресуемого байта и аккумулятора |
ANL ad, A |
01010010 |
3 |
2 |
1 |
(ad) (ad) AND (A) |
Логическое И прямоадресуемого байта и константы |
ANL ad, #d |
01010011 |
7 |
3 |
2 |
(ad) (ad) AND #d |
Логическое ИЛИ аккумулятора и регистра |
ORL A, Rn |
01001rrr |
1 |
1 |
1 |
(A) (A) OR (Rn) |
Логическое ИЛИ аккумулятора и прямоадресуемого байта |
ORL A, ad |
01000101 |
3 |
2 |
1 |
(A) (A) OR (ad) |
Логическое ИЛИ аккумулятора и байта из РПД |
ORL A, @Ri |
0100011i |
1 |
1 |
1 |
(A) (A) OR ((Ri)) |
Логическое ИЛИ аккумулятора и константы |
ORL A, #d |
01000100 |
2 |
2 |
1 |
(A) (A) OR #d |
Логическое ИЛИ прямоадресуемого байта и аккумулятора |
ORL ad, A |
01000010 |
3 |
2 |
1 |
(ad) (ad) OR (A) |
Логическое ИЛИ прямоадресуемого байта и константы |
ORL ad, #d |
01000011 |
7 |
3 |
2 |
(ad) (ad) OR #d |
Исключающее ИЛИ аккумулятора и регистра |
XRL A, Rn |
01101rrr |
1 |
1 |
1 |
(A) (A) XOR (Rn) |
Исключающее ИЛИ аккумулятора и прямоадресуемого байта |
XRL A, ad |
01100101 |
3 |
2 |
1 |
(A) (A) XOR (ad) |
Исключающее ИЛИ аккумулятора и байта из РПД |
XRL A, @Ri |
0110011i |
1 |
1 |
1 |
(A) (A) XOR ((Ri)) |
Исключающее ИЛИ аккумулятора и константы |
XRL A, #d |
01100100 |
2 |
2 |
1 |
(A) (A) XOR #d |
Исключающее ИЛИ прямоадресуемого байта и аккумулятора |
XRL ad, A |
01100010 |
3 |
2 |
1 |
(ad) (ad) XOR (A) |
Исключающее ИЛИ прямоадресуемого байта и константы |
XRL ad, #d |
01100011 |
7 |
3 |
2 |
(ad) (ad) XOR #d |
Сброс аккумулятора |
CLR A |
11100100 |
1 |
1 |
1 |
(A) 0 |
Инверсия аккумулятора |
CPL A |
11110100 |
1 |
1 |
1 |
(A) NOT(A) |
Сдвиг аккумулятора влево циклический |
RL A |
00100011 |
1 |
1 |
1 |
(An+1) (An), n=0÷6, (A0) (A7) |
Сдвиг аккумулятора влево через перенос |
RLC A |
00110011 |
1 |
1 |
1 |
(An+1) (An), n=0÷6 (A0) (C), (C) (A7) |
Сдвиг аккумулятора вправо циклический |
RR A |
00000011 |
1 |
1 |
1 |
(An) (An+1), n=0÷6, (A7) (A0) |
Сдвиг аккумулятора вправо через перенос |
RRC A |
00010011 |
1 |
1 |
1 |
(An) (An+1), n=0÷6 (A7) (C), (C) (A0) |
Обмен местами тетрад в аккумуляторе |
SWAP A |
11000100 |
1 |
1 |
1 |
(A0…3) ↔ (A4…7) |