Hallo helmut_w,
ja, ich traue mich noch
Auch ich konnte aus beiden Beiträgen downloaden. Habe aber noch nichts getestet.
Ich stimme damaltor zu, auch ich würde das |= stehen lassen.

Was ich aber noch in der Doku gefunden habe (ja, das Thema ist gegessen, auch ohne Prinzenrolle!) ist folgendes:

Seite 12/13 Reset and Interrupt Handling
Interrupt Flags can also be cleared by writing a logic one to the flag bit position(s) to be cleared.
Dies gilt scheinbar für jedes Flag, welches einen Interrupt auslösen kann. Ausnahme eventuell beim SPIF-Bit.

Seite 22 I/O Memory
Some of the Status Flags are cleared by writing a logical one to them.
Ich habe kein Liste gefunden, welche Flags es denn nun genau sind. Immer nur bei den einzelnen Flags, gibt es einen 'versteckten' textuellen Hinweis.

Seite 46 General Interrupt Control Register - GICR
When the IVSEL bit is cleared (zero), ...
Bei diesem Bit ist als einzige Stelle tatsächlich mal mit (zero) ein Hinweis auf ein 'gecleardes' Bit, dass es dann '0' ist gegeben.
BRAVO an damaltor, der sich getraut hat diesen Sachverhalt hier zu posten. (Wer setzt den schon ein Bit auf '1' um es auf '0' zu setzen?)

Seite 283 Register Summary (Continued)
Note:
3. Some of the Status Flags are cleared by writing a logical one to them
Note that the CBI and SBI instructions will operate on all bits in the I/O Register,
writing a one back into any flag read as set, thus clearing the flag.
The CBI and SBI instructions work with registers 0x00 to 0x1F only.
Hier hört mein Englisch tatsächlich auf. Die weitere Erklärung von CBI und SBI mit 'read as set' kann ich tatsächlich nicht mehr umsetzen.