Herunterladen Diese Seite drucken

Atmel STK500 Bedienungsanleitung Seite 14

Avr-tutorial
Vorschau ausblenden Andere Handbücher für STK500:

Werbung

AVR-Tutorial - 3. Der Stack - www.mikrocontroller.net
file:///E|/Elektronik/AVR/assemblertutorial/stack.htm (4 of 6)30.01.2007 15:23:42
verkleinert? Das liegt daran, dass eine Programmspeicheradresse bis zu 2 Byte breit sein kann, und somit auch
2 Byte auf dem Stack benötigt werden um die Adresse zu speichern.
Das gleiche passiert beim Aufruf von sub2.
Zur Rückkehr aus dem mit rcall aufgerufenen Unterprogramm gibt es den Befehl ret. Dieser Befehl sorgt dafür,
dass der Stackpointer wieder um 2 erhöht wird, und die dabei eingelesene Adresse in den "Program Counter"
kopiert wird, so dass das Programm dort fortgesetzt wird.
A propos Program Counter: wer sehen will wie so ein Programm aussieht wenn es assembliert ist sollte mal die
Datei mit der Endung ".lst" im Verzeichnis wo sich das Projekt befindet öffnen. Die Datei sollte ungefähr so
aussehen:
Im
blau
umrahmten Bereich steht die Adresse des Befehls im Programmspeicher. Das ist auch die Zahl, die im
Program Counter angezeigt wird, und die beim Aufruf eines Unterprogramms auf den Stack gelegt wird. Der
grüne
Bereich rechts daneben ist der OP-Code des Befehls, so wie er in den Programmspeicher des Controllers
programmiert wird, und im
roten
eingibt.
Kasten stehen die "mnemonics": das sind die Befehle, die man im Assembler

Werbung

loading