Архитектура микроконтроллера Intel 8051. Горюнов А.Г - 66 стр.

UptoLike

66
8.4 Арифметические операции
Данную группу образуют 24 команды (см. приложение 2),
выполняющие операции сложения, десятичной коррекции,
инкремента/декремента байтов. Имеются команды вычитания,
умножения и деления байтов.
Команды ADD и ADDC допускают сложение аккумулятора с
большим числом операндов. Аналогично командам ADDC существуют
четыре команды SUBB, что позволяет достаточно просто производить
вычитание байтов и многобайтных двоичных чисел.
В микроконтроллере реализуется расширенный список команд
инкремента/декремента байтов, команда инкремента 16-битного
регистра-указателя данных.
По результату выполнения команд ADD, ADDC, SUBB, MUL и
DIV устанавливаются флаги PSW, структура которых приведена в
табл. 4.
Флаг С устанавливается при переносе из разряда D7, т. е. в случае,
если результат не помещается в восемь разрядов; флаг АС
устанавливается при переносе из разряда D3 в командах сложения и
вычитания и служит для реализации десятичной арифметики. Этот
признак используется командой DAA.
Флаг OV устанавливается при переносе из разряда D6, т. е. в
случае, если результат не помещается в семь разрядов и восьмой не
может быть интерпретирован как знаковый. Этот признак служит для
организации обработки чисел со знаком.
Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если
число единичных бит в аккумуляторе нечетно, то Р = 1, в противном
случае Р = 0.
8.5 Логические операции
Данную группу образуют 25 команд (см. приложение 3),
реализующих функционально полную систему логических операции
над байтами. В микроконтроллере расширено число типов операндов,
участвующих в операциях.
Имеется возможность производить операцию исключающее
ИЛИ‖ с содержимым портов. Команда XRL может быть эффективно
использована для инверсии отдельных битов портов.
8.6 Команды передачи управления
К данной группе команд (см. приложение 4) относятся команды,
условного и безусловного ветвления, вызова подпрограмм и возврата
из них, а также команда пустой операции NOP. В большинстве команд
используется прямая адресация, т.е. адрес перехода целиком ли его