Logische Veknüpfung in AVR-Assembler

OP #1351391
Ich bin noch ganz neu hier in dem Forum und arbeite mich gerade in den 
AVR-Assembler ein. Dabei komme mit den logischen Verknüpfunge noch nicht 
so ganz klar. Ich möchte gern ein Bit auf Null setzen, aber es nicht 
"hart verdrahten". Die beiden oberen auskommentierten Zeilen löschen mir 
das ganze Byte! Nur die dritte Zeile macht was ich will. Wo liegt da 
mein Denkfehler?
1
.equ  PIN_BSY    = 7
2

3
;
4
;  andi  temp1, !(1<<PIN_BSY)
5
;  andi  temp1, 0xFF & !(1<<PIN_BSY)
6
  andi  temp1, 0x7F

Kann mir jemand helfen?
Gast #1351395
Es besteht ein ganz erheblicher Unterschied zwischen '!' und '~' 
(Tilde), in deinem Fall wäre die Tilde bzw. ein '-' (Minus) angebrachter 
;-)

Ersteres ('!') ist ein logisches 'Nicht', als Ergebnis kann da nur 1 
oder 0 rauskommen, demnach ver-und-est du immer mit 0.
Die Tilde hingegen invertiert bitweise, und genau das willst du hier.
OP #1351409
Da bin ich nicht drauf gekommen. Ich hatte mir zwar im Handbuch die 
Operatoren angeschaut, hab aber übersehen, dass es gleich drei 
Negationsoperatoren gibt. Nur die Funktion des "Unary Minus" (-) ist mir 
noch nicht klar.

Vielen Dank aber schon mal!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.