Atmel AVR instruction set: Difference between revisions

Content deleted Content added
Line 295:
! Transfers
! Bit-Wise
|- {{ts|vtp}}
|-
! scope=row | Minimal AVR1 Core
| {{ublist|AT90S1200|ATtiny11|ATtiny12|ATtiny15|ATtiny28}}
| {{ublist|item_style=font-family:monospace;|item_style=font-family:monospace;|ADD|ADC|SUB |SUBI|SBC|SBCI|AND|ANDI|OR|ORI|EOR|COM|NEG|SBR|CBR|INC|DEC|TST|CLR|SER}}
| {{ublist|item_style=font-family:monospace;|RJMP|RCALL|RET|RETI|CPSE|CP|CPC|CPI|SBRC|SBRS|SBIC|SBIS|BRBS|BRBC|BREQ|BRNE|BRCS|BRCC|BRSH|BRLO|BRMI|BRPL|BRGE|BRLT|BRHS|BRHC|BRTS|BRTC|BRVS|BRVC|BRIE|BRID}}
| {{ublist|item_style=font-family:monospace;|LD|ST|MOV|LDI|IN|OUT|LPM (not in AT90S1200)}}
| {{ublist|item_style=font-family:monospace;|SBI|CBI|LSL|LSR|ROL|ROR|ASR|SWAP|BSET|BCLR|BST|BLD|SEC|CLC|SEN|CLN|SEZ|CLZ|SEI|CLI|SES|CLS|SEV|CLV|SET|CLT|SEH|CLH|NOP|SLEEP|WDR}}
|- {{ts|vtp}}
|-
! scope=row | Classic Core up to 8K Program Space ("AVR2")
| {{ublist|AT90S2313|AT90S2323|ATtiny22|AT90S2333|AT90S2343|AT90S4414|AT90S4433|AT90S4434|AT90S8515|AT90C8534|AT90S8535|ATtiny26}}
| new instructions: {{ublist|item_style=font-family:monospace;|ADIW|SBIW}}
| new instructions: {{ublist|item_style=font-family:monospace;|IJMP|ICALL}}
| new instructions: {{ublist|item_style=font-family:monospace;|LD (now 9 modes)|LDD|LDS|ST (9 modes)|STD|STS|PUSH|POP}}
| (nothing new)
|- {{ts|vtp}}
|-
! scope=row | AVR2, with MOVW and LPM instructions ("AVR2.5")
|
Line 336:
* LPM (Rx, Z[+])
|(nothing new)
|- {{ts|vtp}}
|-
! scope=row | Classic Core with up to 128K ("AVR3")
| {{ublist|ATmega103|ATmega603|AT43USB320|AT76C711}}
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|JMP|CALL}}
| new instructions:{{ublist|item_style=font-family:monospace;|ELPM (in "AVR3.1")}}
| (nothing new)
|- {{ts|vtp}}
|-
! scope=row | Enhanced Core with up to 8K ("AVR4")
| {{ublist|ATmega8|ATmega83|ATmega85|ATmega8515}}
| new instructions:{{ublist|item_style=font-family:monospace;|MUL|MULS|MULSU|FMUL|FMULS|FMULSU<ref> Atmel. [http://www.atmel.com/Images/doc1631.pdf Application Note "AVR201: Using the AVR Hardware Multiplier"]. 2002. quote: "The megaAVR is a series of new devices in the AVR RISC Microcontroller family that includes, among other new enhancements, a hardware multiplier."</ref>}}
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|MOVW|LPM (3 modes)|SPM}}
| (nothing new)
|- {{ts|vtp}}
|-
! scope=row | Enhanced Core with up to 128K ("AVR5", "AVR5.1")
| {{ublist|ATmega16|ATmega161|ATmega163|ATmega32|ATmega323|ATmega64|ATmega128|AT43USB355|[[Atmel At94k|AT94 (FPSLIC)]]|AT90CAN series|AT90PWM series|ATmega48|[[ATmega88]]|ATmega168|ATmega162|ATmega164|ATmega324|[[ATmega328]]|ATmega644|ATmega165|ATmega169|ATmega325|ATmega3250|ATmega645|ATmega6450|ATmega406}}
| (nothing new)
| new instruction: {{ublist|item_style=font-family:monospace;|ELPMX ("AVR5.1")}}
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|BREAK}}
|- {{ts|vtp}}
|-
! scope=row | Enhanced Core with up to 4M ("AVR5" and "AVR6")
| {{ublist|ATmega640|ATmega1280|ATmega1281|ATmega2560|ATmega2561}}
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|EIJMP|EICALL}}
| (nothing new)
| (nothing new)
|- {{ts|vtp}}
|-
! scope=row | XMEGA Core ("avrxmega" 2-6)
| ATxmega series
| new instructions:{{ublist|item_style=font-family:monospace;|DES}}
| (nothing new)
| new instructions (from second revision silicon - AU,B,C parts) {{ublist|item_style=font-family:monospace;|XCH|LAS|LAC|LAT}}
| (nothing new)
|- {{ts|vtp}}
|-
! scope=row | Reduced AVRtiny Core ("avrtiny10")
| {{ublist|ATtiny40|ATtiny20|ATtiny10|ATtiny9|ATtiny5|ATtiny4}}
| (Identical to minimal core, except for reduced CPU register set)
| (Identical to classic core with up to 8K, except for reduced CPU register set)
| Identical to classic core with up to 8K, with the following exceptions:{{ublist|item_style=font-family:monospace;|LPM (removed)|LDD (removed)|STD (removed)|LD (also accesses program memory)|LDS (different bit pattern)|STS (different bit pattern)|Reduced CPU register set}}
| (Identical to enhanced core with up to 128K, except for reduced CPU register set)
|}