mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wo ist der Unterschied?


Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

bestimmt ganz einfach nur wo ist der Unterschied zwischen diesen beiden
Aufrufen?

  ldi ZL,Low(MSG_INI1)
  ldi ZH,High(MSG_INI1)

und

  ldi ZL,Low(MSG_INI1*2)
  ldi ZH,High(MSG_INI1*2)

Was bedeutet das '*' ???

Gruß AVRli...

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du schon mal programmiert?? * steht für "mal" (Multiplikation)

grüsse leo9

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*2 bedeutet nichts anderes als "mal zwei", also eine Multiplikation
mit 2, die aber schon zu assemblierzeit ausgeführt wird, da ja der Wert
von MSG_INI1 zu der Zeit bekannt ist.

Ich nehme an, dass hier etwas mit der LPM-Anweisung aus dem FLASH
gelesen werden soll. Da der Programmspeicher (also Flash) in Wörtern
der Breite 16 Bit gegliedert ist, man aber mit LPM auf einzelne Bytes
zugreifen kann, muss man bei der Adressierung aufpassen. Die Label wie
MSG_INI1 evaluieren nämlich zu den 16-bit-Word-Adressen.

Um also auf die richtige Speicherstelle hinzuweisen muss z.B. beim
10ten 16-Bit-Wort im Flash auf das 20ste Byte zugegriffen werden, also
eine Multiplikation mit 2 (oder ein Linksshift um 1).

Siehe auch die AVR Hilfe-Datei zum Befehl LPM.

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Christof,

danke für die Erklärung!
Ja das ist das also... ok dann sind alle Klarheiten beseitigt. ;-)

@leo9
;-)

Gruß AVRli...

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.