www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Logische Veknüpfung in AVR-Assembler


Autor: Roland F. (opale)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?
.equ  PIN_BSY    = 7

;
;  andi  temp1, !(1<<PIN_BSY)
;  andi  temp1, 0xFF & !(1<<PIN_BSY)
  andi  temp1, 0x7F

Kann mir jemand helfen?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Roland F. (opale)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Roland,

in diesem Tutorial sind alle Befehle nochmal erklärt.

http://www.avr-asm-tutorial.net/avr_de/beginner/index.html

Es gibt auch verschiedene Sortierungen und Beispiele.

http://www.avr-asm-tutorial.net/avr_de/index.html

Wenn du in Assembler arbeiten willst recht hilfreich.

Gruß avr

Autor: Roland F. (opale)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo avr,

die Seite ist wirklich sehr hilfreich, die kannte ich noch nicht. Werde 
ich wohl sehr oft besuchen in nächster Zeit. Vielen Dank!

Gruß Roland

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute LINKS gebe ich gern weiter ;-)

avr

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.