www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik was bedeutetder befehl?


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich verstehe hier gerade eine Befehlszeile nicht: ldi r16,low(511)
...ist für einen mega 128...aber was genau macht sie? bzw woher nimmt
sie den wert her, der in r16 gespeichert wird?...vorallem dieses low ()
ist mir eine grauzone.

hoffe ihr könnt mir ma wieder helfen

grüsse ralf

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

dieses LOW ist Teil des Assembler und nimmt das niederwertige Byte von
511 (da dies offenbar 2 Byte breit ist). Der Wert wird vom Assembler
bestimmt und eingesetzt, denn LDI verlangt da ja ein "immediate".

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
boah ...klasse, dat ging schnell...aber was zum geier iss 511 dachte
immer es währe eine adresse im sram oder so...also als variable ist es
jedenfalls nicht definiert

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ralf,

ldi bedeuted das eine Konstante in ein Register ( = Byte) geladen
wird.
low(Zahl) bedeuted das nur das niederwertige Byte von Zahl geladen
wird.
Daneben existiert noch die Direktive high(Zahl) mit der das
höherwertige Byte geladen wird.

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

dat 511 iss echt ne Konstante :) und das LOW davon auch.

Wenn du LDI r16, 12 schreibst, dann ist die 12 doch auch keine Addresse
oder Variable ;)

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verdammt....also ist in dem fall der wert in den klammern der lsb teil
der Zahl "511"???...und nicht irgeneine adresse?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs gerade ausprobiert...in der tat...es ist eine konstane und mein
prof. ein mieser mop für die verwirrung gggg

danke euch

grüsse ralf

Autor: kryon2000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hättest ja auch schreiben können

ldi r16, 0xff

oder

ldi r16, 255

oder oder oder.......

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.