;KNIGHT-RIDER villogo 

LIST p=16f628a
#INCLUDE<p16f628a.inc>
__CONFIG (_INTRC_OSC_NOCLKOUT & _PWRTE_ON & _MCLRE_OFF & _BODEN_OFF &_LVP_OFF &_WDT_OFF)


CBLOCK	0x40  ;valtozok deklaralasa
	R1
ENDC
  
ORG 0x00
	GOTO MAIN
MAIN:
	BSF STATUS,RP0   ;valtas bank1-ra, ahol a trisb van
	MOVLW 0x00       ;PORTB kimenet
	MOVWF TRISB
	BCF STATUS,RP0   ;visszavaltas bank0-ra
	
	;R1 kezdeti erteke
	MOVLW 0xFF
	MOVWF R1
		
	;PORTB kezdeti erteke
	CLRF PORTB  
	BSF PORTB,0   

	BCF STATUS,C   ;Carry kinullazasa
	
balra:
	CALL KESLELTETES
	RLF PORTB,1   ;balra biteltol C-n keresztul, az eredmeny az f regiszterbe kerul
	BTFSS PORTB,4 ;vajon magas a 7.bit?ha igen akkor a kov. utaitas kimarad, egyebkent megy tovabb
	GOTO balra
	GOTO jobbra

jobbra:
	CALL KESLELTETES
	RRF PORTB,1  ;PORTB forgatasa jobbra
	BTFSS PORTB,0
	GOTO jobbra
	GOTO balra


	

KESLELTETES:
	DECFSZ R1,1   ;ha 0 akkor a kovetkezo utasitas kimarad
	GOTO KESLELTETES
	MOVLW 0xFF
	MOVWF R1
  KES2
	DECFSZ R1,1   ;ha 0 akkor a kovetkezo utasitas kimarad
	GOTO KES2
	MOVLW 0xFF
	MOVWF R1
	RETURN

END