2-667-1400429946-12 (Классификация системы команд по функциональному признаку (пересылки данных, арифметических и логических), страница 2
Описание файла
Документ из архива "Классификация системы команд по функциональному признаку (пересылки данных, арифметических и логических", который расположен в категории "". Всё это находится в предмете "специальные предметы" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "специальные предметы" в общих файлах.
Онлайн просмотр документа "2-667-1400429946-12"
Текст 2 страницы из документа "2-667-1400429946-12"
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW, структура которых приведена в таблице.
Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.
Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.
Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.
Команды логических операций микроконтроллера 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) |
Команды операций над битами микроконтроллера 8051.
Группа состоит из 12 команд, краткое описание которых приведено в таблице. Эти команды позволяют выполнять операции над отдельными битами: сброс, установку, инверсию бита, а также логические И (/\) и ИЛИ (\/). В качестве "логического" аккумулятора, участвующего во всех операциях с двумя операндами, выступает признак переноса С (разряд D7 PSW), в качестве операндов могут использоваться 128 бит из резидентной памяти данных и регистры специальных функций, допускающие адресацию отдельных бит.
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Сброс переноса | 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) |
Команды передачи управления микроконтроллера 8051.
Группа представлена командами безусловного и условного переходов, командами вызова подпрограмм и командами возврата из подпрограмм.