Hola Encarpa, (ja,ja,ja) pues mirà una forma muy simple de censar cualquier puerto es cargarlo constantemente en una variable previamente determinada y aplicarle la funcion XORWF, donde F seria el registro que contiene el valor anterior del puerto "X"y W el valor contra el cual quieres verificar la igualdad, cuando lograste saber que son iguales (chequeando bit 3 de registro ESTADO),
llamas a la subrutina que nesecites con un CALL.
W puede ser una tabla con una serie de estados posibles.
Espero te sea ùtil, saludos