Programowanie: Odblokowanie IRQ podczas obsługi NMI

Z Atariki mirror
Wersja z dnia 08:51, 1 paź 2026 autorstwa imported>Atariki recovery (Reconstructed from archived HTML; see provenance manifest)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przyjęcie przerwania NMI powoduje ustawienie znacznika I, co blokuje przyjmowanie przerwań IRQ. Jeśli mamy długą procedurę NMI i chcemy w jej czasie obsługiwać nadchodzące przerwania IRQ, możemy je odblokować:

   cli

Jeśli przyjmując przerwanie NMI nie wiemy, czy IRQ było włączone, możemy skorzystać z tego, że rejestr znaczników jest zapamiętany na wierzchołku stosu, więc możemy go łatwo odtworzyć na początku obsługi NMI, o ile jeszcze nic nie zapisaliśmy na stos:

   plp
   php