prg	
	clrf	tmp1
	clrf	tmp2			
	clrf	x_tiz				;Értékek nullázása
	clrf	x_egy
	clrf	x_szaz
	clrf	x_ezer
	clrf	x_tezer
	call	szamlalo_x			;Az X tengely nulla értékek LCD-re írása
	clrf	y_tiz				;Értékek nullázása
	clrf	y_egy
	clrf	y_szaz
	clrf	y_ezer
	clrf	y_tezer
	call	szamlalo_y			;Az Y tengely nulla értékek LCD-re írása
figyel							;Bemenetek figyelése

    	btfsc	PORTA,0			;Ha alacsony a bemenet
		call	xfel			;Számláló fel, szubrutin
		btfsc	PORTA,1			;Ha alacsony a bemenet
		call	xle				;Számláló le, szubrutin
		btfsc	PORTA,2
		call	yfel

		goto	figyel
xertek
		movf	x_egy,w
		call	szamlalo_x	
		movf	x_tiz,w	
		call	szamlalo_x
		movf	x_szaz,w
		call	szamlalo_x	
		btfss	PORTA,0
		bcf		sw,2
		btfss	PORTA,1
		bcf		sw,3
	return
yertek
		movf	y_egy,w
		call	szamlalo_y	
		movf	y_tiz,w	
		call	szamlalo_y
		movf	y_szaz,w
		call	szamlalo_y	
		btfss	PORTA,2
		bcf		sw,0
		btfss	PORTA,3
		bcf		sw,1
	return
;------------------------------------------------------------------
dont
;		btfsc	PORTA,1			;Ha alacsony a bemenet
;		call	xle				;Számláló le, szubrutin
;		btfsc	PORTA,3
;		call	yle
	
;----------------------------- X műveletek ------------------------
xfel
		btfsc	sw,2
		goto	xertek
		bsf		sw,2
		incf	x_egy,f
		incf	x_egy,f
		movlw	.10
		xorwf	x_egy,w
		btfss	STATUS,Z
		goto	xertek
		clrf	x_egy
		incf	x_tiz,f
		movlw	.10
		xorwf	x_tiz,w
		btfss	STATUS,Z
		goto	xertek
		clrf	x_tiz
		incf	x_szaz,f
		movlw	.10
		xorwf	x_szaz,w
		btfsc	STATUS,Z
		clrf	x_szaz	
		goto	xertek
xle
		btfsc	sw,3
		goto	xertek
		bsf		sw,3
		decf	x_egy,f
		decf	x_egy,f
		movlw	.254
		xorwf	x_egy,w
		btfss	STATUS,Z
		goto	xertek
		movlw	.8
		movwf	x_egy
		decf	x_tiz,f
		movlw	.255
		xorwf	x_tiz,w
		btfsc	STATUS,Z
		goto	$+2
		goto	xertek						
		clrf	x_tiz
		clrf	x_egy
		goto	xertek
;-------------------------- Y műveletek --------------------------
yfel
		btfsc	sw,0
		goto	yertek
		bsf		sw,0
		incf	y_egy,f
		incf	y_egy,f
		movlw	.10
		xorwf	y_egy,w
		btfss	STATUS,Z
		goto	yertek
		clrf	y_egy
		incf	y_tiz,f
		movlw	.10
		xorwf	y_tiz,w
		btfss	STATUS,Z
		goto	yertek
		clrf	y_tiz
		incf	y_szaz,f
		movlw	.10
		xorwf	y_szaz,w
		btfsc	STATUS,Z
		clrf	y_szaz	
		goto	yertek
yle
		btfsc	sw,1
		goto	yertek
		bsf		sw,1
		decf	y_egy,f
		decf	y_egy,f
		movlw	.254
		xorwf	y_egy,w
		btfss	STATUS,Z
		goto	yertek
		movlw	.8
		movwf	y_egy
		decf	y_tiz,f
		movlw	.255
		xorwf	y_tiz,w
		btfsc	STATUS,Z
		goto	$+2
		goto	yertek						
		clrf	y_tiz
		clrf	y_egy
		goto	yertek