;   This file is a basic code template for assembly code generation   *
;   on the PICmicro PIC16F636. This file contains the basic code      *
;   building blocks to build upon.                                    *
;                                                                     *
;   If interrupts are not used all code presented between the ORG     *
;   0x004 directive and the label main can be removed. In addition    *
;   the variable assignments for 'w_temp' and 'status_temp' can       *
;   be removed.                                                       *
;                                                                     *
;   Refer to the MPASM User's Guide for additional information on     *
;   features of the assembler (Document DS33014).                     *
;                                                                     *
;   Refer to the respective PICmicro data sheet for additional        *
;   information on the instruction set.                               *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Filename:	    encoder feldolgozó.asm                            *
;    Date:          2007.01.                                          *
;    File Version:  0.                                                *
;                                                                     *
;    Author:        Surányi Péter                                     *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Files required:                                                  *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *

;                                                                     *
;    Előre az állapotok sorrendje: 00,10,11,01                        *
;    Hátra az állapotok sorrendje: 00,01,11,10                        *
;                                                                     *
;    Az állapotok vizsgálata minden 5.usec-ben                        *
;    Egymás után 4-szer ugyanaz az állapot kell (szűrés kb. 20 usec)  *
;    Az állapotok számlálva egy byton, az állapotok 2-2 biten számolva*
;                                                                     *
;    Minden váltáskor szintváltás az előre vagy hátra impulzuson      *
;                                                                     *
;                                                                     *
;    Hibás váltás után:                                               *
;        kb. 0,2 sec-ig világít a LED                                 *
;        megkíséreljük az eredeti irányban folytatni                  *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************

	list      p=16F636        ; list directive to define processor
	#include <p16F636.inc>    ; processor specific variable definitions

	errorlevel  -302          ; suppress message 302 from list file

	__CONFIG   _WUREN_OFF & _FCMEN_ON & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT 

; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See data sheet for additional information on configuration word settings.




;***** VARIABLE DEFINITIONS
w_temp        EQU     0x70        ; variable used for context saving 
status_temp   EQU     0x71        ; variable used for context saving


COMPA_b			EQU	0x07	;az A jel komparátor kimenetének bithelye
COMPB_b			EQU	0x06	;a B jel komparátor kimenetének bithelye
COMP			EQU	0x20

E_out_imp_f		EQU	0x07	;az előre irány kimenő impulzusok regiszter helye
E_out_imp_b		EQU	0x05	;az előre irány kimenő impulzusok bit helye
H_out_imp_f		EQU	0x07	;a hátra irány kimenő impulzusok regiszter helye
H_out_imp_b		EQU	0x03	;a hátra irány kimenő impulzusok bit helye

;E_out_sig_f		EQU		;az előre irány kimenő jelnek (nem az impulzusok) regiszter helye
;E_out_sig_b		EQU		;az előre irány kimenő jelnek (nem az impulzusok) bit helye
;H_out_sig_f		EQU		;a hátra irány kimenő jelnek (nem az impulzusok) regiszter helye
;H_out_sig_b		EQU		;a hátra irány kimenő jelnek (nem az impulzusok) bit helye

inputM_f		EQU		0x21	;a bemenetek állapatát tároló és számláló regiszter

E_C_f			EQU		0x22	;az előre irány kimeneti jelképzéséhez a számláló
H_C_f			EQU		0x23	;a hátra irány kimeneti jelképzéséhez a számláló
C_b				EQU		0		;a jelfeldolgozást beállító bit 1x-es:1 2x-es:0 (hanyadik bitet figyelje,
								; ha 0, akkor az utólsót, lát minden változást, ettől lesz 2x-es
								; ha 1, akkor csak minden 2.-at, 

P_LED_f			EQU	0x07	;a piros (hiba) led regiszter helye
P_LED_b			EQU	0x02	;a piros (hiba) led bit helye


;**********************************************************************
	ORG     0x000             ; processor reset vector
	goto    main              ; go to beginning of program
	

	ORG     0x004             ; interrupt vector location
	movwf   w_temp            ; save off current W register contents
	movf	STATUS,w          ; move status register into W register
	movwf	status_temp       ; save off contents of STATUS register


; isr code can go here or be located as a call subroutine elsewhere


	movf    status_temp,w     ; retrieve copy of STATUS register
	movwf	STATUS            ; restore pre-isr STATUS register contents
	swapf   w_temp,f
	swapf   w_temp,w          ; restore pre-isr W register contents
	retfie                    ; return from interrupt


main

; remaining code goes here






	nop
	
;inicializálás
  ;rendszer
	bsf	STATUS,RP0					;	bank1 választás
	bcf	STATUS,RP1
	movlw	b'01110000'				;	8Mhz-es oszcillátor
	movwf	OSCCON
	movlw	b'10000000'				;	Watchdog előosztásban nincs benne TMR0 előosztó
	movwf	OPTION_REG
	bcf	STATUS,RP0					;	bank0 választás
	bcf	STATUS,RP1
	movlw	b'00000001'				;	watchdog előosztása 1/32, kb. 1msec alatt lefut
	movwf	WDTCON

  ;portok
	bcf	STATUS,RP0					;	bank0 választás
	bcf	STATUS,RP1
	clrf	PORTA					;	PORTA-t nem használjuk valójában
	movlw	b'00000100'				;	a LED kimenet "1"-be, hogy ne világítson
	movwf	PORTC
	bsf	STATUS,RP0					;	bank1 választás
	bcf	STATUS,RP1
	movlw	b'00111111'				;	PORTA nem lesz digitális kimenet
	movwf	TRISA
	movlw	b'00010011'				;	RC2, RC3, RC5 lesz digitális kimenet
	movwf	TRISC
	bcf	STATUS,RP0					;	bank0 választás
	bcf	STATUS,RP1

  ;komparátorok	
	movlw	b'00110010'				;	invertált kimenet (hiszterézishez), belső ref.
	movwf	CMCON0
	movlw	b'00000010'				;	nem szinronizáljuk a komparátorok kimenetét
	movwf	CMCON1
	bsf	STATUS,RP0					;	bank1 választás
	bcf	STATUS,RP1
	movlw	b'10100110'				;	belső ref. bekapcs., kb.1/4 VDD
	movwf	VRCON
	bcf	STATUS,RP0					;	bank0 választás
	bcf	STATUS,RP1

  ;TIMER1	
	clrf	TMR1L
	clrf	TMR1H
	movlw	b'00110001'				;	Fosc/4 választás 1/8 előosztással, 2MHz/8= 250kHz, bekapcsolva
	movwf	T1CON
	nop


	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AV;;;;;;;;;;;;;állapotválasztás
AVciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfsc	COMP,COMPA_b				;3.	az első bitérték vizsgálata
	goto	AV_1X					;4.
									;	AV_0X esetén erre megyünk tovább
	nop								;5
	btfsc	COMP,COMPB_b				;6.
	goto	AV_01					;7.
	nop								;8	AV_00 esetén erre megyünk tovább

;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00000011'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_00ciklus				;12	
  ;számlálás	
	movlw	b'00000011'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000001'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AVciklus				;18

AV_1X
	btfsc	COMP,COMPB_b			;6.
	goto	AV_11					;7.
	nop								;8. AV_10 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00110000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_10ciklus					;12	
  ;számlálás	
	movlw	b'00110000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00010000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AVciklus				;18

AV_01
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00001100'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_01ciklus				;12	
  ;számlálás	
	movlw	b'00001100'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000100'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AVciklus				;18

AV_11
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'11000000'				;9
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_11ciklus				;12	
  ;számlálás	
	movlw	b'11000000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'01000000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AVciklus				;18





	
;;;;;;;;;;;;;;;;;;;; ELŐRE 00 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AE_00
	
	incf	E_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	E_C_f,C_b				;15
	bsf	E_out_imp_f,E_out_imp_b		;16
	btfss	E_C_f,C_b				;17
	bcf	E_out_imp_f,E_out_imp_b		;18
	clrf	inputM_f				;19

AE_00ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfsc	COMP,COMPA_b			;3.	az első bitérték vizsgálata
	goto	AE_00_1X				;4.
									;	AX_XX_0X esetén erre megyünk tovább
	bcf	STATUS,RP1					;5		frissítés
	btfsc	COMP,COMPB_b			;6.
	goto	AE_00_01				;7.
									;	AX_XX_00 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'01110000'				;	8Mhz-es oszcillátor
	movwf	OSCCON
	bcf	STATUS,RP0
	goto	AE_00ciklus				;18


AE_00_1X
	btfsc	COMP,COMPB_b			;6.
	goto	AE_00_11				;7.
	nop								;8. AX_XX_10 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00110000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_10					;12	
  ;számlálás	
	movlw	b'00110000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00010000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_00ciklus				;18
AE_00_01
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00001100'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_01					;12	
  ;számlálás	
	movlw	b'00001100'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000100'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_00ciklus				;18
AE_00_11
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'11000000'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AE_00_11B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AE_11					;15
AE_00_11B
  ;számlálás	
	movlw	b'11000000'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'01000000'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AE_00ciklus				;18
	


;;;;;;;;;;;;;;;;;;;; ELŐRE 10 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AE_10
	
	incf	E_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	E_C_f,C_b				;15
	bsf	E_out_imp_f,E_out_imp_b		;16
	btfss	E_C_f,C_b				;17
	bcf	E_out_imp_f,E_out_imp_b		;18
	clrf	inputM_f				;19
AE_10ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfss	COMP,COMPA_b			;3.	a 1. bitérték vizsgálata
	goto	AE_10_0X				;4.
									;	AX_XX_1X esetén erre megyünk tovább
	nop								;5
	btfsc	COMP,COMPB_b			;6.
	goto	AE_10_11				;7.
									;	AX_XX_10 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'10000000'				;	Watchdog előosztásban nincs benne TMR0 előosztó
	movwf	OPTION_REG
	bcf	STATUS,RP0					;	bank0 választás
	goto	AE_10ciklus				;18


AE_10_0X
	btfsc	COMP,COMPB_b			;6.
	goto	AE_10_01				;7.
	nop								;8. AX_XX_00 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00000011'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_00					;12	
  ;számlálás	
	movlw	b'00000011'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000001'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_10ciklus				;18
AE_10_11
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'11000000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_11					;12	
  ;számlálás	
	movlw	b'11000000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'01000000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_10ciklus				;18
AE_10_01
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00001100'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AE_10_01B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AE_01					;15
AE_10_01B
  ;számlálás	
	movlw	b'00001100'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00000100'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AE_10ciklus				;18




;;;;;;;;;;;;;;;;;;;; ELŐRE 11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AE_11
	
	incf	E_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	E_C_f,C_b				;15
	bsf	E_out_imp_f,E_out_imp_b		;16
	btfss	E_C_f,C_b				;17
	bcf	E_out_imp_f,E_out_imp_b		;18
	clrf	inputM_f				;19
AE_11ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfss	COMP,COMPA_b			;3.	az első bitérték vizsgálata
	goto	AE_11_0X				;4.
									;	AX_XX_1X esetén erre megyünk tovább
	nop								;5
	btfss	COMP,COMPB_b			;6.
	goto	AE_11_10				;7.
									;	AX_XX_11 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	movlw	b'00110010'				;	invertált kimenet (hiszterézishez), belső ref.
	movwf	CMCON0
	movlw	b'00000010'				;	nem szinronizáljuk a komparátorok kimenetét
	movwf	CMCON1
	goto	AE_11ciklus				;18


AE_11_0X
	btfss	COMP,COMPB_b			;6.
	goto	AE_11_00				;7.
	nop								;8. AX_XX_01 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00001100'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_01					;12	
  ;számlálás	
	movlw	b'00001100'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000100'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_11ciklus				;18
AE_11_10
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00110000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_10					;12	
  ;számlálás	
	movlw	b'00110000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00010000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_11ciklus				;18
AE_11_00
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00000011'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AE_11_00B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AE_00					;15
AE_11_00B
  ;számlálás	
	movlw	b'00000011'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00000001'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AE_11ciklus				;18
	


;;;;;;;;;;;;;;;;;;;; ELŐRE 01 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AE_01
	
	incf	E_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	E_C_f,C_b				;15
	bsf	E_out_imp_f,E_out_imp_b		;16
	btfss	E_C_f,C_b				;17
	bcf	E_out_imp_f,E_out_imp_b		;18
	clrf	inputM_f				;19
AE_01ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfsc	COMP,COMPA_b			;3.	a 1. bitérték vizsgálata
	goto	AE_01_1X				;4.
									;	AX_XX_0X esetén erre megyünk tovább
	nop								;5
	btfss	COMP,COMPB_b				;6.
	goto	AE_01_00				;7.
									;	AX_XX_01 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'10100110'				;	belső ref. bekapcs., kb.1/4 VDD
	movwf	VRCON
	bcf	STATUS,RP0					;	bank0 választás
	goto	AE_01ciklus				;18


AE_01_1X
	btfss	COMP,COMPB_b			;6.
	goto	AE_01_10				;7.
	nop								;8. AX_XX_11 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'11000000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_11					;12	
  ;számlálás	
	movlw	b'11000000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'01000000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_01ciklus				;18
AE_01_00
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00000011'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_00					;12	
  ;számlálás	
	movlw	b'00000011'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000001'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AE_01ciklus				;18
AE_01_10
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00110000'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AE_01_10B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AE_10					;15
AE_01_10B
  ;számlálás	
	movlw	b'00110000'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00010000'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AE_01ciklus				;18
	





	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;; HÁTRA 00 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AH_00
	
	incf	H_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	H_C_f,C_b				;15
	bsf	H_out_imp_f,H_out_imp_b		;16
	btfss	H_C_f,C_b				;17
	bcf	H_out_imp_f,H_out_imp_b		;18
	clrf	inputM_f				;19

AH_00ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfsc	COMP,COMPA_b			;3.	az első bitérték vizsgálata
	goto	AH_00_1X				;4.
									;	AX_XX_0X esetén erre megyünk tovább
	nop								;5
	btfsc	COMP,COMPB_b			;6.
	goto	AH_00_01				;7.
									;	AX_XX_00 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'00111111'				;	PORTA nem lesz digitális kimenet
	movwf	TRISA
	bcf	STATUS,RP0					;	bank0 választás
	goto	AH_00ciklus				;18


AH_00_1X
	btfsc	COMP,COMPB_b			;6.
	goto	AH_00_11				;7.
	nop								;8. AX_XX_10 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00110000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_10					;12	
  ;számlálás	
	movlw	b'00110000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00010000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_00ciklus				;18
AH_00_01
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00001100'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_01					;12	
  ;számlálás	
	movlw	b'00001100'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000100'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_00ciklus				;18
AH_00_11
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'11000000'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AH_00_11B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AH_11					;15
AH_00_11B
  ;számlálás	
	movlw	b'11000000'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'01000000'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AH_00ciklus				;18
	


;;;;;;;;;;;;;;;;;;;; HÁTRA 10 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AH_10
	
	incf	H_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	H_C_f,C_b				;15
	bsf	H_out_imp_f,H_out_imp_b		;16
	btfss	H_C_f,C_b				;17
	bcf	H_out_imp_f,H_out_imp_b		;18
	clrf	inputM_f				;19
AH_10ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfss	COMP,COMPA_b			;3.	a 1. bitérték vizsgálata
	goto	AH_10_0X				;4.
									;	AX_XX_1X esetén erre megyünk tovább
	nop								;5
	btfsc	COMP,COMPB_b			;6.
	goto	AH_10_11				;7.
									;	AX_XX_10 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'00010011'				;	RC2, RC3, RC5 lesz digitális kimenet
	movwf	TRISC
	bcf	STATUS,RP0					;	bank0 választás
	goto	AH_10ciklus				;18


AH_10_0X
	btfsc	COMP,COMPB_b			;6.
	goto	AH_10_01				;7.
	nop								;8. AX_XX_00 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00000011'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_00					;12	
  ;számlálás	
	movlw	b'00000011'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000001'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_10ciklus				;18
AH_10_11
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'11000000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_11					;12	
  ;számlálás	
	movlw	b'11000000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'01000000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_10ciklus				;18
AH_10_01
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00001100'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AH_10_01B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AH_01					;15
AH_10_01B
  ;számlálás	
	movlw	b'00001100'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00000100'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AH_10ciklus				;18




;;;;;;;;;;;;;;;;;;;; HÁTRA 11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AH_11
	
	incf	H_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	H_C_f,C_b				;15
	bsf	H_out_imp_f,H_out_imp_b		;16
	btfss	H_C_f,C_b				;17
	bcf	H_out_imp_f,H_out_imp_b		;18
	clrf	inputM_f				;19
AH_11ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfss	COMP,COMPA_b			;3.	az első bitérték vizsgálata
	goto	AH_11_0X				;4.
									;	AX_XX_1X esetén erre megyünk tovább
	nop								;5
	btfss	COMP,COMPB_b			;6.
	goto	AH_11_10				;7.
									;	AX_XX_11 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	movlw	b'00000001'				;	watchdog előosztása 1/32, kb. 1msec alatt lefut
	movwf	WDTCON
	movlw	b'00110001'				;	Fosc/4 választás 1/8 előosztással, 2MHz/8= 250kHz, bekapcsolva
	movwf	T1CON
	goto	AH_11ciklus				;18


AH_11_0X
	btfss	COMP,COMPB_b			;6.
	goto	AH_11_00				;7.
	nop								;8. AX_XX_01 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'00001100'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_01					;12	
  ;számlálás	
	movlw	b'00001100'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000100'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_11ciklus				;18
AH_11_10
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00110000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_10					;12	
  ;számlálás	
	movlw	b'00110000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00010000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_11ciklus				;18
AH_11_00
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00000011'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AH_11_00B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AH_00					;15
AH_11_00B
  ;számlálás	
	movlw	b'00000011'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00000001'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AH_11ciklus				;18
	


;;;;;;;;;;;;;;;;;;;; HÁTRA 01 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
AH_01
	incf	H_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
	btfsc	H_C_f,C_b				;15
	bsf	H_out_imp_f,H_out_imp_b		;16
	btfss	H_C_f,C_b				;17
	bcf	H_out_imp_f,H_out_imp_b		;18
	clrf	inputM_f				;19
AH_01ciklus
	clrwdt							;0	
;bemenetek vizsgálata
	movf	CMCON0,0				;1. a komparátorok állapota a W-ben 
	movwf	COMP
	btfsc	COMP,COMPA_b			;3.	a 1. bitérték vizsgálata
	goto	AH_01_1X				;4.
									;	AX_XX_0X esetén erre megyünk tovább
	nop								;5
	btfss	COMP,COMPB_b				;6.
	goto	AH_01_00				;7.
									;	AX_XX_01 esetén erre megyünk tovább
;LED kezelés
	movf	TMR1H,1					;8	van-e hibajelzés folyamatban?
	btfsc	STATUS,Z				;
	clrf	TMR1L					;	ha nincs, a számlálót töröljük
	bsf	P_LED_f,P_LED_b				;11 a HIBA piros ledet kikapcsoljuk
	btfss	STATUS,Z				;
	bcf	P_LED_f,P_LED_b				;13 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk
;frissitések
	bsf	STATUS,RP0					;	bank1 választás
	movlw	b'00111111'				;	PORTA nem lesz digitális kimenet
	movwf	TRISA
	bcf	STATUS,RP0					;	bank0 választás
	goto	AH_01ciklus				;18


AH_01_1X
	btfss	COMP,COMPB_b				;6.
	goto	AH_01_10				;7.
	nop								;8. AX_XX_11 esetén erre megyünk tovább
;bemenetek feldolgozása
  ;ha már negyedszer, akkor elágaztatás
	movlw	b'11000000'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AH_11					;12	
  ;számlálás	
	movlw	b'11000000'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'01000000'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_01ciklus				;18
AH_01_00
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00000011'				;9		
	xorwf	inputM_f,0				;10
	btfsc	STATUS,Z				;11
	goto	AE_00					;12	
  ;számlálás	
	movlw	b'00000011'				;13	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;14
	movlw	b'00000001'				;15	
	addwf	inputM_f,1				;16 növelés
	nop								;17
	goto	AH_01ciklus				;18
AH_01_10
;bemenetek feldolgozása
  ;elágaztatás
	movlw	b'00110000'				;9
	xorwf	inputM_f,0				;10
	btfss	STATUS,Z				;11
	goto	AE_01_10B				;12	
  ;!!! HIBÁRA FUTÁS !!!!!!!!	
	incf	TMR1H					;13 Hiba esetén a kijelzés időzítésének indítása
	bcf		P_LED_f,P_LED_b			;14	a piros (hiba) led bekapcs.(low-ra)
	goto	AH_10					;15
AH_01_10B
  ;számlálás	
	movlw	b'00110000'				;14	maszkolás, egyebek törlése	
	andwf	inputM_f,1				;15
	movlw	b'00010000'				;16	
	addwf	inputM_f,1				;17 növelés
	goto	AH_01ciklus				;18
	
	



	nop
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus
	goto	AVciklus










;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;másképpen


;;;;;;;;;;;;;;;;;;;; ELŐRE 00 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
;AE_00
;	incf	E_C_f,1					;14 impulzus képzéshez növelés
;kimenet állítás
;	btfsc	E_C_f,C_b				;15
;	bsf	E_out_imp_f,E_out_imp_b		;16
;	btfss	E_C_f,C_b				;17
;	bcf	E_out_imp_f,E_out_imp_b		;18
;	nop								;19
;	nop								;20
;AE_00ciklus
;	clrwdt							;1	
;bemenetek vizsgálata
;	movf	COMP_M1,0				;2	a tárolt értékek odébpakolása
;	movwf	COMP_M2					;3
;	movf	CMCON0,0				; a komparátorok állapota a W-ben 
;	andlw	lit_mask,0				;5
;	movwf	COMP_M1					;	letárolva
;	xorwf	COMP_M2,0				;
;	btfsc	STATUS,Z				;
;	incf	COMP_M1,1				;
;	movf	COMP_M1,0				;10
;	xorlw	lit_10
;	btfsc	STATUS,Z
;	goto	AE_10					;
;	movf	COMP_M1,0
;	xorlw	lit_01					;15
;	btfsc	STATUS,Z
;	goto	AH_01					;
;	movf	COMP_M1,0
;	xorlw	lit_10
;	btfsc	STATUS,Z				;20
;	goto	hiba					;
	
;	movf	TMR1H					;	van-e hibajelzés?
;	btfsc	STATUS,Z				;
;	clrf	TMR1L					;	ha nincs, a számlálót töröljük
;	bsf	P_LED_f,P_LED_b				;14 a HIBA piros ledet kikapcsoljuk
;	btfss	STATUS,Z				;15
;	bcf	P_LED_f,P_LED_b				;16 ha még nem telt le az idő, a HIBA piros ledet visszakapcsoljuk


;	btfsc	W,COMPA_b				;3.	az első bitérték vizsgálata
;	goto	AE_00_1X				;4.
									;	AX_XX_0X esetén erre megyünk tovább
;	nop								;5
;	btfsc	W,COMPB_b				;6.
;	goto	AE_00_01				;7.
									;	AX_XX_00 esetén erre megyünk tovább
;ideje van-e a LED kezelésnek?
;	incf	HIBA_CA_f,1				;8 320usec-es jelképzés
;	btfsc	HIBA_CA_f,0x6			;9 a 32. 10usec-ben LED kezelés
;	goto	AE_00_LED				;10
;frissitések













; initialize eeprom locations

	ORG	0x2100
	DE	0x00, 0x01, 0x02, 0x03


	END                       ; directive 'end of program'

