Инструкции ветвления
| Мнемоника | Операнды | Описание | Операция | Флаги | Циклы |
| RJMP | Относительный переход | PC = PC + k +1 | None | 2 | |
| IJMP | Нет | Косвенный переход на () | PC = Z | None | 2 |
| EIJMP | Нет | Расширенный косвенный переход на (Z) | STACK = PC+1, PC(15:0) = Z, PC(21:16) = EIND | None | 2 |
| JMP | Переход | PC = k | None | 3 | |
| RCALL | Относительный вызов подпрограммы | STACK = PC+1, PC = PC + k + 1 | None | 3/4* | |
| ICALL | Нет | Косвенный вызов () | STACK = PC+1, PC = Z | None | 3/4* |
| EICALL | Нет | Расширенный косвенный вызов () | STACK = PC+1, PC(15:0) = Z, PC(21:16) =EIND | None | 4* |
| CALL | Вызов подпрограммы | STACK = PC+2, PC = k | None | 4/5* | |
| RET | Нет | Возврат из подпрограммы | PC = STACK | None | 4/5* |
| RETI | Нет | Возврат из прерывания | PC = STACK | I | 4/5* |
| CPSE | , | Сравнить, пропустить если равны | if (Rd ==Rr) PC = PC 2 or 3 | None | 1/2/3 |
| CP | , | Сравнить | Rd -Rr | Z,C,N,V,H,S | 1 |
| CPC | , | Сравнить с переносом | Rd - Rr - C | Z,C,N,V,H,S | 1 |
| CPI | , | Сравнить с константой | Rd - K | Z,C,N,V,H,S | 1 |
| SBRC | , | Пропустить если бит в регистре очищен | if(Rr(b)==0) PC = PC + 2 or 3 | None | 1/2/3 |
| SBRS | , | Пропустить если бит в регистре установлен | if(Rr(b)==1) PC = PC + 2 or 3 | None | 1/2/3 |
| SBIC | , | Пропустить если бит в порту очищен | if(I/O(P,b)==0) PC = PC + 2 or 3 | None | 1/2/3 |
| SBIS | , | Пропустить если бит в порту установлен | if(I/O(P,b)==1) PC = PC + 2 or 3 | None | 1/2/3 |
| BRBC | , | Перейти если флаг в SREG очищен | if(SREG(s)==0) PC = PC + k + 1 | None | 1/2 |
| BRBS | , | Перейти если флаг в SREG установлен | if(SREG(s)==1) PC = PC + k + 1 | None | 1/2 |
| BREQ | Перейти если равно | if(Z==1) PC = PC + k + 1 | None | 1/2 | |
| BRNE | Перейти если не равно | if(Z==0) PC = PC + k + 1 | None | 1/2 | |
| BRCS | Перейти если перенос установлен | if(C==1) PC = PC + k + 1 | None | 1/2 | |
| BRCC | Перейти если перенос очищен | if(C==0) PC = PC + k + 1 | None | 1/2 | |
| BRSH | Перейти если равно или больше | if(C==0) PC = PC + k + 1 | None | 1/2 | |
| BRLO | Перейти если меньше | if(C==1) PC = PC + k + 1 | None | 1/2 | |
| BRMI | Перейти если минус | if(N==1) PC = PC + k + 1 | None | 1/2 | |
| BRPL | Перейти если плюс | if(N==0) PC = PC + k + 1 | None | 1/2 | |
| BRGE | Перейти если больше или равно (со знаком) | if(S==0) PC = PC + k + 1 | None | 1/2 | |
| BRLT | Перейти если меньше (со знаком) | if(S==1) PC = PC + k + 1 | None | 1/2 | |
| BRHS | Перейти если флаг внутреннего переноса установлен | if(H==1) PC = PC + k + 1 | None | 1/2 | |
| BRHC | Перейти если флаг внутреннего переноса очищен | if(H==0) PC = PC + k + 1 | None | 1/2 | |
| BRTS | Перейти если флаг T установлен | if(T==1) PC = PC + k + 1 | None | 1/2 | |
| BRTC | Перейти если флаг T очищен | if(T==0) PC = PC + k + 1 | None | 1/2 | |
| BRVS | Перейти если флаг переполнения установлен | if(V==1) PC = PC + k + 1 | None | 1/2 | |
| BRVC | Перейти если флаг переполнения очищен | if(V==0) PC = PC + k + 1 | None | 1/2 | |
| BRIE | Перейти если прерывания разрешены | if(I==1) PC = PC + k + 1 | None | 1/2 | |
| BRID | Перейти если прерывания запрещены | if(I==0) PC = PC + k + 1 | None | 1/2 |
* Для операций доступа к данным количество циклов указано при условии доступа к внутренней памяти данных, и не корректно при работе с внешним ОЗУ. Для инструкций CALL, ICALL, EICALL, RCALL, RET и RETI, необходимо добавить три цикла плюс по два цикла для каждого ожидания в контроллерах с PC меньшим 16 бит (128KB памяти программ). Для устройств с памятью программ свыше 128KB , добавьте пять циклов плюс по три цикла на каждое ожидание.