Команды арифметических операций
В данную группу входят 24 команды, краткое описание которых приведено в табл. 1.17. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах.
Таблица.1.17. Арифметические операции
Мнемоника команды | Код операции | Количество байтов в команде | Время выполнения команды, циклы | Выполняемые действия |
ADD A, Rn | 00l01rrr | 1 | 1 | (A) (A) + (Rn) |
ADD A, ad | 00100101 | 2 | 1 | (A) (A) + (ad) |
ADD A, @Ri | 0010011i | 1 | 1 | (A) (A) + ((Ri)) |
ADD A, #d | 00100100 | 2 | 1 | (A) (A) + #d |
ADDC A, Rn | 00111rrr | 1 | 1 | (A) (A) + (Rn) + (C) |
ADDC A, ad | 00110101 | 2 | 1 | (A) (A) + (ad) + (C) |
ADDC A, @Ri | 0011011i | 1 | 1 | (A) (A) + ((Ri)) + (C) |
ADDC A, #d | 00110100 | 2 | 1 | (A) (A) + # d + (C) |
DA A | 11010100 | 1 | 1 | Если (А0…3)>9 или ((AC)=1), то (А0…3) (А0…) + 6, затем если (А4…7) >9 или ((С)=1), то (А4…7) (А4…7) + 6 |
SUBB A, Rn | 10011rrr | 1 | 1 | (A) (A) - (C) - (Rn) |
SUBB A, ad | 10010101 | 2 | 1 | (A) (A) - (C) - ((ad)) |
SUBB А, @Ri | 1001011i | 1 | 1 | (A) (A) - (C) - ((Ri)) |
SUBB А, d | 10010100 | 2 | 1 | (A) (A) - (C) - #d |
INC А | 00000100 | 1 | 1 | (A) (A) + 1 |
INC Rn | 00001rrr | 1 | 1 | (Rn) (Rn) + 1 |
INC ad | 00000101 | 2 | 1 | (ad) (ad) + 1 |
INC @Ri | 0000011i | 1 | 1 | ((Ri)) ((Ri)) + 1 |
INC DPTR | 10100011 | 1 | 2 | (DPTR ) (DPTR) + 1 |
DEC A | 00010100 | 1 | 1 | (A) (A) – 1 |
DEC Rn | 00011rrr | 1 | 1 | (Rn) (Rn) – 1 |
DEC ad | 00010101 | 2 | 1 | (ad) (ad) – 1 |
DEC @Ri | 0001011i | 1 | 1 | ((Ri)) ((Ri)) - 1 |
MUL AB | 10100100 | 1 | 4 | (B)(A) (A)*(В) |
DIV AB | 10000100 | 1 | 4 | (B).(A) (A)/(В) |
По результату выполнения команд ADD, ADDC, SUBB, MUL и DIV устанавливаются флаги PSW.
Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.
Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.
Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.
Дата добавления: 2015-09-11; просмотров: 903;