Das Ein- / Ausschalten des peripheren und globalen Interrupts kann per DEFINE
Code:
#DEFINE	D_GlobIntEin	bsf	INTCON,GIE	; Globaler Interrupt Ein
#DEFINE	D_GlobIntAus	bcf	INTCON,GIE	; Globaler Interrupt Aus
#DEFINE	D_PeriIntEin	bsf	INTCON,PEIE	; Peripherer Interrupt Ein
#DEFINE	D_PeriIntAus	bcf	INTCON,PEIE	; Peripherer Interrupt Aus
oder durch die Befehle
Code:
	bsf	INTCON,GIE	; Globaler Interrupt Ein
	bcf	INTCON,GIE	; Globaler Interrupt Aus
	bsf	INTCON,PEIE	; Peripherer Interrupt Ein
	bcf	INTCON,PEIE	; Peripherer Interrupt Aus
erfolgen.

Timer werden incrementiert / um 1 erhöht und setzen bei jedem Überlauf von 255 / 0xFF nach 0 das Interrupt-Flag T?IF. Diese Flags müssen per Software zurück gesetzt werden.
Wieviel Zeit zwischen jedem Timer-Increment vergeht, wird durch die Quarz-Frequenz und die Initialisierung der Prescaler bestimmt,
wie lange es bis zum Auslösen eines Interrupts dauert = 256 - Timer-Wert mal Increment-Zeit.

Zum Auslösen eines Interrupts / Aufruf der ISR (Interrupt-Service-Routine) muß das entsprechende IE-Flag und die globale Int-Freigabe GIE gesetzt sein. Für einige Timer muß zusätzlich die periphere Int-Freigabe PEIE gesetzt sein (im Datenblatt nachlesen).
In der ISR muß abgefragt werden, wer den Int ausgelöst hat.