Frage zu AVR/Assembler 16-Bit Zahlen aus Flash lesen

Gast #1220438
Lesenswert?
• ▲
▼
Hallo,

ich habe eine Frage zum AVR(ATMEGA32)/Assembler und dem Einlesen von 
Zahlenwerten.

Ich möchte im Flashspeicher 16-Bit Zahlenwerte ablegen, die jeweils eine 
zeitdauer in Milisekunden darstellen.

pausen:    .dw 1000,10000,2000,0


Wenn der Wert 0 eingelesen wird, soll das Programm ersteinmal in einer 
Endlosschleife bleiben.

Die Zahlenwerte sollen eingelesen werden und das Lowbyte soll in R24 und 
das Highbyte in r25 gespeichert werden.


Mit

LDI ZL,LOW(pausen*2)
LDI ZH,HIGH(pausen*2)

setze zeige ich mit Z auf pausen.

Wie kann ich aber nun die Zahlen einlesen und in R24/R25 speichern?

Ich verstehe die Anwendung des LPM register,Z+ bzw LMP register bei 
16-Bit-Zahlen nicht.



Holger
Gast #1220770
Lesenswert?
• ▲
▼
Hi

Du solltest dich erst mal etwas mit den Assemblerbefehlen beschäftigen. 
Ansonsten im AVR-Studio den Cursor auf den Befehl setzen und F1 drücken. 
Die Assmblerdirektiven und Expressions sollte man natürlich man 
natürlich auch kennen.

>was machen diese beiden Befehle genau?

Der lädt das Z-Register mit der Adresse des (ersten) 16-Bit-Wertes.

MfG Spess
Gast #1220774
Lesenswert?
• ▲
▼
> was machen diese beiden Befehle genau?

Dasselbe wie:

LDI ZL,LOW(pausen*2)
LDI ZH,HIGH(pausen*2)

Ob nun mit zwei multiplizieren oder um eine Bitposition nach links 
verschieben, das ist in diesem Fall gehupft wie gesprungen, denn das 
rechnet nicht der AVR, sondern der Präprozessor des Assemblers. ;-)

...

Antwort schreiben

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.

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.