Funktionale Übersicht über die Befehle der AVR - Mikrocontroller Familie in deutscher Fassung.

Arithmetische und logische Befehle
Datentransport - Befehle
MCU - Steuerbefehle
Verzweigungs - Befehle
Bit - Befehle und Bit-Test - Befehle

Datentransport - Befehle

Mnemonik Operanden Beschreibung Operation Flags Takte
MOV Rd, Rr Kopiert von Register nach Register Rd ← Rr keines 1
MOVW (1) Rd, Rr Kopiert von Registerpaar nach Registerpaar Rd+1:Rd ← Rr+1:Rr keines 1
LDI Rd, K (3) Register mit Konstante laden Rd ← K keines 1
LDS (1) Rd, k Register mit Konstante aus Datenspeicher laden Rd ← (k) keines 2
LD (2) Rd, X Register indirekt laden Rd ← (X) keines 2
LD (2) Rd, X+ Register indirekt laden und Zeiger anschließend inkrementieren Rd ← (X), X ← X + 1 keines 2
LD (2) Rd, -X Register indirekt laden und Zeiger vorher dekrementieren X ← X - 1, Rd ← (X) keines 2
LD (2) Rd, Y Register indirekt laden Rd ← (Y) keines 2
LD (2) Rd, Y+ Register indirekt laden und Zeiger anschließend inkrementieren Rd ← (Y), Y ← Y + 1 keines 2
LD (2) Rd, -Y Register indirekt laden und Zeiger vorher dekrementieren Y ← Y - 1, Rd ← (Y) keines 2
LDD (1) Rd, Y+q Register indirekt mit Verschiebung laden Rd ← (Y + q) keines 2
LD (2) Rd, Z Register indirekt laden Rd ← (Z) keines 2
LD (2) Rd, Z+ Register indirekt laden und Zeiger anschließend inkrementieren Rd ← (Z), Z ← Z + 1 keines 2
LD (2) Rd, -Z Register indirekt laden und Zeiger vorher dekrementieren Z ← Z - 1, Rd ← (Z) keines 2
LDD (2) Rd, Z+q Register indirekt mit Verschiebung laden Rd ← (Z + q) keines 2
STS (1) k, Rr Register in Datenspeicher speichern (k) ← Rr keines 2
ST (2) X, Rr Register indirekt speichern (X) ← Rr keines 2
ST (2) X+, Rr Register indirekt speichern und X danach inkrementieren (X) ← Rr, X ← X + 1 keines 2
ST (2) -X, Rr Register indirekt speichern und X vorher dekrementieren X ← X - 1, (X) ← Rr keines 2
ST (2) Y, Rr Register indirekt speichern (Y) ← Rr keines 2
ST (2) Y+, Rr Register indirekt speichern und Y danach inkrementieren (Y) ← Rr, Y ← Y + 1 keines 2
ST (2) -Y, Rr Register indirekt speichern und Y vorher dekrementieren Y ← Y - 1, (Y) ← Rr keines 2
STD (1) Y+q, Rr Register indirekt mit Verschiebung speichern (Y + q) ← Rr keines 2
ST (2) Z, Rr Register indirekt speichern (Z) ← Rr keines 2
ST (2) Z+, Rr Register indirekt speichern und Z danach inkrementieren (Z) ← Rr, Z ← Z + 1 keines 2
ST (2) -Z, Rr Register indirekt speichern und Z vorher dekrementieren Z ← Z - 1, (Z) ← Rr keines 2
STD (1) Z+q, Rr Register indirekt mit Verschiebung speichern (Z + q) ← Rr keines 2
LPM (2)   Laden aus dem Programmspeicher in R0 R0 ← (Z) keines 3
LPM (2) Rd, Z Laden aus dem Programmspeicher in Rd Rd ← (Z) keines 3
LPM (2) Rd, Z+ Laden aus dem Programmspeicher in Rd und Z hinterher inkrementieren Rd ← (Z), Z ← Z + 1 keines 3
ELPM (1)   Laden aus dem erweiterten Programmspeicher in R0 R0 ← (RAMPZ:Z) keines 3
ELPM (1) Rd, Z Laden aus dem erweiterten Programmspeicher in Rd Rd ← (RAMPZ:Z) keines 3
ELPM (1) Rd, Z+ Laden aus dem erweiterten Programmspeicher in Rd und Z hinterher inkrementieren Rd ← (RAMPZ:Z), Z ← Z + 1 keines 3
SPM (1)   In den Programmspeicher speichern (Z) ← R1:R0 keines -
IN Rd, A I/O Stelle einlesen Rd ← A keines 1
OUT A, Rr I/O Stelle ausgeben A ← Rr keines 1
PUSH (1) Rr Sichert Rr in den Stack STACK ← Rr keines 2
POP (1) Rd Holt Stack in Rd Rd ← STACK keines 2


Erläuterungen:
(1) Dieser Befehl ist nicht in allen AVR - Mikrocontrollern implementiert
(2) Nicht alle Varianten dieses Befehls sind in allen AVR - Mikrocontrollern verfügbar
(3) Dieser Befehl kann nicht mit allen Registern verwendet werden


oben weiter MCU - Steuerbefehle
zurück Arithmetische und logische Befehle
Rolf Bröcker (http://www.rolfbroecker.de/)
Quelle: Englisches Datenblatt Atmel.