Hola! Lo que puedes hacer es entrar siempre a la interrupción y ver que cambio se produjo, si es de 0 a 1 la atiendes, y si es de 1 a 0 la ignoras, por ejemplo.
Si lo que quieres es atender unos pulsadores, a lo mejor es mejor por polling; es decir sin interrupción, sino verificando el estado de los pulsadores periódicamente.
No te olvides que el micro es más rápido que la acción de los pulsadores, y que también puede haber ruidos y "rebotes". Cuando se detecta el pulsador, es bueno esperar unos microsegundos (algunos "NOP" o "GOTO $+1") y confirmar que realmente esté pulsado
Generalmente, la atención de interrupciones tiene que ser breve; y fijarse bien los registros que se modifican, para no tener problemas.
Bueno, espero haber ayudado
Saludos!