AVR instruction set overview |
||||||||||||||

Opcode | Mnemonics | Operands | Operand range | Flags | Words | Cycles | Operation | Core version | Emulated as | Description and notes | ||||

0000 0000 0000 0000 | NOP | 1 | 1 | |||||||||||

0000 0001 dddd rrrr | MOVW | Rd | Rr | 0,2,4...28,30 | 0,2,4...28,30 | 1 | 1 | V2E | ||||||

0000 0010 dddd rrrr | MULS | Rd | Rr | 16-31 | 16-31 | Z,C | 1 | 2 | R1:R0 = Rd x Rr (SS) | V2E | ||||

0000 0011 0ddd 0rrr | MULSU | Rd | Rr | 16-23 | 16-23 | Z,C | 1 | 2 | R1:R0 = Rd x Rr (SU) | V2E | ||||

0000 0011 0ddd 1rrr | FMUL | Rd | Rr | 16-23 | 16-23 | Z,C | 1 | 2 | R1:R0 = (Rd x Rr) << 1 (UU) | V2E | ||||

0000 0011 1ddd 0rrr | FMULS | Rd | Rr | 16-23 | 16-23 | Z,C | 1 | 2 | R1:R0 = (Rd x Rr) << 1 (SS) | V2E | ||||

0000 0011 1ddd 1rrr | FMULSU | Rd | Rr | 16-23 | 16-23 | Z,C | 1 | 2 | R1:R0 = (Rd x Rr) << 1 (SU) | V2E | ||||

0000 01rd dddd rrrr | CPC | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd - Rr - C | |||||

0000 10rd dddd rrrr | SBC | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd - Rr - C | |||||

0000 11dD DDDD dddd | LSL | Rd | 0-31 | 1 | 1 | ADD Rd, Rd | ||||||||

0000 11rd dddd rrrr | ADD | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd + Rr | V0 | ||||

0001 00rd dddd rrrr | CPSE | Rd | Rr | 0-31 | 0-31 | 1 | 1-3 | |||||||

0001 01rd dddd rrrr | CP | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd - Rr | |||||

0001 10rd dddd rrrr | SUB | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd - Rr | |||||

0001 11dD DDDD dddd | ROL | Rd | 0-31 | 1 | 1 | ADC Rd, Rd | ||||||||

0001 11rd dddd rrrr | ADC | Rd | Rr | 0-31 | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd + Rr + C | |||||

0010 00Dd DDDD dddd | TST | Rd | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd & Rr | AND Rd. Rd | ||||||

0010 00rd dddd rrrr | AND | Rd | Rr | 0-31 | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd & Rr | |||||

0010 01dd dddd dddd | CLR | Rd | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd xor Rr | EOR Rd, Rd | ||||||

0010 01rd dddd rrrr | EOR | Rd | Rr | 0-31 | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd xor Rr | |||||

0010 10rd dddd rrrr | OR | Rd | Rr | 0-31 | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd | Rr | |||||

0010 11rd dddd rrrr | MOV | Rd | Rr | 0-31 | 0-31 | 1 | 1 | |||||||

0011 KKKK dddd KKKK | CPI | Rd | K | 16-31 | 0-255 | Z,C,N,V,S,H | 1 | 1 | Rd - K | |||||

0100 KKKK dddd KKKK | SBCI | Rd | K | 16-31 | 0-255 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd - K - C | |||||

0101 KKKK dddd KKKK | SUBI | Rd | K | 16-31 | 0-255 | Z,C,N,V,S,H | 1 | 1 | Rd = Rd - K | |||||

0110 KKKK dddd KKKK | ORI | Rd | K | 16-31 | 0-255 | Z,N,V,S | 1 | 1 | Rd = Rd | K | |||||

0110 KKKK dddd KKKK | SBR | Rd | K | 16-31 | 0-255 | Z,N,V,S | 1 | 1 | Rd = Rd | K | ORI Rd, K | ||||

0111 FF-K dddd FF-K | CBR | Rd | K | 16-31 | 0-255 | Z,N,V,S | 1 | 1 | Rd = Rd & (0xFF - K) | ANDI Rd, (0xFF - K) | ||||

0111 KKKK dddd KKKK | ANDI | Rd | K | 16-31 | 0-255 | Z,N,V,S | 1 | 1 | Rd = Rd & K | |||||

1000 000d dddd 0000 | LD | Rd | Z | 0-31 | 1 | 2 | V0E | LDD Rd, Z+0 | ||||||

1000 000d dddd 1000 | LD | Rd | Y | 0-31 | 1 | 2 | V1 | LDD Rd, Y+0 | ||||||

1000 001r rrrr 0000 | ST | Z | Rr | 0-31 | 1 | 2 | V0E | STD Z+0, Rr | ||||||

1000 001r rrrr 1000 | ST | Y | Rr | 0-31 | 1 | 2 | V1 | STD Y+0, Rr | ||||||

1001 000d dddd 0000 kk... | LDS | Rd | k | 0-31 | 0-65535 | 2 | 2 | V1 | ||||||

1001 000d dddd 0001 | LD | Rd | Z+ | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 0010 | LD | Rd | -Z | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 0100 | LPM | Rd | Z | 0-31 | 1 | 3 | V1 | |||||||

1001 000d dddd 0101 | LPM | Rd | Z+ | 0-31 | 1 | 3 | V2E | |||||||

1001 000d dddd 0110 | ELPM | Rd | Z | 0-31 | 1 | 3 | V3 | |||||||

1001 000d dddd 0111 | ELPM | Rd | Z+ | 0-31 | 1 | 3 | V3 | |||||||

1001 000d dddd 1001 | LD | Rd | Y+ | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 1010 | LD | Rd | -Y | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 1100 | LD | Rd | X | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 1101 | LD | Rd | X+ | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 1110 | LD | Rd | -X | 0-31 | 1 | 2 | V1 | |||||||

1001 000d dddd 1111 | POP | Rd | 0-31 | 1 | 2 | V1 | ||||||||

1001 001r rrrr 0000 kk... | STS | k | Rr | 0-65535 | 0-31 | 2 | 2 | V1 | ||||||

1001 001r rrrr 0001 | ST | Z+ | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 0010 | ST | -Z | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1001 | ST | Y+ | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1010 | ST | -Y | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1100 | ST | X | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1101 | ST | X+ | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1110 | ST | -X | Rr | 0-31 | 1 | 2 | V1 | |||||||

1001 001r rrrr 1111 | PUSH | Rr | 0-31 | 1 | 2 | V1 | ||||||||

1001 0100 0000 1000 | SEC | 1 | 1 | BSET 0 | ||||||||||

1001 0100 0000 1001 | IJMP | 1 | 2 | V1 | ||||||||||

1001 0100 0001 1000 | SEZ | 1 | 1 | BSET 1 | ||||||||||

1001 0100 0001 1001 | EIJMP | 1 | 2 | V3 | ||||||||||

1001 0100 0010 1000 | SEN | 1 | 1 | BSET 2 | ||||||||||

1001 0100 0011 1000 | SEV | 1 | 1 | BSET 3 | ||||||||||

1001 0100 0100 1000 | SES | 1 | 1 | BSET 4 | ||||||||||

1001 0100 0101 1000 | SEH | 1 | 1 | BSET 5 | ||||||||||

1001 0100 0110 1000 | SET | 1 | 1 | BSET 6 | ||||||||||

1001 0100 0111 1000 | SEI | 1 | 1 | BSET 7 | ||||||||||

1001 0100 0sss 1000 | BSET | s | 0-7 | 1 | 1 | |||||||||

1001 0100 1000 1000 | CLC | 1 | 1 | BCLR 0 | ||||||||||

1001 0100 1001 1000 | CLZ | 1 | 1 | BCLR 1 | ||||||||||

1001 0100 1010 1000 | CLN | 1 | 1 | BCLR 2 | ||||||||||

1001 0100 1011 1000 | CLV | 1 | 1 | BCLR 3 | ||||||||||

1001 0100 1100 1000 | CLS | 1 | 1 | BCLR 4 | ||||||||||

1001 0100 1101 1000 | CLH | 1 | 1 | BCLR 5 | ||||||||||

1001 0100 1110 1000 | CLT | 1 | 1 | BCLR 6 | ||||||||||

1001 0100 1111 1000 | CLI | 1 | 1 | BCLR 7 | ||||||||||

1001 0100 1sss 1000 | BCLR | s | 0-7 | 1 | 1 | |||||||||

1001 0101 0000 1000 | RET | 1 | 4-5 | |||||||||||

1001 0101 0000 1001 | ICALL | 1 | 3-4 | V1 | ||||||||||

1001 0101 0001 1000 | RETI | I | 1 | 4-5 | ||||||||||

1001 0101 0001 1001 | EICALL | 1 | 4 | V3 | ||||||||||

1001 0101 1000 1000 | SLEEP | 1 | 1 | |||||||||||

1001 0101 1001 1000 | BREAK | 1 | 1 | |||||||||||

1001 0101 1010 1000 | WDR | 1 | 1 | |||||||||||

1001 0101 1100 1000 | LPM | 1 | 3 | (V0E) | LPM 0, Z | |||||||||

1001 0101 1101 1000 | ELPM | 1 | 3 | V3 | ELPM 0, Z | |||||||||

1001 0101 1110 1000 | SPM | 1 | V2 | |||||||||||

1001 010d dddd 0000 | COM | Rd | 0-31 | Z,C,N,V,S | 1 | 1 | Rd = 0xFF - Rd | |||||||

1001 010d dddd 0001 | NEG | Rd | 0-31 | Z,C,N,V,S,H | 1 | 1 | Rd = 0x00 - Rd | |||||||

1001 010d dddd 0010 | SWAP | Rd | 0-31 | 1 | 1 | |||||||||

1001 010d dddd 0011 | INC | Rd | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd + 1 | |||||||

1001 010d dddd 0101 | ASR | Rd | 0-31 | 1 | 1 | |||||||||

1001 010d dddd 0110 | LSR | Rd | 0-31 | 1 | 1 | |||||||||

1001 010d dddd 0111 | ROR | Rd | 0-31 | 1 | 1 | |||||||||

1001 010d dddd 1010 | DEC | Rd | 0-31 | Z,N,V,S | 1 | 1 | Rd = Rd - 1 | |||||||

1001 010k kkkk 110k kk... | JMP | k | 0-4194304 | 2 | 3 | V2E (>=16K) | ||||||||

1001 010k kkkk 111k kk... | CALL | k | 0-4194304 | 2 | 4-5 | V2E (>=16K) | ||||||||

1001 0110 KKdd KKKK | ADIW | Rd | K | 24,26,28,30 | 0-63 | Z,C,N,V,S | 1 | 2 | Rd+1:Rd = Rd+1:Rd + K | V1 | ||||

1001 0111 KKdd KKKK | SBIW | Rd | K | 24,26,28,30 | 0-63 | Z,C,N,V,S | 1 | 2 | Rd+1:Rd = Rd+1:Rd - K | V1 | ||||

1001 1000 AAAA Abbb | CBI | A | b | 0-31 | 0-7 | 1 | 2 | |||||||

1001 1001 AAAA Abbb | SBIC | A | b | 0-31 | 0-7 | 1 | 1-3 | |||||||

1001 1010 AAAA Abbb | SBI | A | b | 0-31 | 0-7 | 1 | 2 | |||||||

1001 1011 AAAA Abbb | SBIS | A | b | 0-31 | 0-7 | 1 | 1-3 | |||||||

1001 11rd dddd rrrr | MUL | Rd | Rr | 0-31 | 0-31 | Z,C | 1 | 2 | R1:R0 = Rd x Rr (UU) | V2E | ||||

1011 0AAd dddd AAAA | IN | Rd | A | 0-31 | 0-63 | 1 | 1 | |||||||

1011 1AAr rrrr AAAA | OUT | A | Rr | 0-63 | 0-31 | 1 | 1 | |||||||

10q0 qq0d dddd 0qqq | LDD | Rd | Z+q | 0-31 | 0-63 | 1 | 2 | V1 | ||||||

10q0 qq0d dddd 1qqq | LDD | Rd | Y+q | 0-31 | 0-63 | 1 | 2 | V1 | ||||||

10q0 qq1r rrrr 0qqq | STD | Z+q | Rr | 0-63 | 0-31 | 1 | 2 | V1 | ||||||

10q0 qq1r rrrr 1qqq | STD | Y+q | Rr | 0-63 | 0-31 | 1 | 2 | V1 | ||||||

1100 kkkk kkkk kkkk | RJMP | k | -2048...+2048 | 1 | 2 | |||||||||

1101 kkkk kkkk kkkk | RCALL | k | -2048...+2048 | 1 | 3-4 | |||||||||

1110 1111 dddd 1111 | SER | Rd | 16-31 | 1 | 1 | Rd = 0xFF | LDI Rd, K | |||||||

1110 KKKK dddd KKKK | LDI | Rd | K | 16-31 | 0-255 | 1 | 1 | |||||||

1111 00kk kkkk k000 | BRCS | k | -64...+63 | 1 | 1-2 | BRBS 0, k | ||||||||

1111 00kk kkkk k000 | BRLO | k | -64...+63 | 1 | 1-2 | BRBS 0, k | ||||||||

1111 00kk kkkk k001 | BREQ | k | -64...+63 | 1 | 1-2 | BRBS 1, k | ||||||||

1111 00kk kkkk k010 | BRMI | k | -64...+63 | 1 | 1-2 | BRBS 2, k | ||||||||

1111 00kk kkkk k011 | BRVS | k | -64...+63 | 1 | 1-2 | BRBS 3, k | ||||||||

1111 00kk kkkk k100 | BRLT | k | -64...+63 | 1 | 1-2 | BRBS 4, k | ||||||||

1111 00kk kkkk k101 | BRHS | k | -64...+63 | 1 | 1-2 | BRBS 5, k | ||||||||

1111 00kk kkkk k110 | BRTS | k | -64...+63 | 1 | 1-2 | BRBS 6, k | ||||||||

1111 00kk kkkk k111 | BRIE | k | -64...+63 | 1 | 1-2 | BRBS 7, k | ||||||||

1111 00kk kkkk ksss | BRBS | s | k | 0-7 | -64...+63 | 1 | 1-2 | |||||||

1111 01kk kkkk k000 | BRCC | k | -64...+63 | 1 | 1-2 | BRBC 0, k | ||||||||

1111 01kk kkkk k000 | BRSH | k | -64...+63 | 1 | 1-2 | BRBC 0, k | ||||||||

1111 01kk kkkk k001 | BRNE | k | -64...+63 | 1 | 1-2 | BRBC 1, k | ||||||||

1111 01kk kkkk k010 | BRPL | k | -64...+63 | 1 | 1-2 | BRBC 2, k | ||||||||

1111 01kk kkkk k011 | BRVC | k | -64...+63 | 1 | 1-2 | BRBC 3, k | ||||||||

1111 01kk kkkk k100 | BRGE | k | -64...+63 | 1 | 1-2 | BRBC 4, k | ||||||||

1111 01kk kkkk k101 | BRHC | k | -64...+63 | 1 | 1-2 | BRBC 5, k | ||||||||

1111 01kk kkkk k110 | BRTC | k | -64...+63 | 1 | 1-2 | BRBC 6, k | ||||||||

1111 01kk kkkk k111 | BRID | k | -64...+63 | 1 | 1-2 | BRBC 7, k | ||||||||

1111 01kk kkkk ksss | BRBC | s | k | 0-7 | -64...+63 | 1 | 1-2 | |||||||

1111 100d dddd 0bbb | BLD | Rd | b | 0-31 | 0-7 | 1 | 1 | |||||||

1111 101r rrrr 0bbb | BST | Rr | b | 0-31 | 0-7 | 1 | 1 | |||||||

1111 110r rrrr 0bbb | SBRC | Rr | b | 0-31 | 0-7 | 1 | 1-3 | |||||||

1111 111r rrrr 0bbb | SBRS | Rr | b | 0-31 | 0-7 | 1 | 1-3 | |||||||

136 instr. |