Assembler Code für ATTiny2313 richtig verstehen

Gast #2098234
Lesenswert?
• ▲
▼
Hallo zusammen.

Ich habe eine Frage zum Assembler Code eines ATTiny 2313. Ich habe eine 
Programm in C geschrieben und compeliert. Anschließend habe ich mir den 
Assembler Code im List File angeschaut und finde immer wieder Stellen 
die wie folgt übersetzt sind:

LDI  R30,LOW(24)


Was bedeutet das LOW(24)?
Diese Zeile wird von der Syntax her immer wieder wiederholt, dann steht 
auch mal ein HIGH(xx) da.

Kann mir jemand eine kurze erläuterung geben?
Danke euch
Gast #2098248
Lesenswert?
• ▲
▼
Ich versuche es Dir mal zu erklären. Kann aber sein da ich auch noch 
recht neu bin das ich es eventuell nicht 100%ig erkläre.

Also da ein Register nur 8Bit (1Byte) in sich aufnehmen kann, den Wert 
von 0-255 (0-ff) wird damit erreicht das du auch 16Bit Werte bearbeiten 
kannst. Dafür hat der ATTiny auch Register.

Nun kannst du die Registerpaare aber nicht direkt mit einem 16Bit wert 
beschreiben, also musst du es aufteilen. Dieses macht man mit LOW() und 
HIGH()

ldi  r16,low(1025)  ist also gleich ldi r16,1
ldi  r17,high(1025) ist also gleich ldi r17,4

Warum? 4x256+1=1025

Also high liefert die das high von 16Bit und low den rest.

Hoffe ich habe jetzt nix falsch gesagt. So habe ich das wenigstens 
verstanden.
Gast #2098255
Lesenswert?
• ▲
▼
Danke euch.

Habe ich jetzt verstanden und macht auch Sinn. Die Werte die ich in C 
setze oder einem Register zuweise, werden so im Assembler entsprechend 
mit Low() oder High () einem Resgister zugewiesen.

Danke nochmal.

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.