
	list      p=16F690           ; list directive to define processor
	#include <p16F690.inc>        ; processor specific variable definitions

	errorlevel  -302              ; suppress message 302 from list file


	__CONFIG   _CP_OFF & _CPD_OFF & _BOR_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF 

	cblock 0x20
		CIM
		ADAT
		Dly1
		Dly0 
		endc

	org 0

	goto main

	org 0x0C
main

	movlw	b'00100000'	; w = 32
	movwf	CIM	; w to CIM
	movlw 	CIM 	;W = CIM   CIM-->W
	banksel EEADR
  	movwf 	EEADR 	;EEADR = CIM   W-->EEADR
	banksel EEDATA
	movlw	b'00111111'
;	movwf	ADAT	; w-->ADAT
 ; 	movlw 	ADAT 	;W = ADAT  ADAT-->W
  	movwf 	EEDATA 	;EEDATA = ADAT

	banksel EECON1
  	bcf 	EECON1,7 	;EEPGD = "0", az EEPROM kiválasztása
	bsf 	EECON1,2 	;WREN = "1", az írás engedélyezése
  	banksel INTCON
  	bcf 	INTCON,7 	;GIE = "0", a megszakítások tiltása
  	movlw 	H'55' 	;W = H'55'
  	movwf 	EECON2 	;EECON2 = H'55', írás inicializálás
  	movlw 	H'AA' 	;W = H'AA'
  	movwf 	EECON2 	;EECON2 = H'AA', írás inicializálás
  	bsf 	EECON1,1 	;WR = "1", az írás indítása


Delay 	movlw 	0x01 				; Simple Delay loop
		movwf 	Dly1 				; |
		movlw 	0x0F 				; |
		movwf 	Dly0 				; |
DlyLoop decfsz 	Dly0,F 				; |
		goto 	DlyLoop 			; |
		decfsz 	Dly1,F 				; |
		goto 	DlyLoop 
	
	banksel PIR2
	bcf 	PIR2,4
	banksel INTCON
	bsf 	INTCON,7 	;GIE = "1", a megszakítások engedélyezése
	banksel EECON1
	bcf 	EECON1,2 	;WREN = "0", az írás tiltása

	banksel EECON1
  	bcf 	EECON1,7 	;EEPGD = "0", az EEPROM kiválasztása
	movlw	b'00100000'	; w = 32
  	movlw 	CIM 	;W = CIM
  	movwf 	EEADR 	;EEADR = CIM
	banksel EECON1
  	bsf 	EECON1,0 	;RD = "1", az olvasás indítása
	banksel EEDATA
  	movf 	EEDATA,0 	;W = EEDATA, az eredmény kiolvasása
		
loop

	goto loop

	END                       ; directive 'end of program'

