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=16F628A
 #INCLUDE "P16F628A.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	PORTA
		CLRF	 PORTA ;Initialize PORTA by setting
		MOVLW	 0X07 ;Turn comparators off 
		MOVWF	 CMCON

   		banksel TRISA
		movlw b'11110000'
	
		movwf	TRISA
		clrf	TRISB
		movlw	b'10000100'
		movwf	OPTION_REG
		banksel PORTA
		movlw	.96
		bsf		PORTA,0
		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
		banksel	PORTA

		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
		banksel	PORTA
		bsf		PORTA,0
		bsf		PORTA,4
	
		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'		;blank
		End

