Atmel AVR Instruction Set - Instruction List

Instruction List

Instructions are 16 bits long, with some instructions requiring an additional 16-bit word for a large displacement. "K6" refers to a 6-bit unsigned constant.

There are two types of conditional branches: jumps to address and skips. Conditional branches (BRxx) can test an ALU flag and jump to specified address. Skips (SBxx) test an arbitrary bit in a register or I/O and skip the next instruction if the test was true.

AVR instruction set
Arithmetic Bit & Others Transfer Jump Branch Call

ADD Rd, Rr
ADC Rd, Rr
ADIW Rd+1:Rd, K6

SUB Rd, Rr
SUBI Rd, K8
SBC Rd, Rr
SBCI Rd, K8
SBIW Rd+1:Rd, K6

INC Rd
DEC Rd

AND Rd, Rr
ANDI Rd, K8
OR Rd, Rr
ORI Rd, K8
EOR Rd, Rr

COM Rd
NEG Rd
CP Rd, Rr
CPC Rd, Rr
CPI Rd, K8
SWAP Rd

LSR Rd
ROR Rd
ASR Rd

MUL Rd, Rr
MULS Rd, Rr
MULSU Rd, Rr
FMUL Rd, Rr
FMULS Rd, Rr
FMULSU Rd, Rr

BSET s
BCLR s
SBI A, b
CBI A, b
BST Rd, b
BLD Rd, b

NOP
BREAK
SLEEP
WDR

MOV Rd, Rr
MOVW Rd+1:Rd, Rr+1:Rr

IN Rd, A
OUT A, Rr

PUSH Rr
POP Rr

LDI Rd, K8
LDS Rd, K16

LD Rd, X
LD Rd, -X
LD Rd, X+

LDD Rd, Y+K6
LD Rd, -Y
LD Rd, Y+

LDD Rd, Z+K6
LD Rd, -Z
LD Rd, Z+

STS K16, Rr

ST X, Rr
ST -X, Rr
ST X+, Rr

STD Y+K6, Rr
ST -Y, Rr
ST Y+, Rr

STD Z+K6, Rr
ST -Z, Rr
ST Z+, Rr

LPM
LPM Rd, Z
LPM Rd, Z+
ELPM
ELPM Rd, Z
ELPM Rd, Z+

SPM

RJMP K12
IJMP
EIJMP
JMP K22

CPSE Rd, Rr

SBRC Rr, b
SBRS Rr, b

SBIC A, b
SBIS A, b

BRBC s, K7
BRBS s, K7

RCALL K12
ICALL
EICALL
CALL K22

RET
RETI

Read more about this topic:  Atmel AVR Instruction Set

Famous quotes containing the words instruction and/or list:

    And, fathers, do not provoke your children to anger, but bring them up in the discipline and instruction of the Lord.
    Bible: New Testament, Ephesians 6:4.

    Love’s boat has been shattered against the life of everyday. You and I are quits, and it’s useless to draw up a list of mutual hurts, sorrows, and pains.
    Vladimir Mayakovsky (1893–1930)