Was bedeutet << in AVR-ASM?Ein Schift kann es ja nicht sein.

Gast
ldi r16, (1<<TWINT)|(1<<TWSTA)

das ist ein Shift und zwar so

ich nehme mal als Beispiel:

ldi r16, (1<<PB2) | (1<<PB3)

PB2 ist eine Zahl, nämlich die 2, PB3 ist eine 3
die 1 vor dem << bleibt die 1 also 0b00000001

jetzt heißt 1<<PB2, dass die 1 um 2 Felder nach links verschoben wird,
also
0b00000001 dann 0b00000010, dann 0b00000100

so nun ist also Bit2 "markiert"

jetzt folgt das Bitweise Oderzeichen |

1<<PB3 ist nun 0b00001000 also die 1 um 3 Stellen verschoben

beide Werte mit "oder" verbinden 0b00001000 | 0b00000100
das Ergebnis ist 0b00001100, also beide Bits sind markiert

dieses TWINT z.B. ist auch nur eine Zahl um die dann die 1 nach links
verschoben wird....
Gast
Ich dachte diese Shiftoperation funktioniert nur in C und in AVR ASM ist
das LSR oder LSL.
Führt der Atmega das jetzt aus, oder macht der Compiler das vorher und
gibt den richtigen Wert an den AVR - Weiter(Code - Optimierung)?
Gast
Letzteres, Diese Operation führt nur der Compiler aus, und dient
lediglich der Übersicht des Sourcecodes.

Wird also nich vom µC ausgeführt

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.