

	list      p=16f628            ; list directive to define processor
	#include <p16f628.inc>        ; processor specific variable definitions
	
	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF &_INTRC_OSC_NOCLKOUT  & _MCLRE_OFF & _LVP_OFF



;**********************************************************************
		ORG     0x000             ; processor reset vector
		goto    main              ; go to beginning of program


		ORG     0x005             ; interrupt vector locatio
	

#DEFINE BANK0 BCF STATUS,5
#DEFINE BANK1 BSF STATUS,5

;------ CONFIGURACION  -----------------

main
		BANK0

		CLRF	PORTB
		MOVLW	0X07
		MOVWF	CMCON

		BANK1

		CLRF	TRISB
		CLRF	TRISA
		BSF		TRISA,5
		
		BANK0
;---------------------------------------


		BTFSC	PORTA,5
		GOTO	$-1
		BTFSS	PORTA,5
		GOTO	$-1





;-----------------------------------------
		CLRF	INTCON			;NO INTERRUOCIONES

		BANK1
		MOVLW	0X01			;--DIRECCION DEL DATO--
		MOVWF	EEADR
		MOVLW	0XF0			;--DATO--
		MOVWF	EEDATA
		
		BSF		EECON1,WREN		;HABILITA LA ESCRITURA

		MOVLW	0X55		
		MOVWF	EECON2			;SE INSERTA CODIGO DE
		MOVLW	0XAA			;DE HABILITACION
		MOVWF	EECON2

		BSF		EECON1,WR		;SE INICIA ESCRITURA
		
		NOP
		BTFSC	EECON1,WR
		GOTO	$-2	
	;	BSF		INTCON,GIE
	;	BSF		PIE1,EEIE
		
	;	BTFSS	PIR1,EEIF
	;	GOTO	$-1
		
		BCF		PIR1,EEIF
		BCF		EECON1,WREN		;DESHABILITA ESCRITURA
		

		BANK1

		MOVLW	0X01		
		MOVWF	EEADR			; SE DIRECCIONA EN LA POSICION 0X08
		BSF		EECON1,RD		;	INICIA LECTURA
		MOVF	EEDATA,W		;CARGA LOS DATOS LEIDOS EN " W "
		
		BANK0

		MOVWF	PORTB
		GOTO	$-1

		END                       ; directive 'end of program'

