Andmete liigutamise käsud

Mnemooniline kuju

Operandid

Kirjeldus

Tegevus

Lipud

Taktide arv

Andmete liigutamise käsud

MOV

Rd, Rr

Move Between Registers

Liiguta ühest registrist teise

Rd,Rr

None

1

MOVW

Rd, Rr

Copy Register Word

Liiguta 16 bitiline sõna ühest registrist teise

Rd+1:Rd<Rr+1:Rr

None

1

LDI

Rd, K

Load Immediate

Lae konstant otse registrisse

Rd<K

None

1

LD

Rd, X

Load Indirect

Lae kaudselt aadressilt registris X

Rd < (X)

None

2

LD

Rd, X+

Load Indirect and Post-Inc.

Lae kaudselt aadressilt registris X ja liida üks X-le

Rd < (X), X < X + 1

None

2

LD

Rd, -X

Load Indirect and Pre-Dec.

Lahuta üks X-ist ja lae kaudselt aadressilt registris X

X < X - 1, Rd < (X)

None

2

LD

Rd, Y

Load Indirect

Lae kaudselt aadressilt registris Y

Rd < (Y)

None

2

LD

Rd, Y+

Load Indirect and Post-Inc.

Lae kaudselt aadressilt registris Y ja liida üks Y-le

Rd < (Y), Y < Y + 1

None

2

LD

Rd,-Y

Load Indirect and Pre-Dec.

Lahuta üksY-ist ja lae kaudselt aadressilt registris Y

Y < Y - 1, Rd < (Y)

None

2

LDD

Rd,Y+q

Load Indirect with Displacement

Lae kaudselt aadressilt registris koos Y nihutamisega

Rd < (Y + q)

None

2

LD

Rd, Z

Load Indirect

Lae kaudselt aadressilt registris Z

Rd < (Z)

None

2

LD

Rd, Z+

Load Indirect and Post-Inc.

Lae kaudselt aadressilt registris Z ja liida üks Z-le

Rd<(Z), Z<Z+1

None

2

LD

Rd,-Z

Load Indirect and Pre-Dec.

Lahuta üks Z-ist ja lae kaudselt aadressilt registris Z

Z < Z - 1, Rd < (Z)

None

2

LDD

Rd, Z+q

Load Indirect with Displacement

Lae kaudselt aadressilt registris Z koos nihutamisega

Rd < (Z + q)

None

2

LDS

Rd, k

Load Direct from SRAM

Lae otse SRAMist

Rd < (k)

None

2

ST

X, Rr

Store Indirect

Salvesta kaudselt registris X olevale aadressile

(X) < Rr

None

2

ST

X+, Rr

Store Indirect and Post-Inc.

Salvesta kaudselt registris X olevale aadressile ja liida üks X-le

(X) < Rr, X < X + 1

None

2

ST

-X, Rr

Store Indirect and Pre-Dec.

Lahuta üks X-ist ja salvesta kaudselt registri X aadressile

X < X -1, (X) < Rr

None

2

ST

Y, Rr

Store Indirect

Salvesta kaudselt registris Y olevale aadressile

(Y) < Rr

None

2

ST

Y+, Rr

Store Indirect and Post-Inc.

Salvesta kaudselt registris Y olevale aadressile ja liida üks Y-le

(Y) < Rr, Y < Y + 1

None

2

ST

-Y, Rr

Store Indirect and Pre-Dec.

Lahuta üks Y-ist ja salvesta kaudselt registri Y aadressile

Y < Y - 1, (Y) < Rr

None

2

STD

Y+q,Rr

Store Indirect with Displacement

Salvesta kaudselt registris Y olevale aadressile koos nihutamisega

(Y + q) < Rr

None

2

ST

Z, Rr

Store Indirect

Salvesta kaudselt registris Z olevale aadressile

(Z) < Rr

None

2

ST

Z+, Rr

Store Indirect and Post-Inc.

Salvesta kaudselt registris Z olevale aadressile ja liida üks Z-le

(Z) < Rr, Z < Z + 1

None

2

ST

-Z, Rr

Store Indirect and Pre-Dec.

Lahuta üks Z-ist ja salvesta kaudselt registri Z aadressile

Z < Z - 1, (Z) < Rr

None

2

STD

Z+q,Rr

Store Indirect with Displacement

Salvesta kaudselt registris Z olevale aadressile koos nihutamisega

(Z + q)<Rr

None

2

STS

k, Rr

Store Direct to SRAM

Salvesta otse SRAM-mi

(k) < Rr

None

2

LPM

 

Load Program Memory

Lae programmi mälust registrisse R0

R0 < (Z)

None

3

LPM

Rd, Z

Load Program Memory

Lae programmi mälust ette antud registrisse

Rd < (Z)

None

3

LPM

Rd, Z+

Load Program Memory and Post-Inc Lae programmi mälust ja liida üks Z-le

Rd<(Z), Z<Z+1

None

3

SPM

 

Store Program Memory

Salvesta programmi mällu

(Z)<R1:R0

None

-

IN

Rd, P

In Port

Loe sisendpordist

Rd,P

None

1

OUT

P, Rr

Out Port

Kirjuta väljundporti

P,Rr

None

1

PUSH

Rr

Push Register on Stack

Salvesta registri sisu pinumällu

STACK < Rr

None

2

POP

Rd

Pop Register from Stack

Pane registri sisu pinumälust tagasi registrisse

Rd < STACK

None

2