www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avr assembler label adresse Speichern


Autor: M. S. (sadmarvin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gerne label adressen Speichern, und später wieder abrufen und 
in den Z-Pointer laden

also im SRAM Platz reservieren:

.DSEG
label_addr: .BYTE 2

unter verschiedenen Labels sind daten abgelegt:

label1:
.db 00011101, 10101010
.db 11101010, 10001001

label2:
.db 11010100, 11100111
.db 01010011, 11111111

ect.

jetzt möchte ich abhöngig vom Inhalt eines registers eine best. Label 
Adresse im SRAM speichern

in einer ISR soll dann der Z-Pointer mit der Adresse die im SRAM unter 
label_addr gespeichert ist geladen werden


Wie speichere ich jetzt z.B. die Adresse von label2 in label_addr ?
und wie kann ich dann den Z-Pointer damit laden

Grüße
Michael

Autor: Klaus 2m5 (klaus2m5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;label2 von Wortadresse in Byteadresse wandeln
;und im RAM speichern
ldi   r16,low(label2<<1)
sts   label_addr,r16
ldi   r16,high(label2<<1)
sts   label_addr+1,r16

;z aus Memory laden
lds   zl,label_addr
lds   zh,label_addr+1

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Zeiger zeigt ins Ram, nicht in den Flash.
Es sind also alles Byte-Adressen.

ldi   r16,low(label2)
sts   label_addr,r16
ldi   r16,high(label2)
sts   label_addr+1,r16

dürfte also eher passen.

Gruß aus Berlin
Michael

Autor: M. S. (sadmarvin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke Euch.
:-)

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.