[FRAGE] Stack-Tutorial

Gast #137927
Huhu...,
ich bin super zufrieden mit den Tutorials, aber eine kleine frage habe
ich. In diesem Tutorial
(http://www.mikrocontroller.net/attachment.php/675/Der-Stack-2.pdf)
versuche ich den einen Schritt zu verstehen:

a)Der SPL ist mit 223 besetzt. Mit den beiden PUSH kommt der SPL runter
auf 221. Aber warum reduziert sich der SPL auf 219 wenn gerade einmal
die Funktion Addiere aufgerufen wurde? Die 2 PUSH verschlingen je 1
Byte und wieso die Funktion gleich 2?


b)Wie komme ich von dem wErt 123SRAM auf den Dezimalwert 223?
c)Gibt es noch weitere Tutorials die man sich durchlenen sollte, gerade
was AVR und ASSEMBLER angeht? Ich habe noch keinen Überlbick wann ich
mov,ldi, etc. ... verwende. (PUSHen und POPen nutze ich im Zusammenhang
mit dem Stack,dass weiss ich nun,aber den Rest...)
Gast #137928
zu a) Beim Aufruf der Funktion wird - wie beschrieben - die
Rücksprungadresse auf dem Stack abgelegt. Diese Adresse ist nun mal 2
Bytes lang, denn mit einem Byte könnte man ja nur 256 Bytes Flash
adressieren.

zu b) Du meinst, wie man von der SRAM-Größe von 128 auf RAMEND = 223
kommt? Der SRAM beginnt - wie beschrieben - erst bei der Adresse 0x60 =
96 (vorher sind die Register und die IO-Register in den Adressraum
gemappt). Damit belegen 128 Bytes SRAM den Adressraum von 96 bis 223
(dezimal).

zu c) Eine komplette Beschreibung aller Befehle gibts unter
http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.