AT90S/LS2333 and AT90S/LS4433
10
DATA TRANSFER INSTRUCTIONS
MOV
LDI
LD
LD
LD
LD
LD
LD
LDD
LD
LD
LD
LDD
LDS
ST
ST
ST
ST
ST
ST
STD
ST
ST
ST
STD
STS
LPM
IN
OUT
PUSH
POP
BIT AND BIT-TEST INSTRUCTIONS
SBI
CBI
LSL
LSR
ROL
ROR
ASR
SWAP
BSET
BCLR
BST
BLD
SEC
CLC
SEN
CLN
SEZ
CLZ
SEI
CLI
SES
CLS
SEV
CLV
SET
CLT
SEH
CLH
NOP
SLEEP
WDR
Rd, Rr
Rd, K
Rd, X
Rd, X+
Rd, - X
Rd, Y
Rd, Y+
Rd, - Y
Rd,Y+q
Rd, Z
Rd, Z+
Rd, -Z
Rd, Z+q
Rd, k
X, Rr
X+, Rr
- X, Rr
Y, Rr
Y+, Rr
- Y, Rr
Y+q,Rr
Z, Rr
Z+, Rr
-Z, Rr
Z+q,Rr
k, Rr
Move Between Registers
Load Immediate
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect with Displacement
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect with Displacement
Load Direct from SRAM
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect with Displacement
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect with Displacement
Store Direct to SRAM
Load Program Memory
In Port
Out Port
Push Register on Stack
Pop Register from Stack
Rd
←
Rr
Rd
←
K
Rd
←
(X)
Rd
←
(X), X
←
X + 1
X
←
X - 1, Rd
←
(X)
Rd
←
(Y)
Rd
←
(Y), Y
←
Y + 1
Y
←
Y - 1, Rd
←
(Y)
Rd
←
(Y + q)
Rd
←
(Z)
Rd
←
(Z), Z
←
Z+1
Z
←
Z - 1, Rd
←
(Z)
Rd
←
(Z + q)
Rd
←
(k)
(X)
←
Rr
(X)
←
Rr, X
←
X + 1
X
←
X - 1, (X)
←
Rr
(Y)
←
Rr
(Y)
←
Rr, Y
←
Y + 1
Y
←
Y - 1, (Y)
←
Rr
(Y + q)
←
Rr
(Z)
←
Rr
(Z)
←
Rr, Z
←
Z + 1
Z
←
Z - 1, (Z)
←
Rr
(Z + q)
←
Rr
(k)
←
Rr
R0
←
(Z)
Rd
←
P
P
←
Rr
STACK
←
Rr
Rd
←
STACK
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
1
1
2
2
Rd, P
P, Rr
Rr
Rd
P,b
P,b
Rd
Rd
Rd
Rd
Rd
Rd
s
s
Rr, b
Rd, b
Set Bit in I/O Register
Clear Bit in I/O Register
Logical Shift Left
Logical Shift Right
Rotate Left Through Carry
Rotate Right Through Carry
Arithmetic Shift Right
Swap Nibbles
Flag Set
Flag Clear
Bit Store from Register to T
Bit load from T to Register
Set Carry
Clear Carry
Set Negative Flag
Clear Negative Flag
Set Zero Flag
Clear Zero Flag
Global Interrupt Enable
Global Interrupt Disable
Set Signed Test Flag
Clear Signed Test Flag
Set Twos Complement Overflow.
Clear Twos Complement Overflow
Set T in SREG
Clear T in SREG
Set Half Carry Flag in SREG
Clear Half Carry Flag in SREG
No Operation
Sleep
Watchdog Reset
I/O(P,b)
←
1
I/O(P,b)
←
0
Rd(n+1)
←
Rd(n), Rd(0)
←
0
Rd(n)
←
Rd(n+1), Rd(7)
←
0
Rd(0)
←
C,Rd(n+1)
←
Rd(n),C
←
Rd(7)
Rd(7)
←
C,Rd(n)
←
Rd(n+1),C
←
Rd(0)
Rd(n)
←
Rd(n+1), n=0..6
Rd(3..0)
←
Rd(7..4),Rd(7..4)
←
Rd(3..0)
SREG(s)
←
1
SREG(s)
←
0
T
←
Rr(b)
Rd(b)
←
T
C
←
1
C
←
0
N
←
1
N
←
0
Z
←
1
Z
←
0
I
←
1
I
←
0
S
←
1
S
←
0
V
←
1
V
←
0
T
←
1
T
←
0
H
←
1
H
←
0
None
None
Z,C,N,V
Z,C,N,V
Z,C,N,V
Z,C,N,V
Z,C,N,V
None
SREG(s)
SREG(s)
T
None
C
C
N
N
Z
Z
I
I
S
S
V
V
T
T
H
H
None
None
None
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
(see specific descr. for Sleep function)
(see specific descr. for WDR/timer)
Instruction Set Summary (Continued)
Mnemonics
Operands
Description
Operation
Flags
#Clocks