digbyte	macro	par0
	local	pon0
	local	exit1
	local	exit2
	local	pozitiv

	clrf	dig1
	clrf	dig2
	clrf	dig3
pozitiv
	movf	par0,w
	movwf	digtemp
	movlw	.100
pon0
	incf	dig1,f
	subwf	digtemp,f
	btfsc	STATUS,C
	goto 	pon0
	decf	dig1,f
	addwf	digtemp,f
exit1
	movlw	.10
	incf	dig2,f
	subwf	digtemp,f
	btfsc	STATUS,C
	goto	exit1
	decf	dig2,f
	addwf	digtemp,f
exit2
	movf	digtemp,w
	movwf	dig3
	endm

 LIST P=16F628
 #INCLUDE "P16F628.INC" 	
__CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _BODEN_OFF & _INTRC_OSC_NOCLKOUT & _LVP_OFF & _MCLRE_ON
		org 	0x00
		goto 	main
	

		org 	0x04
		goto	ISR
	

		Cblock	0x20
		dig1
		dig2
		dig3
		digtemp
	    D
		One
		W_temp
		endc

	
main
   		banksel TRISA
		movlw b'11111100'
	
		movwf	TRISA
		clrf	TRISB
		movlw	b'10000100'
		movwf	OPTION_REG
		banksel PORTA
		movlw	.96

		movwf	TMR0
		movlw	b'10100000'
		movwf	INTCON
	
		movlw	.50 ;Amit ide írok azt kiirja a kijelzõkre
		movwf	D
		clrf	One
		clrf	PORTA
Loop
		goto	Loop
ISR	
		Movwf	W_temp
		Movlw	.96
		movwf	TMR0

		bcf	INTCON,T0IF

		bcf	PORTA,0
		bcf	PORTA,1
		movf	One,f
		btfsc	STATUS,Z
		goto	Msdon
	
Lsdon
		bcf	One,0
		movlw high Bcdto7seg

		movwf	PCLATH
		 digbyte D
        
		movf	dig3,w
		call	Bcdto7seg
			
		movwf	PORTB

		bsf	PORTA,1

		movf	W_temp,w
	
		retfie
Msdon

		bsf	One,0
		movlw high Bcdto7seg
		movwf	PCLATH

		 digbyte D
	

		
		movf	dig2,w
		call	Bcdto7seg

	
		movwf	PORTB
		bsf		PORTA,0
	
		movf	W_temp,w
		retfie

		org	0x300

Bcdto7seg

		addwf	PCL,f
				RETLW   b'11000000'		;0
            	RETLW   b'11111001'		;1
            	RETLW   b'10100100'		;2
            	RETLW   b'10110000'		;3
            	RETLW   b'10011001'		;4
            	RETLW   b'10010010'		;5
            	RETLW   b'10000010'		;6
            	RETLW   b'11111000'		;7
            	RETLW   b'10000000'		;8
            	RETLW   b'10010000'		;9
            	RETLW   b'11111111'		;b
	 
		End

