Команды арифметических операций
В данную группу входят 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.
Команды логических операций
В данную группу входят 25 команды, краткое описание которых приведено в табл. 1.18. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах.
Таблица.1.18. Логические операции
Мнемоника команды | Код операции | Количество байтов в команде | Время выполнения команды, циклы | Выполняемые действия |
ANL A, Rn | 01011rrr | 1 | 1 | (A) (A) AND (Rn) |
ANL A, ad | 01010101 | 2 | 1 | (A) (A) AND (ad) |
ANL A, @Ri | 0101011i | 1 | 1 | (A) (A) AND ((Ri)) |
ANL A, #d | 01010100 | 2 | 1 | (A) (A) AND #d |
ANL ad, A | 01010010 | 2 | 1 | (ad) (ad) AND (A) |
ANL ad, #d | 01010011 | 3 | 2 | (ad) (ad) AND #d |
ORL A, Rn | 01001rrr | 1 | 1 | (A) (A) OR (Rn) |
ORL A, ad | 01000101 | 2 | 1 | (A) (A) OR (ad) |
ORL A, @Ri | 0100011i | 1 | 1 | (A) (A) OR ((Ri)) |
ORL A, #d | 01000100 | 2 | 1 | (A) (A) OR #d |
ORL ad, A | 01000010 | 2 | 1 | (ad) (ad) OR (A) |
ORL ad, #d | 01000011 | 3 | 2 | (ad) (ad) OR #d |
XRL A, Rn | 01101rrr | 1 | 1 | (A) (A) XOR (Rn) |
XRL A, ad | 01100101 | 2 | 1 | (A) (A) XOR (ad) |
XRL A, @Ri | 0110011i | 1 | 1 | (A) (A) XOR ((Ri)) |
XRL A, #d | 01100100 | 2 | 1 | (A) (A) XOR #d |
XRL ad, A | 01100010 | 2 | 1 | (ad) (ad) XOR (A) |
XRL ad, #d | 01100011 | 3 | 2 | (ad) (ad) XOR #d |
CLR A | 11100100 | 1 | 1 | (A) 0 |
CPL A | 11110100 | 1 | 1 | (A) NOT(A) |
RL A | 00100011 | 1 | 1 | (An+1) (An), n=0÷6, (A0) (A7) |
RLC A | 00110011 | 1 | 1 | (An+1) (An), n=0÷6 (A0) (C), (C) (A7) |
RR A | 00000011 | 1 | 1 | (An) (An+1), n=0÷6, (A7) (A0) |
RRC A | 00010011 | 1 | 1 | (An) (An+1), n=0÷6 (A7) (C), (C) (A0) |
SWAP A | 11000100 | 1 | 1 | (A0…3) ↔ (A4…7) |
Дата добавления: 2016-11-26; просмотров: 1917;