Programowanie: Odblokowanie IRQ podczas obsługi NMI
From Atariki
(Różnice między wersjami)
Wersja z dnia 10:57, 26 paź 2011 0xF (Dyskusja | wkład) (dzisiaj użyłem tego w ASAP) ← Previous diff |
Aktualna wersja 0xF (Dyskusja | wkład) (dzisiaj użyłem tego w ASAP) |
Aktualna wersja
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