Hallo an alle Programmierer.

Ich habe eine Verständnisfrage:

In einem Assembler-Programm habe ich den folgenden Ausdruck gefunden:

Code:
LDI TEMP, (1<<INT1)|(0<<INT0)
Was passiert hier genau?

in der Variablen TEMP (was als Register definiert ist) wird das Bit INT1 (Bit7) gesetzt und BIT INT0 (Bit6) gelöscht?


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

Und was bewirkt sowas:

Code:
LDI Temp,(1<<URSEL)|(3<<UCSZ0)
Wird hier Bit URSEL (Bit7) und UCSZ1 + UCSZ0 (Bit2+Bit1) gesetzt?

Es handelt sich hierbei um ein Assemblerschnipsel für einen ATmega8.

Danke vorab für eure Info!

Mitch.