AVR8 ISA Reference |
|
DS40002198B |
|
ADC Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Add with Carry |
|
ADD Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Add without Carry |
|
ADIW Rd,K |
AVRe AVRxm AVRxt |
Add Immediate to Word |
|
ANDI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Logical AND with Immediate |
|
AND Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Logical AND |
|
ASR Rd |
AVRe AVRxm AVRxt AVRrc |
Arithmetic Shift Right |
|
BCLR s |
AVRe AVRxm AVRxt AVRrc |
Bit Clear in SREG |
|
BLD Rd,b |
AVRrc AVRe AVRxm AVRxt |
Bit Load from the T Bit in SREG to a Bit in Register |
|
BRBC s,k |
AVRe AVRxm AVRxt AVRrc |
Branch if Bit in SREG is Cleared |
|
BRBS s,k |
AVRe AVRxm AVRxt AVRrc |
Branch if Bit in SREG is Set |
|
BRCC k |
AVRe AVRxm AVRxt AVRrc |
Branch if Carry Cleared |
|
BRCS k |
AVRe AVRxm AVRxt AVRrc |
Branch if Carry Set |
|
BREAK |
AVRe AVRxm AVRxt AVRrc |
Break |
|
BREQ k |
AVRe AVRxm AVRxt AVRrc |
Branch if Equal |
|
BRGE k |
AVRe AVRxm AVRxt AVRrc |
Branch if Greater or Equal (Signed) |
|
BRHC k |
AVRe AVRxm AVRxt AVRrc |
Branch if Half Carry Flag is Cleared |
|
BRHS k |
AVRe AVRxm AVRxt AVRrc |
Branch if Half Carry Flag is Set |
|
BRID k |
AVRe AVRxm AVRxt AVRrc |
Branch if Global Interrupt is Disabled |
|
BRIE k |
AVRe AVRxm AVRxt AVRrc |
Branch if Global Interrupt is Enabled |
|
BRLO k |
AVRe AVRxm AVRxt AVRrc |
Branch if Lower (Unsigned) |
|
BRLT k |
AVRe AVRxm AVRxt AVRrc |
Branch if Less Than (Signed) |
|
BRMI k |
AVRe AVRxm AVRxt AVRrc |
Branch if Minus |
|
BRNE k |
AVRe AVRxm AVRxt AVRrc |
Branch if Not Equal |
|
BRPL k |
AVRe AVRxm AVRxt AVRrc |
Branch if Plus |
|
BRSH k |
AVRe AVRxm AVRxt AVRrc |
Branch if Same or Higher (Unsigned) |
|
BRTC k |
AVRe AVRxm AVRxt AVRrc |
Branch if the T Bit is Cleared |
|
BRTS k |
AVRe AVRxm AVRxt AVRrc |
Branch if the T Bit is Set |
|
BRVC k |
AVRe AVRxm AVRxt AVRrc |
Branch if Overflow Cleared |
|
BRVS k |
AVRxt AVRrc AVRe AVRxm |
Branch if Overflow Set |
|
BSET s |
AVRe AVRxm AVRxt AVRrc |
Bit Set in SREG |
|
BST Rd,b |
AVRe AVRxm AVRxt AVRrc |
Bit Store from Bit in Register to T Bit in SREG |
|
CALL k |
AVRxt AVRe AVRxm |
Long Call to a Subroutine |
|
CALL k |
AVRxt AVRxt AVRe AVRe AVRxm AVRxm |
Long Call to a Subroutine |
|
CBI A,b |
AVRe AVRxm AVRxt AVRrc |
Clear Bit in I/O Register |
|
CBR Rd,K |
AVRe AVRxm AVRxt AVRrc |
Clear Bits in Register |
|
CLC |
AVRe AVRxm AVRxt AVRrc |
Clear Carry Flag |
|
CLH |
AVRe AVRxm AVRxt AVRrc |
Clear Half Carry Flag |
|
CLI |
AVRe AVRxm AVRxt AVRrc |
Clear Global Interrupt Enable Bit |
|
CLN |
AVRe AVRxm AVRxt AVRrc |
Clear Negative Flag |
|
CLR Rd |
AVRe AVRxm AVRxt AVRrc |
Clear Register |
|
CLS |
AVRe AVRxm AVRxt AVRrc |
Clear Sign Flag |
|
CLT |
AVRe AVRxm AVRxt AVRrc |
Clear T Bit |
|
CLV |
AVRe AVRxm AVRxt AVRrc |
Clear Overflow Flag |
|
CLZ |
AVRe AVRxm AVRxt AVRrc |
Clear Zero Flag |
|
COM Rd |
AVRe AVRxm AVRxt AVRrc |
One’s Complement |
|
CPC Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Compare with Carry |
|
CPI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Compare with Immediate |
|
CPSE Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Compare Skip if Equal |
|
CP Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Compare |
|
DEC Rd |
AVRe AVRxm AVRxt AVRrc |
Decrement |
|
DES K |
AVRxm |
Data Encryption Standard |
|
EICALL |
AVRe AVRxm AVRxt |
Extended Indirect Call to Subroutine |
|
EIJMP |
AVRe AVRxm AVRxt |
Extended Indirect Jump |
|
ELPM |
AVRe AVRxm AVRxt |
Extended Load Program Memory RAMPZ:Z: Unchanged, R0
implied destination register |
|
ELPM Rd, Z |
AVRe AVRxm AVRxt |
Extended Load Program Memory RAMPZ:Z: Unchanged |
|
ELPM Rd, Z+ |
AVRe AVRxm AVRxt |
Extended Load Program Memory (RAMPZ:Z) = (RAMPZ:Z)
+ 1 RAMPZ:Z: Post
incremented |
|
EOR Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Exclusive OR |
|
FMULSU Rd,Rr |
AVRe AVRxm AVRxt |
Fractional Multiply Signed with Unsigned |
|
FMULS Rd,Rr |
AVRe AVRxm AVRxt |
Fractional Multiply Signed |
|
FMUL Rd,Rr |
AVRe AVRxm AVRxt |
Fractional Multiply Unsigned |
|
ICALL |
AVRe AVRxm AVRxt AVRrc |
Indirect Call to Subroutine Devices with 16-bit PC, 128 KB program memory maximum. |
|
ICALL |
AVRe AVRxm AVRxt |
Indirect Call to Subroutine Devices with 22-bit PC, 8 MB program memory maximum. |
|
IJMP |
AVRe AVRxm AVRxt AVRrc |
Indirect Jump Devices with 16-bit PC, 128 KB program memory maximum. |
|
IJMP |
AVRe AVRxm AVRxt AVRrc |
Indirect Jump Devices with 22-bit PC, 8 MB program memory maximum. |
|
INC Rd |
AVRe AVRxm AVRxt AVRrc |
Increment |
|
IN Rd,A |
AVRe AVRxm AVRxt AVRrc |
Load an I/O Location to Register |
|
JMP k |
AVRe AVRxm AVRxt |
Jump |
|
LAC Z,Rd |
AVRxm |
Load and Clear |
|
LAS Z,Rd |
AVRxm |
Load and Set |
|
LAT Z,Rd |
AVRxm |
Load and Toggle |
|
LD Rd, Y |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using Y Y: Unchanged |
|
LD Rd, Y+ |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using Y Y: Post incremented |
|
LD Rd, -Y |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using Y Y: Pre decremented |
|
LDD Rd, Y+q |
AVRe AVRxm AVRxt |
Load Indirect from Data Space to Register using Y Y: Unchanged, q: Displacement |
|
LD Rd, Z |
AVRe AVRxm AVRxt AVRrc |
Load Indirect From Data Space to Register using Z Z: Unchanged |
|
LD Rd, Z+ |
AVRe AVRxm AVRxt AVRrc |
Load Indirect From Data Space to Register using Z Z: Post incremented |
|
LD Rd, -Z |
AVRe AVRxm AVRxt AVRrc |
Load Indirect From Data Space to Register using Z Z: Pre decremented |
|
LDD Rd, Z+q |
AVRe AVRxm AVRxt |
Load Indirect From Data Space to Register using Z Z: Unchanged, q: Displacement |
|
LDI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Load Immediate |
|
LDS Rd,k |
AVRrc |
Load Direct from Data Space |
|
LDS Rd,k |
AVRe AVRxm AVRxt |
Load Direct from Data Space |
|
LD Rd, X |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using X X: Unchanged |
|
LD Rd, X+ |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using X X: Post incremented |
|
LD Rd, -X |
AVRe AVRxm AVRxt AVRrc |
Load Indirect from Data Space to Register using X X: Pre decremented |
|
LPM |
AVRe AVRxm AVRxt |
Load Program Memory Z: Unchanged, R0 implied
destination register |
|
LPM Rd, Z |
AVRe AVRxm AVRxt |
Load Program Memory Z: Unchanged |
|
LPM Rd, Z+ |
AVRe AVRxm AVRxt |
Load Program Memory Z: Post incremented |
|
LSL Rd |
AVRe AVRxm AVRxt AVRrc |
Logical Shift Left C <-
b7 - - - - - - - - - - - - - - - - - - b0
<-
0 |
|
LSR Rd |
AVRe AVRxm AVRxt AVRrc |
Logical Shift Right ->
b7 - - - - - - - - - - - - - - - - - - b0
->
C |
|
MOVW Rd,Rr |
AVRe AVRxm AVRxt |
Copy Register Word |
|
MOV Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Copy Register |
|
MULSU Rd,Rr |
AVRe AVRxm AVRxt |
Multiply Signed with Unsigned |
|
MULS Rd,Rr |
AVRe AVRxm AVRxt |
Multiply Signed |
|
MUL Rd,Rr |
AVRe AVRxm AVRxt |
Multiply Unsigned |
|
NEG Rd |
AVRe AVRxm AVRxt AVRrc |
Two’s Complement |
|
NOP |
AVRe AVRxm AVRxt AVRrc |
No Operation |
|
ORI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Logical OR with Immediate |
|
OR Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Logical OR |
|
OUT A,Rr |
AVRe AVRxm AVRxt AVRrc |
Store Register to I/O Location |
|
POP Rd |
AVRe AVRxm AVRxt AVRrc |
Pop Register from Stack |
|
PUSH Rr |
AVRe AVRxm AVRxt AVRrc |
Push Register on Stack |
|
RCALL k |
AVRe AVRxm AVRxt AVRrc |
Relative Call to Subroutine Devices with 16-bit PC, 128 KB program memory maximum. |
|
RCALL k |
AVRe AVRxm AVRxt |
Relative Call to Subroutine Devices with 22-bit PC, 8 MB program memory maximum. |
|
RETI |
AVRe AVRxm AVRxt AVRrc |
Return from Interrupt Devices with 16-bit PC, 128 KB program memory maximum. |
|
RETI |
AVRe AVRxm AVRxt |
Return from Interrupt Devices with 22-bit PC, 8 MB program memory maximum. |
|
RET |
AVRe AVRxm AVRxt AVRrc |
Return from Subroutine Devices with 16-bit PC, 128 KB program memory maximum. |
|
RET |
AVRe AVRxm AVRxt |
Return from Subroutine Devices with 22-bit PC, 8 MB program memory maximum. |
|
RJMP |
AVRe AVRxm AVRxt AVRrc |
Relative Jump |
|
ROL Rd |
AVRe AVRxm AVRxt AVRrc |
Rotate Left trough Carry |
|
ROR Rd |
AVRe AVRxm AVRxt AVRrc |
Rotate Right through Carry |
|
SBCI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Subtract Immediate with Carry SBI |
|
SBC Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Subtract with Carry |
|
SBIC A,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in I/O Register is Cleared |
|
SBIS A,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in I/O Register is Set |
|
SBIW Rd,K |
AVRe AVRxm AVRxt |
Subtract Immediate from Word |
|
SBI A,b |
AVRe AVRxm AVRxt AVRrc |
Set Bit in I/O Register |
|
SBRC Rr,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in Register is Cleared |
|
SBRC Rr,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in Register is Cleared |
|
SBRS Rr,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in Register is Set |
|
SBRS Rr,b |
AVRe AVRxm AVRxt AVRrc |
Skip if Bit in Register is Set |
|
SBR Rd,K |
AVRe AVRxm AVRxt AVRrc |
Set Bits in Register |
|
SEC |
AVRe AVRxm AVRxt AVRrc |
Set Carry Flag |
|
SEH |
AVRe |
Set Half Carry Flag |
|
SEI |
AVRe AVRxm AVRxt AVRrc |
Set Global Interrupt Enable Bit |
|
SEN |
AVRe AVRxm AVRxt AVRrc |
Set Negative Flag |
|
SER Rd |
AVRe AVRxm AVRxt AVRrc |
Set all Bits in Register |
|
SES |
AVRe AVRxm AVRxt AVRrc |
Set Sign Flag |
|
SET |
AVRe |
Set T Bit |
|
SEV |
AVRe AVRxm AVRxt AVRrc |
Set Overflow Flag |
|
SEZ |
AVRe AVRxm AVRxt AVRrc |
Set Zero Flag |
|
SLEEP |
AVRe AVRxm AVRxt AVRrc |
|
|
SPM |
AVRe |
Store Program Memory Erase program memory page |
|
SPM |
AVRe |
Store Program Memory Write program memory word |
|
SPM |
AVRe |
Store Program Memory Load page buffer |
|
SPM |
AVRe |
Store Program Memory Write page buffer to program memory |
|
SPM |
AVRe |
Store Program Memory Set Boot Loader Lock bits |
|
SPM |
AVRxm AVRxt |
Store Program Memory Erase program memory page |
|
SPM |
AVRxm AVRxt |
Store Program Memory Write to program memory word(1) |
|
SPM |
AVRxm AVRxt |
Store Program Memory Load Page Buffer(2) |
|
SPM |
AVRxm AVRxt |
Store Program Memory Write Page Buffer to program memory(2) |
|
SPM Z+ |
AVRxm AVRxt |
Store Program Memory Erase program memory page, Z post incremented |
|
SPM Z+ |
AVRxm AVRxt |
Store Program Memory Write to program memory word, Z post incremented(1) |
|
SPM Z+ |
AVRxm AVRxt |
Store Program Memory Load Page Buffer, Z post incremented(2) |
|
SPM Z+ |
AVRxm AVRxt |
Store Program Memory Write Page Buffer to program memory, Z post
incremented |
|
ST Y, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Y Y: Unchanged |
|
ST Y+, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Y Y: Post incremented |
|
ST -Y, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Y Y: Pre decremented |
|
STD Y+q, Rr |
AVRe AVRxm AVRxt |
Store Indirect From Register to Data Space using Index Y Y: Unchanged, q:
Displacement |
|
ST Z, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Z Z: Unchanged |
|
ST Z+, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Z Z: Post incremented |
|
ST -Z, Rr |
AVRe AVRe AVRxm AVRxm AVRxt AVRxt AVRrc |
Store Indirect From Register to Data Space using Index Z Z: Pre decremented |
|
STD Z+q, Rr |
AVRe AVRxm AVRxt |
Store Indirect From Register to Data Space using Index Z Z: Unchanged, q:
Displacement |
|
STS k,Rr |
AVRrc |
Store Direct to Data Space |
|
STS k,Rr |
AVRe AVRxm AVRxt |
Store Direct to Data Space |
|
ST X, Rr |
AVRxm AVRxt AVRrc AVRe |
Store Indirect From Register to Data Space using Index X X: Unchanged |
|
ST X+, Rr |
AVRxm AVRxt AVRrc AVRe |
Store Indirect From Register to Data Space using Index X X: Post incremented |
|
ST -X, Rr |
AVRxm AVRxt AVRrc AVRe |
Store Indirect From Register to Data Space using Index X X: Pre decremented |
|
SUBI Rd,K |
AVRe AVRxm AVRxt AVRrc |
Subtract Immediate |
|
SUB Rd,Rr |
AVRe AVRxm AVRxt AVRrc |
Subtract Without Carry |
|
SWAP Rd |
AVRe AVRxm AVRxt AVRrc |
Swap Nibbles |
|
TST Rd |
AVRe AVRxm AVRxt AVRrc |
Test for Zero or Minus |
|
WDR |
AVRe AVRxm AVRxt AVRrc |
Watchdog Reset |
|
XCH Z,Rd |
AVRxm |
Exchange |