Nein. Ein CLI sperrt unmittelbar die IRQs. Genaugenommen werden nicht die IRQs gesperrt, sondern daß die entsprechende ISR ausgeführt wird. Die entsprechenden IRQ-Flags bleiben gesetzt (bei flankengetriggerten IRQs), bis man sie von Hand löscht werden oder man ein SEI macht. In letzterem Fall wird die ISR dann entsprechend verzögert abgearbeitet.Zitat von cumi
Ein SEI unmittelbar gefolgt von einem CLI wird auch keine IRQ durchlassen, weil ein SEI nicht unmittelbar wirkt. Wenn man so etwas wie ein yield (anstehende IRQs abarbeiten) haben will, muss zwischen dem SEI und dem CLI also mindestens eine weitere Instruktion stehen.
Eine SEI-NOP-CLI-Sequenz wird also die Abarbeitung genau einer ISR erlauben -- nicht mehr, denn nach einer ISR wird immer eine Instruktion der Appliation abgearbeitet, und diese ist dann das CLI.
Lesezeichen