cpu_request_interrupt met IME à 1 ?

cpu_request_interrupt met IME à 1 ?

by Gabriel Fleischer -
Number of replies: 1
Bonjour,
À la page 10 du PDF de la semaine 9, vous dites entres parenthèses que IME doit être mis à 1.
Mais cela ne va-t-il pas à l'encontre de la définition de IME ? Parce que si IME est mis à 1 à chaque fois qu'une interruption est levée, IME devient inutile est toutes les interruptions sont levées.

Et si ce n'est pas le cas, devons-nous mettre à jour IF même si IME est désactivé ?

Cordialement,
Gabriel Fleischer
In reply to Gabriel Fleischer

Re: cpu_request_interrupt met IME à 1 ?

by Jean-Cédric Chappelier -

Vous avez tout à fait raison. Bien vu !!
La confusion provient du comportement de HALT, mais qui doit être traité dans `cpu_cycle()` comme indiqué plus haut dans la donnée « Il reste dans cet état jusqu'à ce qu'une interruption dont le bit vaut 1 dans IE soit levée, même si IME est faux. » (c'est juste là que IME doit être ignoré ; il n'y a pas lieu de forcer sa remise à 1 (sauf instructions EI et RETI)).
Je viens de corriger la donnée.