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:

    A little instruction in the elements of chartography—a little practice in the use of the compass and the spirit level, a topographical map of the town common, an excursion with a road map—would have given me a fat round earth in place of my paper ghost.
    Mary Antin (1881–1949)

    The advice of their elders to young men is very apt to be as unreal as a list of the hundred best books.
    Oliver Wendell Holmes, Jr. (1841–1935)