 LIST P=18F1320
 #INCLUDE "P18F1320.INC"
 CONFIG WDT=OFF; disable watchdog timer
 CONFIG LVP = OFF; Low-Voltage programming disabled (necessary for debugging)


	CBLOCK	0x20			;A 0x20 egy szabad memória rész kezdő címe
	T1
	T2
	T3
	ENDC

	ORG	0

START   
	CLRF PORTB ; Initialize PORTB by // ez PortA volt, csak átírtam PortB-re
			   ; clearing output
               ; data latches
	CLRF LATA  ; Alternate method
               ; to clear output
               ; data latches
	MOVLW 0x7F ; Configure A/D
	MOVWF ADCON1 ; for digital inputs
	MOVLW B'00000000' ; Value used to
               ; initialize data
               ; direction
	MOVWF TRISB


villog					;Ez egy label
	MOVLW	B'00000001'		;Betöltjük a W-be (akkumulátorba) a kirandó adatot
	MOVWF	PORTB			;Akkumulátorból kiírjuk a PORTB-re
	CALL	DELAY			;Várunk
	MOVLW	B'00000000'		;Újra betöltjük a W-be az új adatot
	MOVWF	PORTB			;stbstb.
	CALL	DELAY
	GOTO	villog		;Visszaugrunk a legelejére

DELAY						;Delay labelje
	MOVLW	d'10'			
	MOVWF	T1				;T1-be bekerül a 10
DEL
	MOVLW	d'20'
	MOVWF	T2				;T2-be bekerül a 20
DEL1
	MOVLW	d'4'
	MOVWF	T3				;T3-ba bekerült a 4
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