Moin!
Um ein bit zu löschen, reicht '&=' nicht ganz aus, Sinn macht das erst mit dem ~(1<<PCIE), das erste macht eine Und-verknüpfung, mit dem zweiten setzt man ein Bit und invertiert quasi das Ergebnis, so daß man also eine UND-Verknüpfung mit einem gelöschten Bit macht, da nun aber in einem Operanden das entsprechende Bit nicht gesetzt ist, kommt dort immer 0 raus. beim '|=' (bitweises Oder) würde hier, wenn das Bit nur in einem Operand, in dem Fall evtl. auch in GIMSK schon vorher gesetzt ist, eine 1 rauskommen, das Bit bliebe also gesetzt...


MfG
Volker