 LIST P=18F458
 #INCLUDE "P18F458.INC"
 CONFIG OSC = XT 
 CONFIG WDT = OFF 
 CONFIG LVP = OFF
 CONFIG BOR = OFF


	CBLOCK	0x00			;A 0x00 egy szabad memória rész kezdő címe
	T1
	T2
	T3
	ENDC

	ORG 0x00
    goto START

    ORG 0x2a
START
	;PORTA Digitális I/O-vá tétel
	MOVLW	0x07			
	MOVWF	ADCON1			;Mindegyik PORTA digitális
    MOVWF    CMCON          ;Analóg komparátorok kikapcsolása
	MOVLW	B'00011111'		;Betöltjük az akksiba a TRISA-ba irandót
	MOVWF	TRISA			;Beállítjuk a PORTA-t bemenetre (beírjuk a TRISA-ba)
	CLRF	TRISD			;Beletöltjük (mind kimenet a nulla miatt)

FUTOFENY					;Ez egy label
	MOVLW	B'10000000'		;Betöltjük a W-be (akkumulátorba) a kirandó adatot
	MOVWF	PORTD			;Akkumulátorból kiírjuk a PORTD-re
	CALL	DELAY			;Várunk
	MOVLW	B'01000000'		;Újra betöltjük a W-be az új adatot
	MOVWF	PORTD			;stbstb.
	CALL	DELAY
	MOVLW	B'00100000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00010000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00001000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00000100'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00000010'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00000001'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00000010'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00000100'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00001000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00010000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'00100000'
	MOVWF	PORTD
	CALL	DELAY
	MOVLW	B'01000000'
	MOVWF	PORTD
	CALL	DELAY
	GOTO	FUTOFENY		;Visszaugrunk a legelejére

DELAY						;Delay labelje
	MOVLW	d'10'			
	MOVWF	T1				;T1-be bekerül a 10
DEL
	MOVLW	d'255'
	MOVWF	T2				;T2-be bekerül a 255
DEL1
	MOVLW	d'20'
	MOVWF	T3				;T3-ba bekerült a 10
DEL2
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	DECFSZ	T3,f			;Csökkenti a T3-at, addíg, amig nem nulla
	GOTO	DEL2			; mindig visszaugruk a DEL2-re, vagyis a sok NOP-ra
	DECFSZ	T2,f			;Ha már nulla, akkor ugyanez eljátszódik a T2-vel
	GOTO	DEL1
	DECFSZ	T1,f			;Majd a T1-el is
	GOTO	DEL
	RETURN					;Visszatér a DELAY szubrutinból
 	END						;Teljes program végét jelentő END