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...)
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.