Ah - sorry about that. I see the underscore is needed is asm to refer to basic variables, and that BANK0 needs to be specified because that is the one chosen in the ASM code. Presumably its choice was arbitrary, but once chosen, consistency between the variable declaration and the ASM code was needed.

However, I am still unsure about these 3 lines of code:


BTFSC STATUS,C
INCF TMR1H,F
MOVF _TMR1Reload+1,W

Why can we not merely have:

RST?RP
BCF T1CON,TMR1ON
MOVF _TMR1Reload ,W
ADDWF TMR1L,F
ADDWF TMR1H,F
BSF T1CON,TMR1ON


I have a feeling it must be something to do with the problems writing to a 16 bit timer, but can't quite get it clear. I will probably be very embarassed when I realsie how simple it is, but till then a hint would be brilliant.


Cheers,


Ben