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