www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pointer sichern?


Autor: Uwe Blank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe da ein problem, kann man den Wert auf den die yh und yl pointer
Zeigen in ein Register sichern.Also nicht der inhalt der in der
Speicherzelle im Programmspeicher steht sondern die
Speicherzellenadresse?

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Y-Register ist doch nur ein anderer Name für 2 normale Register.
Welche steht im Datenblatt (weiss nicht mehr auswendig)

Autor: Uwe Blank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich meinte die Y-Register   Y-register sind R28 und R29.
Ich habe versucht die Wert der Register über STS 0x01a2,r30 ins
Ram zu sichern bekomme aber folgende Fehlermeldung: Invalid Register

Autor: Uwe Blank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry habe den fehler gefunden , war ein schreibfehler kommt wenn man zu
lange sitzt und Code rein hämmert

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum benutzt Du nicht einfach PUSH zum sichern und POP zum
rücksichern?
 PUSH yl
 PUSH yh
 .....
 POP yh
 pop yh

Wichtig: Beim rücksichern mit POP in umgekehrter Reihenfolge!

Oder mit MOVW (geht schneller):
 MOVW r1:r0,yh:yl (MOVW r0,yl geht auch)
 .....
 MOVW yl,r0 (rücksichern)

Dann darf allerdings r0 und r1 nicht für andere Zwecke benutzt werden,
man kann auch andere, sonst nicht verwendete Register benutzen.

MfG
Andi

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinte natürlich:
 PUSH yl
 PUSH yh
 .....
 POP yh
 pop yl

MfG
Andi

Autor: Michael Frangenberg (startrekmichi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"Dann darf allerdings r0 und r1 nicht für andere Zwecke benutzt
werden,"

und das kann relativ schnell unbeabsichtigt geschehen, weil manche
Befehle r0 und r1 als Zwischen-/Ausgabespeicher nutzen. Also am besten
irgendwo nach r3 bis r15 sichern

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.