Programowanie: Odblokowanie IRQ podczas obsługi NMI

From Atariki

(Różnice między wersjami)
Jump to: navigation, search

0xF (Dyskusja | wkład)
(dzisiaj użyłem tego w ASAP)
Next diff →

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
Personal tools