ubrsh BRSHBranch if Same or HigherAll1 / 21 / 21 / 21 / 2-------- icall ICALLIndirect Call to (Z)All3 / 42 / 32 / 33-------- sbi SBISet Bit in I/O RegisterAll2111-------- b e brtc BRTCBranch if T Bit ClearedAll1 / 21 / 21 / 21 / 2-------- clh CLHClear Half Carry Flag in SREGAll1111--0----- brmi BRMIBranch if MinusAll1 / 21 / 21 / 21 / 2-------- bset BSETFlag SetAll1111⇔⇔⇔⇔⇔⇔⇔⇔ d lat LATLoad and ToggleAllN/A2N/AN/A-------- Y U muls MULSMultiply SignedAll222N/A------⇔⇔ U V adiw ADIWAdd Immediate to WordAll222N/A---⇔⇔⇔⇔⇔ U c call CALLCall SubroutineAll4 / 53/ 43 /4N/A-------- brhc BRHC!Branch if Half Carry Flag ClearedAll1 / 21 / 21 / 21 / 2-------- lpm LPMLoad Program MemoryAll333N/A-------- LPMLoad Program MemoryAll333N/A-------- U Y LPM'Load Program Memory and Post-
IncrementAll333N/A-------- U _ movw MOVWCopy Register PairAll111N/A-------- U V mulsu MULSUMultiply Signed with UnsignedAll222N/A------⇔⇔ U V ijmp IJMPIndirect Jump to (Z)All2222-------- st STStore IndirectAll2111-------- W V ST!Store Indirect and Post-IncrementAll2111-------- ] V ST Store Indirect and Pre-DecrementAll2212-------- Z V STStore IndirectAll2111-------- X V ST!Store Indirect and Post-IncrementAll2111-------- ^ V ST Store Indirect and Pre-DecrementAll2212-------- [ V STStore IndirectAll2111-------- Y V ST!Store Indirect and Post-IncrementAll2111-------- _ V ST Store Indirect and Pre-DecrementAll2212-------- \ V STD Store Indirect with DisplacementAll221N/A-------- ` V STD Store Indirect with DisplacementAll221N/A-------- a V brvc BRVC"Branch if Overflow Flag is
ClearedAll1 / 21 / 21 / 21 / 2-------- asr ASRArithmetic Shift RightAll1111---⇔⇔⇔⇔⇔ U ori ORILogical OR with ImmediateAll1111---⇔0⇔-⇔ U c cpi CPICompare with ImmediateAll1111--⇔⇔⇔⇔⇔⇔ U c sts STSStore Direct to Data SpaceAVRrc2221-------- V STSStore Direct to Data SpaceAll2221-------- V xch XCHExchangeAllN/A2N/AN/A-------- Y U clc CLCClear CarryAll1111------0- sbci SBCISubtract Immediate with CarryAll1111--⇔⇔⇔⇔⇔⇔ U c mul MULMultiply UnsignedAll222N/A------⇔⇔ U V cbr CBRClear Bit(s) in RegisterAll1111---⇔0⇔-⇔ U c brbs BRBSBranch if Status Flag SetAll1 / 21 / 21 / 21 / 2-------- d sbic SBIC#Skip if Bit in I/O Register ClearedAll 1 / 2 / 3 2 / 3 / 4 1 / 2 / 31 / 2-------- b e neg NEGTwo’s ComplementAll1111--⇔⇔⇔⇔⇔⇔ U sez SEZ
Set Zero FlagAll1111-------1 clr CLRClear RegisterAll1111---000-1 U ses SESSet Sign BitAll1111---1---- wdr WDRWatchdog ResetAll1111-------- brts BRTSBranch if T Bit SetAll1 / 21 / 21 / 21 / 2-------- elpm ELPMExtended Load Program MemoryAll333N/A-------- ELPMExtended Load Program MemoryAll333N/A-------- U Y ELPM/Extended Load Program Memory
and Post-IncrementAll333N/A-------- U _ fmulsu FMULSU(Fractional Multiply Signed with
UnsignedAll222N/A------⇔⇔ U V brhs BRHSBranch if Half Carry Flag SetAll1 / 21 /21 / 21 / 2-------- eijmp EIJMPExtended Indirect Jump to (Z)All222N/A-------- jmp JMPJumpAll333N/A-------- dec DEC DecrementAll1111---⇔⇔⇔-⇔ U ldi LDILoad ImmediateAll1111-------- U c brpl BRPLBranch if PlusAll1 / 21 / 21 / 21 / 2-------- lac LACLoad and ClearAllN/A2N/AN/A-------- Y U breq BREQBranch if EqualAll1 / 21 / 21 / 21 / 2-------- rcall RCALLRelative Call SubroutineAll3 / 42 / 32 / 33-------- sev SEVSet Two’s Complement OverflowAll1111----1--- brcs BRCSBranch if Carry SetAll1 / 21 / 21 / 21 / 2-------- brvs BRVSBranch if Overflow Flag is SetAll1 / 21 / 21 / 21 / 2-------- inc INC IncrementAll1111---⇔⇔⇔-⇔ U ror RORRotate Right Through CarryAll1111---⇔⇔⇔⇔⇔ U seh SEHSet Half Carry Flag in SREGAll1111--1----- push PUSHPush Register on StackAll2111-------- V bld BLDBit load from T to RegisterAll1111-------- U e cli CLIGlobal Interrupt DisableAll11110------- lsl LSLLogical Shift LeftAll1111--⇔⇔⇔⇔⇔⇔ U cls CLSClear Sign BitAll1111---0---- cp CPCompareAll1111--⇔⇔⇔⇔⇔⇔ U V andi ANDILogical AND with ImmediateAll1111---⇔0⇔-⇔ U c cpse CPSECompare, skip if EqualAll 1 / 2 / 3 1 / 2 / 3 1 / 2 / 31 / 2-------- U V mov MOV
Copy RegisterAll1111-------- U V clt CLTClear T in SREGAll1111-0------ nop NOPNo OperationAll1111-------- sbrs SBRSSkip if Bit in Register SetAll 1 / 2 / 3 1 / 2 / 3 1 / 2 / 31 / 2-------- V e rol ROLRotate Left Through CarryAll1111--⇔⇔⇔⇔⇔⇔ U tst TSTTest for Zero or MinusAll1111---⇔0⇔-⇔ U and ANDLogical ANDAll1111---⇔0⇔-⇔ U V sen SENSet Negative FlagAll1111-----1-- eicall EICALLExtended Indirect Call to (Z)All433N/A-------- las LASLoad and SetAllN/A2N/AN/A-------- Y U sbr SBRSet Bit(s) in RegisterAll1111---⇔0⇔-⇔ U c ser SERSet RegisterAll1111-------- U cbi CBIClear Bit in I/O RegisterAll2111-------- b e adc ADCAdd with CarryAll1111--⇔⇔⇔⇔⇔⇔ U V sei SEIGlobal Interrupt EnableAll11111------- lds LDSLoad Direct from Data SpaceAVRrc2332-------- U LDSLoad Direct from Data SpaceAll2332-------- U ret RETSubroutine ReturnAll4 / 54 / 54 / 56-------- brge BRGE"Branch if Greater or Equal,
SignedAll1 / 21 / 21 / 21 /2-------- bclr BCLR
Flag ClearAll1111⇔⇔⇔⇔⇔⇔⇔⇔ d brcc BRCCBranch if Carry ClearedAll1 / 21 / 21 / 21 / 2-------- ld LD
Load IndirectAll2221 / 2-------- U W LD Load Indirect and Post-IncrementAll2222 / 3-------- U ] LDLoad Indirect and Pre-DecrementAll2322 / 3-------- U Z LD
Load IndirectAll2221 / 2-------- U X LD Load Indirect and Post-IncrementAll2222 / 3-------- U ^ LDLoad Indirect and Pre-DecrementAll2322 / 3-------- U [ LD
Load IndirectAll2221 / 2-------- U Y LD Load Indirect and Post-IncrementAll2222 / 3-------- U _ LDLoad Indirect and Pre-DecrementAll2322 / 3-------- U \ LDDLoad Indirect with DisplacementAll232N/A-------- U ` LDDLoad Indirect with DisplacementAll232N/A-------- U a clz CLZClear Zero FlagAll1111-------0 in INIn From I/O LocationAll1111-------- U b break BREAKBreakAll1111-------- eor EORExclusive ORAll1111---⇔0⇔-⇔ U V brbc BRBCBranch if Status Flag ClearedAll1 / 21 / 21 / 21 / 2-------- d add ADDAdd without CarryAll1111--⇔⇔⇔⇔⇔⇔ U V fmul FMULFractional Multiply UnsignedAll222N/A------⇔⇔ U V brie BRIEBranch if Interrupt EnabledAll1 / 21 / 21 / 21 / 2-------- brid BRIDBranch if Interrupt DisabledAll1 / 21 / 21 / 21 / 2-------- sleep SLEEPSleepAll1111-------- pop POPPop Register from StackAll2223-------- U bst BSTBit Store from Register to TAll1111-⇔------ V e sbiw SBIWSubtract Immediate from WordAll222N/A---⇔⇔⇔⇔⇔ U c spm SPMStore Program MemoryAVRxm---N/A-------- SPM-Store Program Memory and Post-
Increment by 2AVRxmN/A- -N/A-------- _ SPMStore Program MemoryAVRxt---N/A-------- SPM-Store Program Memory and Post-
Increment by 2AVRxtN/A- -N/A-------- _ SPMStore Program MemoryAll---N/A-------- sec SEC Set CarryAll1111------1- reti RETIInterrupt ReturnAll4 / 54 / 54 / 561------- brlo BRLOBranch if LowerAll1 / 21 / 21 / 21 / 2-------- sbrc SBRCSkip if Bit in Register ClearedAll 1 / 2 / 3 1 / 2 / 3 1 / 2 / 31 / 2-------- V e com COMOne’s ComplementAll1111---⇔0⇔1⇔ U rjmp RJMP
Relative JumpAll2222-------- cpc CPCCompare with CarryAll1111--⇔⇔⇔⇔⇔⇔ U V fmuls FMULSFractional Multiply SignedAll222N/A------⇔⇔ U V subi SUBISubtract ImmediateAll1111--⇔⇔⇔⇔⇔⇔ U c clv CLV!Clear Two’s Complement
OverflowAll1111----0--- des DESData EncryptionAllN/A1 / 2N/AN/A c sbc SBCSubtract with CarryAll1111--⇔⇔⇔⇔⇔⇔ U V brne BRNEBranch if Not EqualAll1 / 21 / 21 / 21 / 2-------- swap SWAPSwap NibblesAll1111-------- U sbis SBISSkip if Bit in I/O Register SetAll 1 / 2 / 3 2 / 3 / 4 1 / 2 / 31 / 2-------- b e lsr LSRLogical Shift RightAll1111---⇔⇔0⇔⇔ U out OUTOut To I/O LocationAll1111-------- b V cln CLNClear Negative FlagAll1111-----0-- set SET
Set T in SREGAll1111-1------ or OR
Logical ORAll1111---⇔0⇔-⇔ U V sub SUBSubtract without CarryAll1111--⇔⇔⇔⇔⇔⇔ U V brlt BRLTBranch if Less Than, SignedAll1 / 21 / 21 / 21 / 2--------