Interrupção mascarável por linguagem assembly

       As interrupções mascaráveis ​​são interrupções externas às quais a CPU pode não responder. Se a CPU responde à interrupção mascarável depende da configuração do bit IF do registrador de flag.
Quando a CPU detecta a informação de interrupção mascarável, se IF = 1, a CPU responde à interrupção após executar a instrução atual e inicia o processo de interrupção; se IF = 0, ela não responde à interrupção mascarável.

A informação de interrupção mascarável vem de fora da CPU, e o código do tipo de interrupção é enviado à CPU por meio do barramento de dados e o código do tipo de interrupção da interrupção interna é gerado dentro da CPU.

A razão para definir IF como 0 durante o processo de interrupção é que depois de entrar no manipulador de interrupção, outras interrupções mascaráveis ​​são proibidas.
Se você precisa lidar com interrupções mascaráveis ​​no manipulador de interrupção, você pode usar as instruções para definir IF.

Instruções para definir IF fornecidas pelo 8086CPU: sti, defina IF = 1; cli, defina IF = 0

 

 

Referência: << Linguagem de montagem >> Wang Shuang

Acho que você gosta

Origin blog.csdn.net/ma2595162349/article/details/108556939
Recomendado
Clasificación