| BRBC | 1111 01kk kkkk ksss | PC = PC + k + 1 if !STATUS_REGISTER[s]
| BRBS | 1111 00kk kkkk ksss | PC = PC + k + 1 if STATUS_REGISTER[s]
| |
Branch instruction can only transfer control to a limited range of nearby addresses. This may be sufficient for small if/while/for statements. Otherwise a jump instruction must be used, e.g
| JMP k | 1001 010k kkkk 110k kkkk kkkk kkkk kkkk | PC = k
| IJMP | 1001 0101 0000 1001 | PC = R31:R30
| |
Note, the use of r30 and r31 to form a 16-bit value for IJMP. This is sufficient to allow execution to be transfered to any instruction in the ATmega64's 64k of program memory.