Atmel AVR instruction set: Difference between revisions

Content deleted Content added
m Instruction list: {{sxhl|2=nasm|}}
Line 302:
| {{ublist|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|{{mono|LPM}} (not in AT90S1200)|item_style7=font-family:unset;}}
| {{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}}
Line 309:
| 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;|item_style1=font-family:unset;|{{mono|LD}} (now 9 modes)|LDD|LDS|item_style4=font-family:unset;|{{mono|ST}} (9 modes)|STD|STS|PUSH|POP}}
| (nothing new)
|- {{ts|vtp}}
Line 335:
|(nothing new)
|new instructions:
* {{mono|MOVW}}
* {{mono|LPM (Rx, Z[+])}}
|(nothing new)
|- {{ts|vtp}}
Line 343:
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|JMP|CALL}}
| new instructions:{{ublist|item_style=font-family:monospace;{{mono|ELPM}} (in "AVR3.1")}}
| (nothing new)
|- {{ts|vtp}}
Line 350:
| 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;{{mono|MOVW}}|{{mono|LPM}} (3 modes)|{{mono|SPM}}}}
| (nothing new)
|- {{ts|vtp}}
Line 356:
| {{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;{{mono|ELPMX}} ("AVR5.1")}}
| (nothing new)
| new instructions:{{ublist|item_style=font-family:monospace;|BREAK}}
Line 378:
| (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:{{ublistaligned table|cols=2|item_stylecol1style=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)
|}