as: AVR Opcodes

1 
1 9.5.3 Opcodes
1 -------------
1 
1 For detailed information on the AVR machine instruction set, see
1 <www.atmel.com/products/AVR>.
1 
1    'as' implements all the standard AVR opcodes.  The following table
1 summarizes the AVR opcodes, and their arguments.
1 
1      Legend:
1         r   any register
1         d   'ldi' register (r16-r31)
1         v   'movw' even register (r0, r2, ..., r28, r30)
1         a   'fmul' register (r16-r23)
1         w   'adiw' register (r24,r26,r28,r30)
1         e   pointer registers (X,Y,Z)
1         b   base pointer register and displacement ([YZ]+disp)
1         z   Z pointer register (for [e]lpm Rd,Z[+])
1         M   immediate value from 0 to 255
1         n   immediate value from 0 to 255 ( n = ~M ). Relocation impossible
1         s   immediate value from 0 to 7
1         P   Port address value from 0 to 63. (in, out)
1         p   Port address value from 0 to 31. (cbi, sbi, sbic, sbis)
1         K   immediate value from 0 to 63 (used in 'adiw', 'sbiw')
1         i   immediate value
1         l   signed pc relative offset from -64 to 63
1         L   signed pc relative offset from -2048 to 2047
1         h   absolute code address (call, jmp)
1         S   immediate value from 0 to 7 (S = s << 4)
1         ?   use this opcode entry if no parameters, else use next opcode entry
1 
1      1001010010001000   clc
1      1001010011011000   clh
1      1001010011111000   cli
1      1001010010101000   cln
1      1001010011001000   cls
1      1001010011101000   clt
1      1001010010111000   clv
1      1001010010011000   clz
1      1001010000001000   sec
1      1001010001011000   seh
1      1001010001111000   sei
1      1001010000101000   sen
1      1001010001001000   ses
1      1001010001101000   set
1      1001010000111000   sev
1      1001010000011000   sez
1      100101001SSS1000   bclr    S
1      100101000SSS1000   bset    S
1      1001010100001001   icall
1      1001010000001001   ijmp
1      1001010111001000   lpm     ?
1      1001000ddddd010+   lpm     r,z
1      1001010111011000   elpm    ?
1      1001000ddddd011+   elpm    r,z
1      0000000000000000   nop
1      1001010100001000   ret
1      1001010100011000   reti
1      1001010110001000   sleep
1      1001010110011000   break
1      1001010110101000   wdr
1      1001010111101000   spm
1      000111rdddddrrrr   adc     r,r
1      000011rdddddrrrr   add     r,r
1      001000rdddddrrrr   and     r,r
1      000101rdddddrrrr   cp      r,r
1      000001rdddddrrrr   cpc     r,r
1      000100rdddddrrrr   cpse    r,r
1      001001rdddddrrrr   eor     r,r
1      001011rdddddrrrr   mov     r,r
1      100111rdddddrrrr   mul     r,r
1      001010rdddddrrrr   or      r,r
1      000010rdddddrrrr   sbc     r,r
1      000110rdddddrrrr   sub     r,r
1      001001rdddddrrrr   clr     r
1      000011rdddddrrrr   lsl     r
1      000111rdddddrrrr   rol     r
1      001000rdddddrrrr   tst     r
1      0111KKKKddddKKKK   andi    d,M
1      0111KKKKddddKKKK   cbr     d,n
1      1110KKKKddddKKKK   ldi     d,M
1      11101111dddd1111   ser     d
1      0110KKKKddddKKKK   ori     d,M
1      0110KKKKddddKKKK   sbr     d,M
1      0011KKKKddddKKKK   cpi     d,M
1      0100KKKKddddKKKK   sbci    d,M
1      0101KKKKddddKKKK   subi    d,M
1      1111110rrrrr0sss   sbrc    r,s
1      1111111rrrrr0sss   sbrs    r,s
1      1111100ddddd0sss   bld     r,s
1      1111101ddddd0sss   bst     r,s
1      10110PPdddddPPPP   in      r,P
1      10111PPrrrrrPPPP   out     P,r
1      10010110KKddKKKK   adiw    w,K
1      10010111KKddKKKK   sbiw    w,K
1      10011000pppppsss   cbi     p,s
1      10011010pppppsss   sbi     p,s
1      10011001pppppsss   sbic    p,s
1      10011011pppppsss   sbis    p,s
1      111101lllllll000   brcc    l
1      111100lllllll000   brcs    l
1      111100lllllll001   breq    l
1      111101lllllll100   brge    l
1      111101lllllll101   brhc    l
1      111100lllllll101   brhs    l
1      111101lllllll111   brid    l
1      111100lllllll111   brie    l
1      111100lllllll000   brlo    l
1      111100lllllll100   brlt    l
1      111100lllllll010   brmi    l
1      111101lllllll001   brne    l
1      111101lllllll010   brpl    l
1      111101lllllll000   brsh    l
1      111101lllllll110   brtc    l
1      111100lllllll110   brts    l
1      111101lllllll011   brvc    l
1      111100lllllll011   brvs    l
1      111101lllllllsss   brbc    s,l
1      111100lllllllsss   brbs    s,l
1      1101LLLLLLLLLLLL   rcall   L
1      1100LLLLLLLLLLLL   rjmp    L
1      1001010hhhhh111h   call    h
1      1001010hhhhh110h   jmp     h
1      1001010rrrrr0101   asr     r
1      1001010rrrrr0000   com     r
1      1001010rrrrr1010   dec     r
1      1001010rrrrr0011   inc     r
1      1001010rrrrr0110   lsr     r
1      1001010rrrrr0001   neg     r
1      1001000rrrrr1111   pop     r
1      1001001rrrrr1111   push    r
1      1001010rrrrr0111   ror     r
1      1001010rrrrr0010   swap    r
1      00000001ddddrrrr   movw    v,v
1      00000010ddddrrrr   muls    d,d
1      000000110ddd0rrr   mulsu   a,a
1      000000110ddd1rrr   fmul    a,a
1      000000111ddd0rrr   fmuls   a,a
1      000000111ddd1rrr   fmulsu  a,a
1      1001001ddddd0000   sts     i,r
1      1001000ddddd0000   lds     r,i
1      10o0oo0dddddbooo   ldd     r,b
1      100!000dddddee-+   ld      r,e
1      10o0oo1rrrrrbooo   std     b,r
1      100!001rrrrree-+   st      e,r
1      1001010100011001   eicall
1      1001010000011001   eijmp
1