Последний уровень раздела предыдущего изложения   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень:


Команды арифметических операций микроконтроллера -8051

В данную группу входят 24 команды, краткое описание которых приведено в таблице. Из нее следует, что микроЭВМ выполняет достаточно широкий набор команд для организации обработки целочисленных данных, включая команды умножения и деления.

В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С)


Мнемокод КОП T В С Описание
ADD A, Rn 00101rrr  1   1   1  (A)<-(A)+(Rn)
ADD A, ad 00100101 3 2 1 (A)<-(A)+(ad)
 ADD A, @Ri   0010011i 1 1 1 (A)<-(A)+((Ri))
ADD A, #d  00100100  2 2 1 (A)<-(A)+#d
ADDC A, Rn 00111rrr 1 1 1 (A)<-(A)+(Rn)+(C)
ADDC A, ad 00110101 3 2 1 (A)<-(A)+(ad)+(C)
ADDC A, @Ri 0011011i 1 1 1 (A)<-(A)+((Ri))+C)
ADDC A, #d 00110100 2 2 1 (A)<-(A)+#d+(C)
DAA 11010100 1 1 1 Десятичная коррекция аккумулятора
SUBB A, Rn 10011rrr 1 1 1 (A)<-(A)-(Rn)-(C)
SUBB A, ad 10010101 3 2 1 (A)<-(A)-(ad)-(C)
SUBB A, @Ri 1001011i 1 1 1 (A)<-(A)-((Ri))-(C)
SUBB A, #d 10010100 2 2 1 (A)<-(A)-#d-(C)
INC A 00000100 1 1 1 (A)<-(A)+1
INC Rn 00001rrr 1 1 1 (Rn)<-(Rn)+1
INC ad 00000101 3 2 1 (ad)<-(ad)+1
INC @Ri 0000011i 1 1 1 ((Ri)<-((Ri))+1
INC DPTR 10100011 1 1 2 (DPTR)<-(DPTR)+1
DEC A 00010100 1 1 1 (A)<-(A)-1
DEC Rn 00011rrr 1 1 1 (Rn)<-(Rn)-1
DEC ad 00010101 3 2 1 (ad)<-(ad)-1
DEC @Ri 0001011i 1 1 1 ((Ri))<-((Ri))-1
MUL AB 10100100 1 1 4 (B)(A)<-(A)*(B)
DIV AB 10000100 1 1 4 (A).(B)<-(A)/(B)


По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW, структура которых приведена в таблице.

Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.

Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.

Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.