Hallo,

Zitat Zitat von Mitch64
Code:
LDI TEMP, (1<<INT1)|(0<<INT0)
der zweite Teil ist Käse - es wird nur das Bit für INT1 gesetzt, die Null verändert nichts, weil das ganze ja über ODER verknüpft ist. Um das Bit für INT0 zu löschen müsste man
Code:
ANDI TEMP, ~(1<<INT0)
machen, das würde alle Bits (sofern gesetzt) außer dem Bit von INT0 gesetzt lassen.

Zitat Zitat von Mitch64
Und was passiert mit den übrigen Bits, die in Temp bereits gesetzt sind? Bleiben die erhalten oder werden die gelöscht?
Die werden gelöscht.

Zitat Zitat von Mitch64
Code:
LDI Temp,(1<<URSEL)|(3<<UCSZ0)
Wird hier Bit URSEL (Bit7) und UCSZ1 + UCSZ0 (Bit2+Bit1) gesetzt
Ja, außerdem wird der Rest gelöscht/nicht gesetzt - im übrigen halte ich dieses Manöver mit (3<<UCSZ0) für gefährlich, da baut man schnell nen Fehler oder übersieht, dass anstelle einer Eins die Drei da steht.

mfG
Markus

Edit: Kurzantwort auf die aktuelle Frage: Ja