Набросал логическую схему триггеров прерываний.
Как видно из схемы, команды RETI и RETN абсолютно идентичны. Хотя в документации указано, что только RETN приводит к копированию IFF2 в IFF1.
И еще замечание. В описании сказано, что при выполнении команды EI поступивший в это время запрос на прерывание будет блокирован, пока не выполнится следующая за EI команда.
Но судя по схеме, EI (равно как и DI) просто блокирует разрешение записанное в IFF1. А следовательно, если будет выполнятся цепочка из команд EI, то прерывание не сработает, пока все EI не выполнятся.
И еще, IFF2 нигде не используется, кроме как для команды LD A,I/R, либо же для копирования в IFF1 по команде RETN/RETI. Что, впрочем, совпадает с описанием.
Добавка:
NET00188 - это INT_ACK (подтверждение INT)
NET00135 - это NMI_ACK (подтверждение NMI)
NET00114 - это INT_REQ (запрос INT)
Скрытый текст
[свернуть]





Ответить с цитированием