	LIST	p=16F48
	include "P16F48.inc"
	__config b'0001'

	cblock 	0x20
		count
		count1
		counta
		countb
	endc

	LEDPORT	Equ	PORTB
	LEDTRIS		Equ	TRISB
	
	org	0x0000
		
	movlw	0x07
	movwf	CMCON

   	bsf 	STATUS,		RP0
   	movlw 	b'00000000'
   	movwf 	LEDTRIS
	bcf	STATUS,		RP0
	clrf	LEDPORT		


Start	clrf	count			
Read	movf	count, w			
	call	Table	
	movwf	LEDPORT
	call	Delay
	incf	count,	w
	xorlw	d'14'			
	btfsc	STATUS,	Z
	goto	Start			
	incf	count,	f		
	goto	Read

Table	ADDWF   PCL, f			
	retlw   b'10000000'
	retlw   b'01000000'
	retlw   b'00100000'
	retlw   b'00010000'
        	retlw   b'00001000'
        	retlw   b'00000100'
        retlw   b'00000010'
        retlw   b'00000001'
        retlw   b'00000010'
        retlw   b'00000100'
        retlw   b'00001000'
        retlw   b'00010000'
        retlw   b'00100000'
retlw   b'01000000'


Delay	movlw	d'250'			;delay 250 ms (4 MHz clock)
	movwf	count1
d1	movlw	0xC7
	movwf	counta
	movlw	0x01
	movwf	countb
Delay_0
	decfsz	counta, f
	goto	$+2
	decfsz	countb, f
	goto	Delay_0

	decfsz	count1	,f
	goto	d1
	retlw	0x00

	end