Finally I did the test on a 16F887 at 8MHz, and came up with a 49 usec to enter ISR and around 45 to exit.

The code I used is this:
Code:
wsave var byte $70 system
wsave1 var byte $A0 system
wsave2 var byte $120 system
wsave3 var byte $1A0 system
INCLUDE "DT_INTS-14.bas"
INCLUDE "ReEnterPBP.bas"
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR0_INT, _TimezUp, PBP, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM
TRISB = %00000000 ' PortB.0 and PortB.1 are outputs.
@ INT_ENABLE TMR0_INT ; Enable INT0 interrupts
Main:
portB.4 = !portb.4 ' Toggle PortB.1 as fast as we can
Goto Main
TimezUp:
' Create a short pulse on PortB.0
portb.5 = 1
PAUSEUS 15
portB.5 = 0
@ INT_RETURN
It seems that comparing to 25K20, the 887 executes less instructions...? Is it possible?
Ioannis
Bookmarks