Andmete liigutamise käsud
Mnemooniline kuju |
Operandid |
Kirjeldus |
Tegevus |
Lipud |
Taktide arv |
Andmete liigutamise käsud |
|||||
MOV |
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 |