my504 (03.01.2018 12:51 - 12:59, просмотров: 282) ответил IBAH на Это понятно, векторов всего один. Зачем две проверки на флаг и на разрешение? ведь если нет разрешения нет флага, или я неправильно понимаю?
Понимаете неправильно. Флаги НИКАКОГО отношения к разрешению прерываний не имеют. Эти сущности даже возникают топологически в совершенно разных местах. Можно не прибегать к прерываниям, а просто в цикле проверять и сбрасывать флаг. Формирование флага - это периферия, а разрешение прерываний - это контроллер прерываний ядра. Маска разрешений не влияет на формирование флага во всех архитектурах, а не только в восьмибитниках.
Отсутствие проверок разрешений может привести к ложному входу в другой обработчик, который в данный момент запрещен, но флаг у него взведен. Это следствие единого вектора для всех.