; Programm: PRG6a.ASM
LIST P=16C84
; Lesen aus dem EEPROM-Speicher
; Dieses Programm ist ideal zur Demonstartion
; fuer den Simulator, bei welchen zuerst die 
; EEPROM-Adresse 01h mit einem Wert (zB. FFh)
; gesetzt werden sollt.

; * Definieren von Symbolen *
	W        EQU 0
	f        EQU 1
	STATUS_R EQU 03h
	EEDATA_R EQU 08h
	EEADR_R  EQU 09h
	INTCON_R EQU 0Bh
	OPTION_R EQU 81h
	TRIS_A   EQU 85h
	TRIS_B   EQU 86h
	EECON1_R EQU 88h
	EECON2_R EQU 89h

	#DEFINE Page_1 STATUS_R,5
	#DEFINE RD     EECON1_R,0


ORG 0000h
	GOTO Start

ORG 01FFh
	GOTO Start

ORG 0010h
Start:
	; # Initialisieren des Prozessors
	CLRF    INTCON_R
		; keine Interruptverarbeitung
	BSF     Page_1
	CLRF    TRIS_A    
		; Port_A als AUSgabe
	CLRF    TRIS_B
		; Port_B als AUSgabe
	CLRF    OPTION_R
		; Timereingang auf fosc/4 ges.
		; kein Vorteiler
	BCF     Page_1

	; # Setzen der EEPROM-Adresse mit 01h
	;   Punkt 1
	MOVLW   01h
	MOVWF   EEADR_R

	; # Setzen des READ-Bits im EECON1
	;   Punkt 2
	BSF     Page_1
	BSF     RD
	BCF     Page_1

	; # Auslesen der EEPROM-Daten (zB. in W)
	;   Punkt 3
	MOVF    EEDATA_R,W

; * Endlosschleife
Marke:  NOP
	GOTO    Marke

END
