Микропроцессор Z80


Флаги управления прерываниями


В микропроцессоре имеются две пары флагов (IFF1, IFF2 и IMFa, IMFb), управляющих системой прерываний.

Флаг IFF1, когда установлен, разрешает маскируемые прерывания, а когда сброшен – запрещает их. Он сбрасывается при сбросе процессора, при возникновении немаскируемого прерывания и при выполнении инструкции запрещения прерываний DI, а устанавливается при выполнении инструкции разрешения прерываний EI. Кроме того, при выполнении инструкции возврата из немаскируемого прерывания RETN в него заносится состояние флага IFF2.

Когда происходит немаскируемое прерывание, состояние флага IFF1 копируется во флаг IFF2, а когда выполняется инструкция возврата из немаскируемого прерывания RETN, выполняется обратное копирование. Флаг IFF2 сбрасывается сбросом процессора и выполнением инструкции DI, а устанавливается инструкцией EI. При выполнении инструкций LD A,I и LD A,R  его состояние заносится во флаг чётности P/V регистра флагов F.

Флаги IMFa и IMFb совместно определяют режим обработки маскируемых прерываний. Комбинации их состояний имеют следующий смысл:

– 00 – режим совместимости с процессором 8080 (режим 0);

– 01 – не используется;

– 10 – режим единственного вектора (режим 1);

– 11 – режим векторов, предоставляемых устройствами (режим 2).




Начало  Назад  Вперед