Olá Igor,
Apenas complementando as informações do Henrique.
A arquitetura 8051 permite interrupções aninhadas (em inglês usa-se o
termo interrupt nesting). Isso significa que se você estiver tratando
uma interrupção e outra interrupção *de maior prioridade* acontecer, a
sua interrupção será interrompida para atender a interrupção de maior
prioridade. OK, abusei do termo "interrupção" aqui...:)
O principal detalhe é que uma interrupção no 8051 não pode ser
interrompida por uma outra interrupção de igual ou menor prioridade.
Isso significa que sua interrupção não será interrompida por ela
mesma!
Resumo da ópera, a não ser que você esteja compartilhando dados entre
interrupções (o que pode ser um erro de design), evite sempre que
possível desabilitar todas as interrupção dentro de uma ISR.
Por mais rápido que sua ISR seja, desabilitando as interrupções lá
dentro pode aumentar o tempo de latência (resposta à eventos) da sua
aplicação.
Um abraço,
Sergio Prado
www.sergioprado.org
Twitter @sergioprado