list p=18F1320
include <p18F1320.inc>
CONFIG OSC = INTIO2, WDT = OFF, LVP = OFF
org 0x000 ; reset vector
bra Init ; goto initialize
org 0x008 ; high priority interrupt vector
bra HiInt ; goto high priority interrupt
org 0x018 ; low priority interrupt vector
LowInt bcf TRISA,6 ; Light LED 3
bcf TRISA,7
bsf TRISA,0
bsf LATA,6
bcf LATA,7
bcf INTCON3,INT2IF ; clear the INT2 interrupt flag
Loop1 bra Loop1 ; endless loop
retfie
HiInt bcf TRISA,0 ; Light LED 1
bcf TRISA,6
bsf TRISA,7
bsf LATA,0
bcf LATA,6
bcf INTCON,INT0IF ; clear the INT0 interrupt flag
Loop2 bra Loop2 ; endless loop
retfie
Init clrf INTCON2 ; enable PORTB pullups, falling edge interrupts
setf ADCON1 ; make all I/O digital
setf TRISA ; turn off all the LEDs
bsf INTCON,INT0IE ; enable INT0 (RB0)
; RB0 is always high priority
bcf INTCON3,INT2IP ; INT2 (RB2) low priority
bsf INTCON3,INT2IE ; INT2 interrupt enable
bsf RCON,IPEN ; interrupt priority enable
bsf INTCON,GIEL ; low priority interrupt enable
bsf INTCON,GIEH ; high priority interrupt enable
Loop3 bra Loop3 ; endless loop
END