Stack-Pointer!

Gast #89915
Hi!

Habe ein Prog. in AVR-Assembler erstellt und leider ein Problem mit dem
Hardware-Stack wenn das Prog im AVR-Simulator läuft.
Anfangs ist der Stack bei der Adresse $0000.
Wird mittel RCALL ein Sub-Prog. aufgerufen geht der Stack-Pointer auf
die Adresse $FFFE.
Nach einem RET landet der PC nicht bei dem Befehl nach dem RCALL
sondern geht zur Adresse $0000.
Was ist da falsch?
Hat der Tiny11/12/22 nun einen Stack oder nicht?
Laut Doku ist ja dieser 3-Level Hardwarestack, 9 Bit breit, in den
Tiny´s drin.
Muß man den am Prog.-Start vorher initialiesieren?
Und wenn, auf was und wie ohne SRAM?

Gruß
Andi
Gast #89916
Man, ich hab Probleme :-)
Hatte zuvor AVR-Studio 4.03 installiert und da ging der AVR-Simulator
nicht mit nen Tiny12.
Hatte deshalb den Tiny22 ausgewählt (mit SRAM).
Habe nun 4.09 drauf, Simulator geht mit Tiny12 und alles OK!

Gruß
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.