
; Adatrögzítés elején
	mowlv	Kezdocim		; pl 1
		banksel	EEADR
	movwf	EEADR
		banksel	PORTA		; Bank 0

; A soron következő adat mentése a kezdőcímtől egyesével növekvő címre tárol

	movf	adat,f
	call	EEPROM_IRAS

	movf	adat2,f
	call	EEPROM_IRAS

; ... stb ...  stb

; Ha ki kell hagyni címtartományt

	mowlv	Kezdocim2		; pl .10
		banksel	EEADR
	movwf	EEADR
		banksel	PORTA		; Bank 0

	movf	adat5,f
	call	EEPROM_IRAS


; ... stb ...  stb


;-----------------------------------------


EEPROM_IRAS
					; address: EEADR	
					; mentendő byte: W

;			banksel	EECON1
;CIMKE1							; A CIMKE2 -nél leírt elég.
;	BTFSC	EECON1, WR 			;Wait for write to finish (addig újabb írást nem kezd amig egy esetleges korábbit be nem fejezett)
;	GOTO	CIMKE1					


			banksel	EEDATA
	MOVWF	EEDATA 			;adat írása az adatregiszterbe
			
	bcf		INTCON,GIE		; Nagyon fontos, az 55 és az AA írása között nem lehet más utasítás

			banksel	EECON1	;EECON1 EECON2 Bank 3-ban

	BCF	EECON1, EEPGD 		;Point to Data memory
	BSF	EECON1, WREN 		;Enable writes
	MOVLW	0x55 			;Write 55h to
	MOVWF	EECON2 			;EECON2
	MOVLW	0xAA 			;Write AAh to
	MOVWF	EECON2 			;EECON2

	BSF	EECON1, WR 			;Start write operation
	bsf		INTCON,GIE		; Nagyon fontos, mehet a megszakítási rutin...

CIMKE2
	BTFSC	EECON1, WR 		;Wait for write to finish (addig nem lép tovább amíg be nem fejezodött az írás)
	GOTO	CIMKE2					;

							; Véletlen írások elkerülésére kell

	BCF	EECON1, WREN 		;Ez kell?(tobb byte-ot irok ki)   Disable writes (le kell tíltani az EEPROM írását is, de csak akkor, ha már megtörtént az írás)

			banksel	EEDATA
	incf	EEADR,f

			banksel PORTA		; Bank 0
	return
	
;---------------------------------------------------------------------------------

