Gast
#4443880
Hallo zusamme, mir fehlt eine kleine Information um den Stack im ATMEGA16 zu verstehen. Vielleicht kann einer weiterhelfen. RAM Adress | Bezeichner | Wert --------------------------------------- 0x005D | Stackpointer HB |0x01 0x005E | "" LB |0x30 ----------------------------------------- 0x0130 | ???? | Worauf zeigt der Stackpointer? Dachte er zeigt auf die Rücksprungadresse und ist dann 2 Byte groß. Wenn ich im Debugger den Speicher mit dem Disassambly vergleiche stimmt der Wert auf den der Stackpointer zeigt nicht mit der Rücksprungadresse im RAM überein. Bsp. ProgrammCounter Code 0x05 Funktion(); 0x06 a=b; RAM Adress | Bezeichner | Wert --------------------------------------- 0x005D | Stackpointer HB |0x01 0x005E | "" LB |0x30 ----------------------------------------- 0x0130 |Rücksprungadresse | hier sollte doch die Adresse (0x06) stehen die auf die nächste Zeile nach der Funktion() zeigt. hoffentlich versteht jemand was hier steht :D