В данную группу входят 24 команды, краткое описание которых приведено в таблице. Из нее следует, что микроЭВМ выполняет достаточно широкий набор команд для организации обработки целочисленных данных, включая команды умножения и деления.
В таблице также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).
Таблица.8.Арифметические операции.
Название команды
Мнемокод
КОП
Т
Б
Ц
Операция
Сложение аккумулятора с регистром (n=0÷7)
ADD A, Rn
00l01rrr
(A) (A) + (Rn)
Сложение аккумулятора с прямоадресуемым байтом
ADD A, ad
(A) (A) + (ad)
Сложение аккумулятора с байтом из РПД (i = 0,1)
ADD A, @Ri
0010011i
(A) (A) + ((Ri))
Сложение аккумулятора с константой
ADD A, #d
(A) (A) + #d
Сложение аккумулятора с регистром и переносом
ADDC A, Rn
00111rrr
(A) (A) + (Rn) + (C)
Сложение аккумулятора с прямоадресуемым байтом и переносом
ADDC A, ad
(A) (A) + (ad) + (C)
Сложение аккумулятора с байтом из РПД и переносом
ADDC A, @Ri
0011011i
(A) (A) + ((Ri)) + (C)
Сложение аккумулятора с константой и переносом
ADDC A, #d
(A) (A) + # d + (C)
Десятичная коррекция аккумулятора
DA A
Если (А0…3)>9 или ((AC)=1),то(А0…3) (А0…З) + 6, затем если (А4…7) >9 или ((С)=1), то (А4…7) (А4…7) + 6
Вычитание из аккумулятора регистра и заёма
SUBB A, Rn
10011rrr
(A) (A) - (C) - (Rn)
Вычитание из аккумулятора прямоадресуемого байта и заема
SUBB A, ad
(A) (A) - (C) - ((ad))
Вычитание из аккумулятора байта РПД и заема
SUBB А, @Ri
1001011i
(A) (A) - (C) - ((Ri))
Вычитание из аккумулятора константы и заема
SUBB А, d
(A) (A) - (C) - #d
Инкремент аккумулятора
INC А
(A) (A) + 1
Название команды
Мнемокод
КОП
Т
Б
Ц
Операция
Инкремент регистра
INC Rn
00001rrr
(Rn) (Rn) + 1
Инкремент прямоадресуемого байта
INC ad
(ad) (ad) + 1
Инкремент байта в РПД
INC @Ri
0000011i
((Ri)) ((Ri)) + 1
Инкремент указателя данных
INC DPTR
(DPTR ) (DPTR) + 1
Декремент аккумулятора
DEC A
(A) (A) – 1
Декремент регистра
DEC Rn
00011rrr
(Rn) (Rn) – 1
Декремент прямоадресуемого байта
DEC ad
(ad) (ad) – 1
Декремент байта в РПД
DEC @Ri
0001011i
((Ri)) ((Ri)) - 1
Умножение аккумулятора на регистр В
MUL AB
(B)(A) (A)*(В)
Деление аккумулятора на регистр В
DIV AB
(B).(A) (A)/(В)
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW, структура которых приведена в таблице.
Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.
Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.
Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.