Sí, simulo con Proteus. El código es este, pero sí que he tenido en cuenta los bancos de memotira:
INICIO: clrf estado
clrf duracion
bsf selector,0
movlw b'01010011'
movwf caracter
bsf STATUS,RP0
movlw b'01111111'
movwf TRISB
movlw b'11111100'
movwf TRISA
movlw b'01000011'
movwf OPTION_REG
bcf STATUS,RP0
bsf PORTA,1
bcf PORTA,0
movlw b'10011000'
movwf INTCON
bsf PORTB,tx
goto MAIN
Lo que me cambia la interrupcion del boton es el bit 0 del registro selector y los PORTA,0 y PORTA1. En ese código he invertido el estdado de como quiero esos bits y así cuando inicio, contando la interrupción se me queda como quiero. Para leer el puerto y poner a 0 el flag lo hacía justo antes del bsf PORTA,1, después de cambiar de banco al 0