Приложение 4. Система команд микроконтроллера
АТmega8535 (Атmega16)
Арифметические и логические команды - операции
Мнемо-
код
Операнд
Опитсание
Выполняемая
операция
Исполь-
зуеемые
флаги
Кол.
циклов
ADD Rd, Rr Сложить операнды рег. Rd и Rr Rd Rd + Rr Z,C,N,V,H,S 1
ADC Rd, Rr Сложить операнды рег.и флаг С Rd Rd + Rr + C Z,C,N,V,H,S 1
SUB Rd, Rr Вычитание данных рег. Rd - Rr Rd Rd - Rr Z,C,N,V,H,S 1
SUBI Rd, К8 Вычесть непосред-ный операнд Rd Rd - K8 Z,C,N,V,H,S 1
SBC Rd, Rr Вычесть операнд рег. и флаг С Rd Rd - Rr - C Z,C,N,V,H,S 1
SBCI Rd, К8 Вычесть непосред-ный операнд Rd Rd - K8 - C Z,C,N,V,H,S 1
AND Rd, Rr Логич-кая операция "И" Rd и Rr Rd Rd · Rr Z,N,V,S 1
ANDI Rd, К8 Лог-кое "И" Rd и неп. операнда Rd Rd · K8 Z,N,V,S 1
OR Rd, Rr Логическое "ИЛИ" Rd и Rr Rd Rd V Rr Z,N,V,S 1
ORI Rd, К8 Лог-кое"ИЛИ" Rd и неп. опер-да Rd Rd V K8 Z,N,V,S 1
EOR Rd, Rr Логическое"Исключающее ИЛИ" Rd Rd Rr Z,N,V,S 1
COM Rd Инвертирование Rd $FF - Rd Z,C,N,V,S 1
NEG Rd Перевод в дополнительный код Rd $00 - Rd Z,C,N,V,H,S 1
SBR Rd, К8 Установка битов в регистре Rd Rd V K8 Z,C,N,V,S 1
CBR Rd, К8 Сброс (очистка) битов в рег-ре Rd Rd · ($FF - K8) Z,C,N,V,S 1
INC Rd Инкремент регистра Rd Rd Rd + 1 Z,N,V,S 1
DEC Rd Декремент регистра Rd Rd Rd - 1 Z,N,V,S 1
TST Rd Тест на ноль не ноль Rd Rd · Rd Z,C,N,V,S 1
CLR Rd Очистить регистр Rd Rd 0 Z,C,N,V,S 1
SER Rd Заполнить регистр Rd Rd $FF
Нет
1
ADIW Rd, К6 Слож. рег. пары. с константой Rdh:Rd l= Rdh:Rdl+K6 Z,C,N,V,S 2
SBIW Rd, К6 Вычит. константы из рег. пары Rdh:Rdl=Rdh:Rdl - K6 Z,C,N,V,S 2
MUL Rd, Rr Умножение без знака R1: R0 Rd * Rr Z,C 2
MULS Rd, Rr Умножение со знаком R1: R0 Rd * Rr Z,C 2
MULSU Rd, Rr Умножение Signed withUnsigned R1: R0 Rd * Rr Z,C 2
FMUL Rd, Rr Умножение дроби без знака R1:R0 (Rd * Rr)<<1 Z,C 2
FMULS Rd, Rr Умножение дроби со знаком R1:R0 (Rd * Rr)<<1 Z,C 2
FMULSU Rd, Rr Ум-ние дроби Signed Unsigned R1:R0 (Rd * Rr)<<1 Z,C 2
Команды передачи управления
Мнемо-
код
Операнд Описание Выполняемая операция
Исполь-
зуемые
флаги
Кол.
цик-
лов
RJMP k Относит. безус. переход PC PC + k + 1 Нет 2
IJMP Нет Косвенный переход на(Z) PC Z Нет 2
EIJMP Нет
Расширенный косвен-
ный переход на (Z)
STACK PC+1, PC (15:0) =
Z, PC (21: 16) = EIND
Нет 2
JMP k Безусловный переход PC = k Нет 3
RCALL k
Косвенный вызов
подпрограммы
STACK PC + 1, PC PC + k
+ 1
Нет 3 / 4*
ICALL Нет Косвенный вызов на (Z) STACK PC + 1, PC Z Нет 3 / 4*
EICALL Нет
Расширенный косвенный
вызов на (Z)
STACK PC+ 1, PC (15:0) =
Z, PC (21:16) = EIND
Нет 4*
CALL k Вызов подпрограммы STACK PC + 2, PC k Нет 4 / 5*
RET Нет Возврат из подпрограмы PC STACK Нет 4 / 5*