	LIST P=18F452
	INCLUDE "P18F452.INC"


;-------------[ PROGRAM KEZDETE ]-----------------------------
	ORG	0X200		;EZ A KEZDŐCÍM A LETÖLTŐ MIATT
	BRA	START

	org 0x208	;high priority interrupt
	bra	highint
	

	org 0x218	;low priority interrupt
	bra lowint

CBLOCK 0X0000
	A1
	A2
	STATUS_SAVE
	W_SAVE
ENDC

#DEFINE	RS	PORTA,0	
#DEFINE	RW	PORTA,1	
#DEFINE	EN	PORTA,2	

START
;Beállítások---------------------
;	clrf	PORTD
;	clrf	TRISD
;	movlw	00h
;	movwf	A1

;Timer reg beállíása
	movlw	b'10000111';7.bit 1-b állítása lindíja a timert; az uolsó 3 bit az oszó,csak progiból írható
	movwf	T0CON

;INTCON beállítása
	movlw	b'11100000'
	movwf	INTCON 


	clrf	PORTA
	clrf	TRISA
	clrf	PORTC
	clrf	TRISC

;Program kezdete------------------
	bcf		RS				;display on
	bcf		RW		 
	movlw	0Fh
	movwf	PORTC
	bsf		EN
	nop
	bcf		EN

	bcf		RS		;képernyőtörlése és vissza a cim0-ra
	bcf		RW		 
	movlw	01h
	movwf	PORTC
	bsf		EN
	nop
	bcf		EN

	bsf		RS		;'A' betu kirajzolasa
	bcf		RW
	movlw	41h
	movwf	PORTC
	bsf		EN		;enable
	nop
	bcf		EN

ide
	goto	ide


highint
	movwf	W_SAVE
	bcf		INTCON,2
	;incf	A1,1
	;movf	A1,0
	;movwf	PORTD
	btg	PORTD,2

	movlw	0AFh
	movwf	TMR0H				;A TMR0H-ba csak akkor kerül bele az érték, ha utána az L-be is írunk!
	movlw	0Eh				;Minél nagyobb éréket adok be, annál kevesebbet számol (fölfele számol).
	movwf	TMR0L
	movff	STATUS_SAVE,STATUS	;regiszerek visszaállítása
	movf	W_SAVE,0
RETFIE

lowint
	movlw 	05h
	movwf	PORTD
RETFIE


END


	movff	STATUS,STATUS_SAVE	;regiszterek elmentése



