Mnemonic Operands Description Operation Flags Cycles

MOV

Rd,Rr

Copy registerRd = RrNone1

MOVW

Rd,Rr

Copy register pairRd+1:Rd = Rr+1:Rr, r,d evenNone1

LDI

Rd,K8

Load ImmediateRd = KNone1

LDS

Rd,k

Load DirectRd = (k)None2*

LD

Rd,X,Y,Z

Load IndirectRd = (X)None2*

LD

Rd,X,Y,Z

Load Indirect and Post-IncrementRd = (X), X=X+1None2*

LD

Rd,X,Y,Z

Load Indirect and Pre-DecrementX=X-1, Rd = (X)None2*

LD

Rd,X,Y,Z

Load IndirectRd = (Y)None2*

LD

Rd,X,Y,Z

Load Indirect and Post-IncrementRd = (Y), Y=Y+1None2*

LD

Rd,X,Y,Z

Load Indirect and Pre-DecrementY=Y-1, Rd = (Y)None2*

LD

Rd,X,Y,Z+q

Load Indirect with displacementRd = (Y+q)None2*

LD

Rd,X,Y,Z

Load IndirectRd = (Z)None2*

LD

Rd,X,Y,Z

Load Indirect and Post-IncrementRd = (Z), Z=Z+1None2*

LD

Rd,X,Y,Z

Load Indirect and Pre-DecrementZ=Z-1, Rd = (Z)None2*

LAC

Rd,X,Y,Z

Load and ClearZ = Rd •($FF-Z)None2

LAT

Rd,X,Y,Z

Load and ToggleZ = Rd ⊕ (Z)None2

LAS

Rd,X,Y,Z

Load and SetZ = Rd v (Z)None2

XCH

Rd,X,Y,Z

ExchangeZ = Rd, Rd = ZNone2

LD

Rd,X,Y,Z+q

Load Indirect with displacementRd = (Z+q)None2*

STS

>k, Rr

Store Direct(k) = RrNone2*

ST

X,Y,Z,Rr

Store Indirect(X) = RrNone2*

ST

X,Y,Z,Rr

Store Indirect and Post-Increment(X) = Rr, X=X+1None2*

ST

X,Y,Z,Rr

Store Indirect and Pre-DecrementX=X-1, (X)=RrNone2*

ST

X,Y,Z,Rr

Store Indirect(Y) = RrNone2*

ST

X,Y,Z,Rr

Store Indirect and Post-Increment(Y) = Rr, Y=Y+1None2

ST

X,Y,Z,Rr

Store Indirect and Pre-DecrementY=Y-1, (Y) = RrNone2

ST

X,Y,Z+q,Rr

Store Indirect with displacement(Y+q) = RrNone2

ST

X,Y,Z,Rr

Store Indirect(Z) = RrNone2

ST

X,Y,Z,Rr

Store Indirect and Post-Increment(Z) = Rr, Z=Z+1None2

ST

X,Y,Z,Rr

Store Indirect and Pre-DecrementZ=Z-1, (Z) = RrNone2

ST

X,Y,Z+q,Rr

Store Indirect with displacement(Z+q) = RrNone2

LPM

NoneLoad Program Memory

R0 = (X,Y,Z)

None3

LPM

Rd,X,Y,Z

Load Program Memory

Rd = (X,Y,Z)

None3

LPM

Rd,X,Y,Z

Load Program Memory and Post-Increment

Rd = (X,Y,Z), Z=Z+1

None3

ELPM

NoneExtended Load Program Memory

R0 = (RAMPZ:X,Y,Z)

None3

ELPM

Rd,X,Y,Z

Extended Load Program MemoryRd = (RAMPZ:X,Y,Z)None3

ELPM

Rd,X,Y,Z

Extended Load Program Memory and Post Increment

Rd = (RAMPZ:X,Y,Z), Z = Z+1

None3

SPM

NoneStore Program Memory

(X,Y,Z) = R1:R0

None-
ESPMNoneExtended Store Program Memory

(RAMPZ:X,Y,Z) = R1:R0

None-

IN

Rd,P

In PortRd = PNone1

OUT

P,Rr

Out PortP = RrNone1

PUSH

Rr

Push register on StackSTACK = RrNone2

POP

Rd

Pop register from StackRd = STACKNone2