	list	p=16f887            ; list directive to define processor
	#include <p16f887.inc>      ; processor specific variable definitions



	__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
	__CONFIG _CONFIG2, _WRT_OFF & _BOR21V

;VÁLTOZÓK
	cblock	0x20
TIMER1
TIMER2
BERTEK
PRODLO
PRODHI
COUNT
	endc

;-------------[ PROGRAM KEZDETE ]-----------------------------
	ORG 0X000

	BANKSEL TRISD ;BANK1
	CLRF TRISD ;PORTD MIND KIMENET
	BANKSEL PORTD ;BANK0
	bsf STATUS,RP0 ; select Register Bank 1
	movlw 0xFF
	movwf TRISA ; Make PortA all input
	movlw 0x00 ; Left Justified, Vdd-Vss referenced
	movwf ADCON1
	bsf STATUS,RP1 ; select Register Bank 3
	movlw 0xFF ; we want all Port A pins Analog
	movwf ANSEL
	bcf STATUS,RP0 ; back to Register Bank 0
	bcf STATUS,RP1
	CLRF PORTD
	movlw 0x41
	movwf ADCON0 ; configure A2D for Fosc/8, Channel 0 (RA0), and turn on the A2D module

	bsf PORTD,0
ADC
	nop ; wait 5uS for A2D amp to settle and capacitor to charge.
	nop ; wait 1uS
	nop ; wait 1uS
	nop ; wait 1uS
	nop ; wait 1uS
	bsf ADCON0,GO_DONE ; start conversion
	btfss ADCON0,GO_DONE ; this bit will change to zero when the conversion is complete
	goto $-1 ; ha a konverzio nincs kész visszalép


	movf ADRESH,W ; Copy the display to the LEDs
	MOVWF BERTEK ;ÁTALAKÍTANDÓ BINÁRIS ÉRTÉK BERTEK-BE


	MOVLW .100
	MOVWF PRODLO
	MOVF BERTEK,W ;ÁTALAKÍTANDÓ ÉRTÉK A W-BE
	CALL MPY8X8 ;SZUBRUTIN HÍVÁS
	MOVF PRODHI,W ;Y ÉRTÉKE W-BE

	movwf PORTD

	goto ADC

MPY8X8
	CLRF PRODHI
	CLRF COUNT
	BSF COUNT,3
	RRF PRODLO,F
LOOP
	SKPNC
	ADDWF PRODHI,F
	RRF PRODHI,F
	RRF PRODLO,F
	DECFSZ COUNT,f
	GOTO LOOP

	RETURN

	END