AVR Assembler - Vergleichstabelle: Unterschied zwischen den Versionen
Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Stefan (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
(Korrektur, Atmega8 kann den Befehl BREAK nicht) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 14: | Zeile 14: | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8<br>mega48<br>mega88 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega32<br>mega64<br>mega128 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega168<br>mega32<br>mega64<br>mega128 | ||
|- | |- | ||
| style="background: #ffdead;" | ADD | | style="background: #ffdead;" | ADD | ||
Zeile 248: | Zeile 248: | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8<br>mega48<br>mega88 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega32<br>mega64<br>mega128 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega168<br>mega32<br>mega64<br>mega128 | ||
|- | |- | ||
| style="background: #ffdead;" | RJMP | | style="background: #ffdead;" | RJMP | ||
Zeile 562: | Zeile 562: | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8<br>mega48<br>mega88 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega32<br>mega64<br>mega128 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega168<br>mega32<br>mega64<br>mega128 | ||
|- | |- | ||
| style="background: #ffdead;" | MOV | | style="background: #ffdead;" | MOV | ||
Zeile 700: | Zeile 700: | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8<br>mega48<br>mega88 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega32<br>mega64<br>mega128 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega168<br>mega32<br>mega64<br>mega128 | ||
|- | |- | ||
| style="background: #ffdead;" | SBI | | style="background: #ffdead;" | SBI | ||
Zeile 934: | Zeile 934: | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny13<br>tiny2313 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |tiny26 | ||
| style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8 | | style="background:#ffdead; vertical-align: bottom; font-weight: bold; text-align:left;" |mega8<br>mega48<br>mega88 | ||
| style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega32<br>mega64<br>mega128 | | style="background:#fff0bf; vertical-align: bottom; font-weight: bold; text-align:left;" |mega16<br>mega162<br>mega168<br>mega32<br>mega64<br>mega128 | ||
|- | |- | ||
| style="background: #ffdead;" | BREAK | | style="background: #ffdead;" | BREAK | ||
Zeile 942: | Zeile 942: | ||
| style="font-weight: bold; text-align: center; color: red; background: #e0e0e0;"| X | | style="font-weight: bold; text-align: center; color: red; background: #e0e0e0;"| X | ||
| style="font-weight: bold; text-align: center; color: red; background: #e7e7e7;"| X | | style="font-weight: bold; text-align: center; color: red; background: #e7e7e7;"| X | ||
| style="font-weight: | | style="font-weight: normal; text-align: center; color: black; background: #e0e0e0;"| <b>o</b><br><small><span style="color:red;">außer<BR>Atmega8</span></small> | ||
| style="font-weight: bold; text-align: center; color: black; background: #e7e7e7;" | o | | style="font-weight: bold; text-align: center; color: black; background: #e7e7e7;" | o | ||
|- | |- | ||
Zeile 970: | Zeile 970: | ||
|} | |} | ||
== Weblinks == | |||
* Atmel Datenblätter | |||
** [http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf 8-bit Instruction Set] (PDF) | |||
** [http://www.atmel.com/dyn/resources/prod_documents/DOC3049.PDF Setup and Use of the LPM Instruction] (PDF) | |||
[[Category:AVR]] | [[Category:AVR]] |
Aktuelle Version vom 5. April 2013, 20:54 Uhr
Entstanden aus dem Forenbeitrag: Tabelle: welcher AVR welche Befehle?
Legende:
- o - vorhanden
- X - fehlt
Arithmetic and Logic Instructions | ||||||
---|---|---|---|---|---|---|
AT43USB 90S2313 90S8515 |
tiny11/12 | tiny13 tiny2313 |
tiny26 | mega8 mega48 mega88 |
mega16 mega162 mega168 mega32 mega64 mega128 | |
ADD | o | o | o | o | o | o |
ADC | o | o | o | o | o | o |
ADIW | o | X | o | o | o | o |
SUB | o | o | o | o | o | o |
SUBI | o | o | o | o | o | o |
SBC | o | o | o | o | o | o |
SBCI | o | o | o | o | o | o |
SBIW | o | X | o | o | o | o |
AND | o | o | o | o | o | o |
ANDI | o | o | o | o | o | o |
OR | o | o | o | o | o | o |
ORI | o | o | o | o | o | o |
EOR | o | o | o | o | o | o |
COM | o | o | o | o | o | o |
NEG | o | o | o | o | o | o |
SBR | o | o | o | o | o | o |
CBR | o | o | o | o | o | o |
INC | o | o | o | o | o | o |
DEC | o | o | o | o | o | o |
TST | o | o | o | o | o | o |
CLR | o | o | o | o | o | o |
SER | o | o | o | o | o | o |
MUL | X | X | X | X | o | o |
MULS | X | X | X | X | o | o |
MULSU | X | X | X | X | o | o |
FMUL | X | X | X | X | o | o |
FMULS | X | X | X | X | o | o |
FMULSU | X | X | X | X | o | o |
Branch Instructions | ||||||
AT43USB 90S2313 90S8515 |
tiny11/12 | tiny13 tiny2313 |
tiny26 | mega8 mega48 mega88 |
mega16 mega162 mega168 mega32 mega64 mega128 | |
RJMP | o | o | o | o | o | o |
IJMP | o | X | o | o | o | o |
EIJMP | X | X | X | X | X | X |
JMP | X | X | X | X | X | o |
RCALL | o | o | o | o | o | o |
ICALL | o | X | o | o | o | o |
EICALL | X | X | X | X | X | X |
CALL | X | X | X | X | X | o |
RET | o | o | o | o | o | o |
RETI | o | o | o | o | o | o |
CPSE | o | o | o | o | o | o |
CP | o | o | o | o | o | o |
CPC | o | o | o | o | o | o |
CPI | o | o | o | o | o | o |
SBRC | o | o | o | o | o | o |
SBRS | o | o | o | o | o | o |
SBIC | o | o | o | o | o | o |
SBIS | o | o | o | o | o | o |
BRBS | o | o | o | o | o | o |
BRBC | o | o | o | o | o | o |
BREQ | o | o | o | o | o | o |
BRNE | o | o | o | o | o | o |
BRCS | o | o | o | o | o | o |
BRCC | o | o | o | o | o | o |
BRSH | o | o | o | o | o | o |
BRLO | o | o | o | o | o | o |
BRMI | o | o | o | o | o | o |
BRPL | o | o | o | o | o | o |
BRGE | o | o | o | o | o | o |
BRLT | o | o | o | o | o | o |
BRHS | o | o | o | o | o | o |
BRHC | o | o | o | o | o | o |
BRTS | o | o | o | o | o | o |
BRTC | o | o | o | o | o | o |
BRVS | o | o | o | o | o | o |
BRVC | o | o | o | o | o | o |
BRIE | o | o | o | o | o | o |
BRID | o | o | o | o | o | o |
Data Transfer Instructions | ||||||
AT43USB 90S2313 90S8515 |
tiny11/12 | tiny13 tiny2313 |
tiny26 | mega8 mega48 mega88 |
mega16 mega162 mega168 mega32 mega64 mega128 | |
MOV | o | o | o | o | o | o |
MOVW | X | X | o | X | o | o |
LDI | o | o | o | o | o | o |
LDS | o | X | o | X | o | o |
LD | o | o | o | o | o | o |
LDD | o | X | o | o | o | o |
STS | o | X | o | o | o | o |
ST | o | o | o | o | o | o |
STD | o | X | o | o | o | o |
LPM | o | o | o | o | o | o |
ELPM | X | X | X | X | X | X |
SPM | X | X | o | X | o | o |
IN | o | o | o | o | o | o |
OUT | o | o | o | o | o | o |
PUSH | o | X | o | o | o | o |
POP | o | X | o | o | o | o |
Bit and Bit-test Instructions | ||||||
AT43USB 90S2313 90S8515 |
tiny11/12 | tiny13 tiny2313 |
tiny26 | mega8 mega48 mega88 |
mega16 mega162 mega168 mega32 mega64 mega128 | |
SBI | o | o | o | o | o | o |
CBI | o | o | o | o | o | o |
LSL | o | o | o | o | o | o |
LSR | o | o | o | o | o | o |
ROL | o | o | o | o | o | o |
ROR | o | o | o | o | o | o |
ASR | o | o | o | o | o | o |
SWAP | o | o | o | o | o | o |
BSET | o | o | o | o | o | o |
BCLR | o | o | o | o | o | o |
BST | o | o | o | o | o | o |
BLD | o | o | o | o | o | o |
SEC | o | o | o | o | o | o |
CLC | o | o | o | o | o | o |
SEN | o | o | o | o | o | o |
CLN | o | o | o | o | o | o |
SEZ | o | o | o | o | o | o |
CLZ | o | o | o | o | o | o |
SEI | o | o | o | o | o | o |
CLI | o | o | o | o | o | o |
SES | o | o | o | o | o | o |
CLS | o | o | o | o | o | o |
SEV | o | o | o | o | o | o |
CLV | o | o | o | o | o | o |
SET | o | o | o | o | o | o |
CLT | o | o | o | o | o | o |
SEH | o | o | o | o | o | o |
CLH | o | o | o | o | o | o |
MCU Control Instructions | ||||||
AT43USB 90S2313 90S8515 |
tiny11/12 | tiny13 tiny2313 |
tiny26 | mega8 mega48 mega88 |
mega16 mega162 mega168 mega32 mega64 mega128 | |
BREAK | X | X | X | X | o außer Atmega8 |
o |
NOP | o | o | o | o | o | o |
SLEEP | o | o | o | o | o | o |
WDR | o | o | o | o | o | o |
Weblinks
- Atmel Datenblätter