Ответ 1
Я не уверен, правильно ли понимаю ваш вопрос, но так или иначе:
Согласно приведенному руководству, регистр IE
(прерывание прерывания), адрес FFFF
, определяет, какой из 5 типов прерываний включен. Только те, которые установлены в 1
, будут приняты, если IME
(разрешение прерывания) установлено на 1
.
Регистр IF
(флаги прерываний), адрес FF0F
, предоставляет только информацию, которую запрашивают прерывания.
Итак, если программа находится в состоянии HALT
с IME
= 1
, любое прерывание принимается, которое включено в IE
. Конечно, кто-то должен был генерировать прерывание (прерывания), которое было бы указано (или больше) 1 в регистре IF
.
ИЗМЕНИТЬ:
Возможно, это ответит на ваш вопрос сейчас:
Если программа переходит в режим HALT, включена функция прерывания Master Enable (IME = 1), но все типы прерываний отключены (IE = 0), прерывание не будет принято, а режим HALT не будет оставлен. Это ожидаемое поведение на устройстве.