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 |