- | * | ||||
ADD | Rd, Rr | Rd Rd + Rr | Z, C, N, V, H, S | ||
ADC | Rd, Rr | Rd Rd + Rr + C | Z, C, N, V, H, S | ||
ADIW | Rdl, 6 | Rdh:Rdl Rdh:Rdl K6 | Z, C, N, V, S | ||
SUB | Rd, Rr | Rd Rd Rr | Z, C, N, V, H, S | ||
SUBI | Rd, 8 | Rd Rd K8 | Z, C, N, V, H, S | ||
SBC | Rd, Rr | Rd Rd Rr C | Z, C, N, V, H, S | ||
SBCI | Rd, 8 | Rd Rd K8 C | Z, C, N, V, H, S | ||
SBIW | Rdl, 6 | Rdh:Rdl Rdh:Rdl K6 | Z, C, N, V, S | ||
AND | Rd, Rr | Rd Rd Rr | Z, N, V, S | ||
ANDI | Rd, 8 | Rd Rd K8 | Z, N, V, S | ||
OR | Rd, Rr | Rd Rd v Rr | Z, N, V, S | ||
ORI | Rd, 8 | Rd Rd v K8 | Z, N, V, S | ||
EOR | Rd, Rr | Rd Rd Å Rr | Z, N, V, S | ||
COM | Rd | - ( ) | Rd $FF Rd | Z, C, N, V, S | |
NEG | Rd | ( ) | Rd $00 Rd | Z, C, N, V, H, S | |
SBR | Rd, 8 | () | Rd Rd v K8 | Z, C, N, V, S | |
CBR | Rd, 8 | Rd Rd ($FF K8) | Z, C, N, V, S | ||
INC | Rd | Rd Rd + 1 | Z, N, V, S | ||
DEC | Rd | Rd Rd 1 | Z, N, V, S | ||
TST | Rd | Rd Rd Rd | Z, C, N, V, S | ||
CLR | Rd | Rd Rd Å Rd | Z, C, N, V, S | ||
SER | Rd | Rd $FF | |||
CP | Rd, Rr | Rd Rr | Z, C, N, V, H, S | ||
CPC | Rd, Rr | Rd Rr C | Z, C, N, V, H, S | ||
CPI | Rd, 8 | Rd K8 | Z, C, N, V, H, S | ||
MUL | Rd, Rr | ( ) | R1:R0 Rd × Rr | Z, C | |
MULS | Rd, Rr | ( ) | R1:R0 Rd × Rr | Z, C | |
MULSU | Rd, Rr | (Rd ; Rr ) | R1:R0 Rd × Rr | Z, C | |
FMUL | Rd, Rr | ( ) 1 | R1:R0 Rd × Rr << 1 | Z, C | |
FMULS | Rd, Rr | ( ) 1 | R1:R0 Rd × Rr << 1 | Z, C | |
FMULSU | Rd, Rr | (Rd ; Rr ) 1 | R1:R0 Rd × Rr << 1 | Z, C | |
RJMP | k | PC PC + k +1 | |||
IJMP | PC Z | ||||
EIJMP | PC(15:0) Z, PC(21:16) EIND | ||||
JMP | k | PC k | |||
RCALL | k | STACK PC + 1, PC PC + k + 1 | |||
ICALL | STACK PC + 1, PC Z | ||||
EICALL | STACK PC + 1, PC(15:0) Z, PC(21:16) EIND | ||||
CALL | k | STACK PC + 1, PC k | 4/5 | ||
RET | PC STACK | ||||
RETI | PC STACK | I | |||
CPSE | Rd, Rr | , | Rd = Rr, PC PC + 2 ( 3) | 1/2/3 | |
SBRC | Rr, b | , | Rr(b) = 0, PC PC + 2 ( 3) | 1/2/3 | |
SBRS | Rr, b | , | Rr(b)=1, PC PC + 2 ( 3) | 1/2/3 | |
SBIC | I/O, b | , - | I/O(b) = 0, PC PC + 2 ( 3) | 1/2/3 | |
SBIS | I/O, b | , - | I/O(b) = 1, PC PC + 2 ( 3) | 1/2/3 | |
BRBC | s, k | , SREG | SREG(s) = 0, PC PC + k + 1 | 1/2 |
|
|
BRBS | s, k | , SREG | SREG(s) = 1, PC PC + k + 1 | 1/2 | |
BREQ | k | , | Z = 1, PC PC + k + 1 | 1/2 | |
BRNE | k | , | Z = 0, PC PC + k + 1 | 1/2 | |
BRCS | k | , | C = 1, PC PC + k + 1 | 1/2 | |
BRCC | k | , | C = 0, PC PC + k + 1 | 1/2 | |
BRSH | k | , | C = 0, PC PC + k + 1 | 1/2 | |
BRLO | k | , | C = 1, PC PC + k + 1 | 1/2 | |
BRMI | k | , | N = 1, PC PC + k + 1 | 1/2 | |
BRPL | k | , | N = 0, PC PC + k + 1 | 1/2 | |
BRGE | k | , ( ) | S = 0, PC PC + k + 1 | 1/2 | |
BRLT | k | , ( ) | S = 1, PC PC + k + 1 | 1/2 | |
BRHS | k | , | H = 1, PC PC + k + 1 | 1/2 | |
BRHC | k | , | H = 0, PC PC + k + 1 | 1/2 | |
BRTS | k | , T | T = 1, PC PC + k + 1 | 1/2 | |
BRTC | k | , T | T = 0, PC PC + k + 1 | 1/2 | |
BRVS | k | , | V = 1, PC PC + k + 1 | 1/2 | |
BRVC | k | , | V = 0, PC PC + k + 1 | 1/2 | |
BRIE | k | , | I = 1, PC PC + k + 1 | 1/2 | |
BRID | k | , | I = 0, PC PC + k + 1 | 1/2 | |
MOV | Rd, Rr | Rd Rr | |||
MOVW | Rd, Rr | Rd+1:Rd Rr+1:Rr | |||
LDI | Rd, 8 | Rd K8 | |||
LDS | Rd, k | Rd (k) | |||
LD | Rd, X | Rd (X) | |||
LD | Rd, X+ | Rd (X), X X + 1 |
|
|
LD | Rd, X | X X 1, Rd (X) | |||
LD | Rd, Y | Rd (Y) | |||
LD | Rd, Y+ | Rd (Y), Y Y + 1 | |||
LD | Rd, Y | Y Y 1, Rd (Y) | |||
LDD | Rd, Y+q | Rd (Y + q) | |||
LD | Rd, Z | Rd (Z) | |||
LD | Rd, Z+ | Rd (Z), Z Z + 1 | |||
LD | Rd, Z | Z Z 1, Rd (Z) | |||
LDD | Rd, Z+q | Rd (Z + q) | |||
STS | k, Rr | (k) Rr | |||
ST | X, Rr | (X) Rr | |||
ST | X+, Rr | (X) Rr, X X + 1 | |||
ST | X, Rr | X X 1, (X) Rr | |||
ST | Y, Rr | (Y) Rr | |||
ST | Y+, Rr | (Y) Rr, Y Y + 1 | |||
ST | Y, Rr | Y Y 1, (Y) Rr | |||
STD | Y+q, Rr | (Y + q) Rr | |||
ST | Z, Rr | (Z) Rr | |||
ST | Z+, Rr | (Z) Rr, Z Z + 1 | |||
ST | Z, Rr | Z Z 1, (Z) Rr | |||
ST | Z+q, Rr | (Z + q) Rr | |||
LPM | R0 (Z) | ||||
LPM | Rd, Z | Rd (Z) | |||
LPM | Rd, Z+ | Rd (Z), Z Z + 1 | |||
ELPM | R0 (RAMPZ:Z) | ||||
ELPM | Rd, Z | Rd (RAMPZ:Z) |
ELPM | Rd, Z+ | Rd (RAMPZ:Z), Z Z + 1 | |||
SPM | (Z) R1:R0 | ||||
IN | Rd, I/O | - | Rd I/O | ||
OUT | I/O, Rr | - | I/O Rr | ||
PUSH | Rr | STACK Rr | |||
POP | Rd | Rd STACK | |||
LSL | Rd | Rd(n + 1) Rd(n), Rd(0) 0, C Rd(7) | Z, C, N, V, H, S | ||
LSR | Rd | Rd(n) Rd(n + 1), Rd(7) 0, C Rd(0) | Z, C, N, V, H, S | ||
ROL | Rd | Rd(0) C, Rd(n + 1) Rd(n), C Rd(7) | Z, C, N, V, H, S | ||
ROR | Rd | Rd(7) C, Rd(n) Rd(n + 1), C Rd(0) | Z, C, N, V, S | ||
ASR | Rd | Rd(n) Rd(n + 1), n = 0...6 | Z, C, N, V, S | ||
SWAP | Rd | ( ) | Rd(3...0) Rd(7...4), Rd(7...4) Rd(3...0) | ||
BSET | s | SREG | SREG(s) 1 | SREG(s) | |
BCLR | s | SREG | SREG(s) 0 | SREG(s) | |
SBI | I/O, b | - | I/O(b) 1 | ||
CBI | I/O, b | - | I/O(b) 0 | ||
BST | Rr, b | T | T Rr(b) | T | |
BLD | Rd, b | T | Rd(b) T | ||
SEC | C 1 | C | |||
CLC | C 0 | C | |||
SEN | N 1 | N | |||
CLN | N 0 | N | |||
SEZ | Z 1 | Z | |||
CLZ | Z 0 | Z | |||
SEI | I 1 | I |
|
|
CLI | I 0 | I | |||
SES | S 1 | S | |||
CLS | S 0 | S | |||
SEV | V 1 | V | |||
CLV | V 0 | V | |||
SET | T | T 1 | T | ||
CLT | T | T 0 | T | ||
SEH | H 1 | H | |||
CLH | H 0 | H | |||
NOP | |||||
BREAK | . | ||||
SLEEP | . | ||||
WDR | . |
:
Rd (d estination) ;
Rr (sou r ce) ;
I/O -;
b -;
s () SREG;
Rdl R24, R26, R28, R30;
X, Y, Z - (X = R27: R26, Y = R29: R28,
Z = R31: R30);
RAMPX, RAMPY, RAMPZ , - X, Y Z ( 64 ) 64 ;
(P rogram C ounter);
STACK ;
SP (S tack P ointer);
EIND , 64 ;
K6 (6 ), ;
K8 (8 ), ;
k ( );
q (6 ).
SREG:
C ;
Z ;
N ;
V ;
S = N Å V ;
H ( );
T ;
I () .
|
|
: 1. AVR - .
2. ANDI CBR ORI SBR . .
3. 1 , ( ), 2 (3) ( ), ( ).
4. .
3