list p=16F88
include <p16f88.inc>
__config _CONFIG1, _WDT_OFF & _INTRC_IO & _MCLR_ON & _LVP_OFF
cblock 0x40
d1, d2, d3
endc
org 0x00
banksel TRISA ;bank 1
movlw 0x42 ;1MHz clock
movwf OSCCON
movlw 0x07 ;turn comparators off
movwf CMCON
movlw B'11111111'
movwf TRISB ;all input.
movlw B'00000010' ;all RA ports all outputs except A/D (RA1) input
movwf ANSEL
movwf TRISA
banksel PORTA
movlw 0x08
movwf d1
movlw 0x2F
movwf d2
movlw 0x03
movwf d3
clrf PORTA
goto main
main
btfsc PORTB,6
goto main
main1
bsf PORTA,7
call delay
bcf PORTA,7
call delay
goto main1
delay
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d3, f
goto delay
goto $+1
nop
return
end