;*******************************************************************
;				BraMo5.06.ASM
;  Jeden vstup a jeden výstup.
;  Při alarmu zavolá na první číslo ze seznamu SIM.
;  Při příchozím volání ověří platnost čísla (některé ze čtyř čísel na SIM kartě) a na vteřinu sepne relé.
;
;	tel.: Siemens C10 ..?
;	Xtal=3,579Hz
;	IC=1,116us
;
;*******************************************************************

		LIST P=16f84A, R=DEC


;registry mikroprocesoru

indf		equ	00
rtcc		equ	01	;reg. citace
pc		equ	02	;citac instrukci
status		equ	03	;reg.
fsr		equ	04	;reg. neprimeho adresovani
porta		equ	05	;reg. portu A
portb		equ	06	;reg. portu B
eedata		equ	08
eeadr		equ	09
pclath		equ	10
intcon		equ	11
optr		equ     h'0081'
trisa		equ     h'0085'
trisb          	equ     h'0086'
eecon1		equ	h'0088'
eecon2		equ	h'0089'


;registry uzivatele

rxdat		equ	12	;prac.registr pro ukládání přijmutých dat
citac		equ	13	;pomocný čítač
txdat		equ	14	;prac.reg.pro vysílaná data
pocbit		equ	15	;počítadlo odvysílaných bitů
prac1		equ	16	;pomocný registr 1
sreg2		equ	17	;stavový reg. pomocný 2 (b0-H=vst1 přidržován, L=vst1 uvolněn)
;                                (b7-H=prozvoň, L=neprozvánět)
sreg		equ	18	;stavový reg. pomocný 1 (b0-H=vyst1 do H, L=vyst1 do L)
ram1		equ	19	;
ram2		equ	20	;
ram3		equ	21	;
ram4		equ	22	;
ram5		equ	23	;
ram6		equ	24	;
ram7		equ	25	;
ram8		equ	26	;
ram9		equ	27	;
ram10		equ	28	;
ram11		equ	29	;
ram12		equ	30	;
prac2           equ     31      ;pomocný registr 2
ram1b		equ	32	;
ram2b		equ	33	;
ram3b		equ	34	;
ram4b		equ	35	;
ram5b		equ	36	;
ram6b		equ	37	;
ram7b		equ	38	;
ram8b		equ	39	;
ram9b		equ	40	;
ram10b		equ	41	;
ram11b		equ	42	;
ram12b		equ	43	;

;definice symbolů

#define		c	3,0		;CARRY bit v SWR
#define		rp0	status,5
#define		rp1	status,6
#define		rx	porta,0		;vstup Rx
#define		tx	porta,1		;vstup Tx
#define		led	porta,3		;LED
#define		rel1	portb,4		;výstup na RELE 1
#define		rd	eecon1,0
#define		wren	eecon1,2
#define		wr	eecon1,1
#define		pss1	sreg2,0		;indikuje jestli byl příslušný spínač ošetřen
#define         pss8    sreg2,7         ;příznak jestli má dojít k prozvonění z MT
#define		sp1	portb,0		;vstup spínače 1

#define		hplus	h'2b'	;hodnota ASCI "+" v HEXa
#define		ha	h'41'	;	      "A"
#define		hb	h'42'	;	      "B"
#define		hr	h'52'	;	      "R"
#define		ht	h'54'	;             "T"
#define		hp	h'50'	;             "P"
#define		hc	h'43'	;             "C"
#define		hm	h'4d'	;             "M"
#define		hs	h'53'	;             "S"
#define		hh	h'48'	;             "H"
#define		hrovno	h'3d'	;             "="
#define		huvoz	h'22'	;             """
#define		hcarka	h'2c'	;             ","
#define		hstr	h'3b'	;             ";"
#define		hg	h'47'	;             "G"
#define		hl	h'4c'	;             "L"
#define		he	h'45'	;             "E"
#define		h0	h'30'	;             "0"
#define		hd	h'44'	;             "D"
#define		h1	h'31'	;             "1"
#define		h2	h'32'	;             "2"
#define		h3	h'33'	;             "3"
#define		h4	h'34'	;             "4"
#define		h5	h'35'	;             "5"
#define		h6	h'36'	;             "6"
#define		h7	h'37'	;             "7"
#define		h8	h'38'	;             "8"
#define		h9	h'39'	;             "9"
#define		hcr	h'0d'	;             "CR"
#define		hdvojt	h'3a'	;             ":"
#define		ho	h'4f'	;             "O"
#define		hi	h'49'	;             "I"


;*********************************************************************************************
;				RESET
;*********************************************************************************************

                                                                                              
	org	0
	goto	start

	org	4
	goto	start


;*********************************************************************************************
;				PODPROGRAMY
;*********************************************************************************************


scirx		bsf	c
		clrf	rxdat
		rrf	rxdat,f
s1		btfsc	rx	;test na start bit
		goto	s1
 		movlw	6	;casování 26us (Tbit/2)
		movwf	citac	;požad.čas (us)-4IC/3IC
st05		decfsz	citac,f
		goto	st05
st1 		movlw	13	;casování 52us (Tbit)
		movwf	citac	;požad.čas (us)-12IC/3IC
st1a		decfsz	citac,f
		goto	st1a
		btfsc	rx	;vzorkování RX
		goto	sch
		bcf	c
		goto	s2
sch		bsf	c
s2		rrf	rxdat,f
		btfss	c	;test na konec byte
		goto	st1
 		movlw	7	;casování 52us (Tbit)-čas pro doběhnutí byte
		movwf	citac	;požad.čas (us)-12IC/3IC
st1b		decfsz	citac,f
		goto	st1b
		return		;přijatá data jsou uložena v RXDAT


scitx		bsf	tx	;v TXDAT musí být data pro vysílání
		movlw	9	;do POCBITu 9
		movwf	pocbit
		bcf	tx	;start bit
st31 		movlw	12	;casování 52us (Tbit)
		movwf	citac	;požad.čas (us)-12IC/3IC
st31a		decfsz	citac,f
		goto	st31a
		decfsz	pocbit,f;test na konec odvys. bytu
		goto	s51
		bsf	tx	;stop bit
 		movlw	12	;casování 52us (Tbit)=délka stop bitu
		movwf	citac	;požad.čas (us)-2IC/3IC
st32		decfsz	citac,f
		goto	st32
		return
s51		rrf	txdat,f
		btfsc	c	;test na stav aktuálního bitu
		goto	s4h
		bcf	tx
		goto	s41
s4h		bsf	tx
s41		goto	st31


;podpr. pro odeslání znaku na SCI

odesli		movwf	txdat
		call	scitx
		return


;podprogram pro časový interval 147ms.

caskr		bsf	rp0		;nast. banky 1
		movlw	b'00000111'	;pd=256,rtcc=128,citac=4
		movwf	optr
		bcf	rp0		;nast. banky 0
		clrf	citac
b147		clrf	rtcc
a147		btfss	rtcc,7
		goto	a147
		incf	citac,1
		btfss	citac,2
		goto	b147
		return


;podprogram pro časový interval asi 0,5s.

t1s		bsf	rp0		;nast. banky 1
		movlw	b'00000111'	;pd=256,rtcc=128,citac=32
		movwf	optr
		bcf	rp0		;nast. banky 0
		clrf	citac
skokb		clrf	rtcc
skoka		btfss	rtcc,7
		goto	skoka
		incf	citac,1
		btfss	citac,4		;citac,5 v pripade 1,2s
		goto	skokb
		return

;přeskočí daný počet přicházejících byte do vstupu Rx

preskoc		movwf	prac1
preskoc2	call	scirx
		decfsz	prac1,f
		goto	preskoc2
		return


;program, který provede čtení z interní EEPROM
;adresa čteného byte musí být v EEADR

ctiee		bsf	rp0		;nastavení banky 1
		bsf	rd		;RD v EECON1 do "H"
		bcf	rp0		;nastavení banky 0
		movfw	eedata
		return			; data jsou v registru W !


;program provede zápis do interní EEPROM
;adresa zapisovaného byte musí být v EEADR a data v EEDATA

zapisee		bsf	rp0		;nastavení banky 1
		bsf	wren		;bit WREN v EECON1 do "H" - povolit zápis

		movlw	h'55'		;povinná povolovací sekvence
		movwf	eecon2
		movlw	h'aa'
		movwf	eecon2
		bsf	wr		;spustit zápis

zapiseeb	btfsc	wr		;čeká na konec zápisu
		goto	zapiseeb
		bcf	wren		;zakázat zápis
		bcf	rp0		;nastavit banku 0
		return


;podpr. pro odeslání do MT příkaz: AT+

atplus		movlw	ha		;AT+
		call	odesli
		movlw	ht
		call	odesli
		movlw	hplus
		call	odesli
		return


atsimread       movlw	ha		;AT+CPBR=
		call	odesli
		movlw	ht
		call	odesli
		movlw	hplus
		movlw   hc
                call    odesli
                movlw   hp
                call    odesli
                movlw   hb
                call    odesli
                movlw   hr
                call    odesli
                movlw   hrovno
		call	odesli
 		return

;zavěšení hovoru

zaves           movlw	ha              ;ATH<CR>
		call	odesli
		movlw	ht
		call	odesli
		movlw	hh
		call	odesli
		movlw	hcr
		call	odesli
                return


;reset RAM1 až RAM12

resram         	movlw	h'ff'
		movwf	ram1
		movwf	ram2
		movwf	ram3
		movwf	ram4
		movwf	ram5
		movwf	ram6
		movwf	ram7
		movwf	ram8
		movwf	ram9
		movwf	ram10
		movwf	ram11
		movwf	ram12
		return


;reset RAM1b až RAM12b

resramb        	movlw	h'ff'
		movwf	ram1b
		movwf	ram2b
		movwf	ram3b
		movwf	ram4b
		movwf	ram5b
		movwf	ram6b
		movwf	ram7b
		movwf	ram8b
		movwf	ram9b
		movwf	ram10b
		movwf	ram11b
		movwf	ram12b
		return


;načte přicházející data z Rx do RAM1 až RAM12

plnram		call	scirx
		movfw	rxdat
		movwf	ram1
		call	scirx
		movfw	rxdat
		movwf	ram2
		call	scirx
		movfw	rxdat
		movwf	ram3
		call	scirx
		movfw	rxdat
		movwf	ram4
		call	scirx
		movfw	rxdat
		movwf	ram5
		call	scirx
		movfw	rxdat
		movwf	ram6
		call	scirx
		movfw	rxdat
		movwf	ram7
		call	scirx
		movfw	rxdat
		movwf	ram8
		call	scirx
		movfw	rxdat
		movwf	ram9
		call	scirx
		movfw	rxdat
		movwf	ram10
		call	scirx
		movfw	rxdat
		movwf	ram11
		call	scirx
		movfw	rxdat
		movwf	ram12
		return


;načte přicházející data z Rx do RAM1b až RAM12b

plnramb		call	scirx
		movfw	rxdat
		movwf	ram1b
		call	scirx
		movfw	rxdat
		movwf	ram2b
		call	scirx
		movfw	rxdat
		movwf	ram3b
		call	scirx
		movfw	rxdat
		movwf	ram4b
		call	scirx
		movfw	rxdat
		movwf	ram5b
		call	scirx
		movfw	rxdat
		movwf	ram6b
		call	scirx
		movfw	rxdat
		movwf	ram7b
		call	scirx
		movfw	rxdat
		movwf	ram8b
		call	scirx
		movfw	rxdat
		movwf	ram9b
		call	scirx
		movfw	rxdat
		movwf	ram10b
		call	scirx
		movfw	rxdat
		movwf	ram11b
		call	scirx
		movfw	rxdat
		movwf	ram12b
		return


;načte telefonní číslo z pozice 1 na SIM do RAM1 až RAM12
;(vytoč AT+CPBR=1<CR> -> detekuj horní úvozovky -> vynechej znak plus -> načti do RAM
; následujících 12 bytů -> čekej 147 ms)

ctitlf1         call    atsimread          ;vytočí AT+CPBR=1<CR>
                call    odesli
                movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit1a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit1a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return


;***************** dalsi pozice na SIM 2-50 ***************************

ctitlf2         call    atsimread          ;vytočí AT+CPBR=2<CR>
                call    odesli
                movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit2a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit2a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return
;***************** dalsi pozice na SIM 3-50 ***************************

ctitlf3         call    atsimread          ;vytočí AT+CPBR=3<CR>
                call    odesli
                movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit3a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit3a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return
;***************** dalsi pozice na SIM 4-50 ***************************

ctitlf4         call    atsimread          ;vytočí AT+CPBR=4<CR>
                call    odesli
                movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit4a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit4a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return
;***************** dalsi pozice na SIM 5-50 ***************************
ctitlf5         call    atsimread          ;vytočí AT+CPBR=5<CR>
                call    odesli
                movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit5a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit5a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 6-50 ***************************
ctitlf6         call    atsimread          ;vytočí AT+CPBR=6<CR>
                call    odesli
                movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit6a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit6a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 7-50 ***************************
ctitlf7         call    atsimread          ;vytočí AT+CPBR=7<CR>
                call    odesli
                movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit7a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit7a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 8-50 ***************************
ctitlf8         call    atsimread          ;vytočí AT+CPBR=8<CR>
    		call    odesli
                movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit8a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit8a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 9-50 ***************************
ctitlf9         call    atsimread          ;vytočí AT+CPBR=4<CR>
   		call    odesli
                movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit9a          call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit9a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 10-50 ***************************
ctitlf10        call    atsimread          ;vytočí AT+CPBR=10<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h0
                call    odesli
                movlw   hcr
                call    odesli
ctit10a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit10a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 11-50 ***************************
ctitlf11        call    atsimread          ;vytočí AT+CPBR=11<CR>
     		call    odesli
                movlw   h1
                call    odesli
		movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit11a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit11a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 12-50 ***************************
ctitlf12        call    atsimread          ;vytočí AT+CPBR=12<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit12a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit12a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 13-50 ***************************
ctitlf13        call    atsimread          ;vytočí AT+CPBR=13<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit13a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit13a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 14-50 ***************************
ctitlf14        call    atsimread          ;vytočí AT+CPBR=14<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit14a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit14a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 15-50 ***************************
ctitlf15        call    atsimread          ;vytočí AT+CPBR=15<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit15a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit15a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 16-50 ***************************
ctitlf16        call    atsimread          ;vytočí AT+CPBR=16<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit16a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit16a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 17-50 ***************************
ctitlf17        call    atsimread          ;vytočí AT+CPBR=17<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit17a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit17a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 18-50 ***************************
ctitlf18        call    atsimread          ;vytočí AT+CPBR=18<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit18a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit18a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 19-50 ***************************
ctitlf19        call    atsimread          ;vytočí AT+CPBR=19<CR>
    		call    odesli
                movlw   h1
                call    odesli
		movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit19a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit19a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 20-50 ***************************
ctitlf20        call    atsimread          ;vytočí AT+CPBR=20<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h0
                call    odesli
                movlw   hcr
                call    odesli
ctit20a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit20a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 21-50 ***************************
ctitlf21        call    atsimread          ;vytočí AT+CPBR=21<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit21a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit21a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 22-50 ***************************
ctitlf22        call    atsimread          ;vytočí AT+CPBR=22<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit22a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit22a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 23-50 ***************************
ctitlf23        call    atsimread          ;vytočí AT+CPBR=23<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit23a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit23a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 24-50 ***************************
ctitlf24        call    atsimread          ;vytočí AT+CPBR=24<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit24a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit24a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 25-50 ***************************
ctitlf25        call    atsimread          ;vytočí AT+CPBR=25<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit25a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit25a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 26-50 ***************************
ctitlf26        call    atsimread          ;vytočí AT+CPBR=26<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit26a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit26a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 27-50 ***************************
ctitlf27        call    atsimread          ;vytočí AT+CPBR=27<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit27a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit27a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 28-50 ***************************
ctitlf28        call    atsimread          ;vytočí AT+CPBR=28<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit28a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit28a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 29-50 ***************************
ctitlf29        call    atsimread          ;vytočí AT+CPBR=29<CR>
    		call    odesli
                movlw   h2
                call    odesli
		movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit29a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit29a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 30-50 ***************************
ctitlf30        call    atsimread          ;vytočí AT+CPBR=30<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h0
                call    odesli
                movlw   hcr
                call    odesli
ctit30a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit30a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 31-50 ***************************
ctitlf31        call    atsimread          ;vytočí AT+CPBR=31<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit31a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit31a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 32-50 ***************************
ctitlf32        call    atsimread          ;vytočí AT+CPBR=32<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit32a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit32a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 33-50 ***************************
ctitlf33        call    atsimread          ;vytočí AT+CPBR=33<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit33a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit33a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 34-50 ***************************
ctitlf34        call    atsimread          ;vytočí AT+CPBR=34<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit34a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit34a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 35-50 ***************************
ctitlf35        call    atsimread          ;vytočí AT+CPBR=35<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit35a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit35a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 36-50 ***************************
ctitlf36        call    atsimread          ;vytočí AT+CPBR=36<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit36a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit36a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 37-50 ***************************
ctitlf37        call    atsimread          ;vytočí AT+CPBR=37<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit37a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit37a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 38-50 ***************************
ctitlf38        call    atsimread          ;vytočí AT+CPBR=38<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit38a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit38a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 39-50 ***************************
ctitlf39        call    atsimread          ;vytočí AT+CPBR=39<CR>
    		call    odesli
                movlw   h3
                call    odesli
		movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit39a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit39a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 40-50 ***************************
ctitlf40        call    atsimread          ;vytočí AT+CPBR=40<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h0
                call    odesli
                movlw   hcr
                call    odesli
ctit40a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit40a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 41-50 ***************************
ctitlf41        call    atsimread          ;vytočí AT+CPBR=41<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit41a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit41a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 42-50 ***************************
ctitlf42        call    atsimread          ;vytočí AT+CPBR=42<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit42a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit42a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 43-50 ***************************
ctitlf43        call    atsimread          ;vytočí AT+CPBR=43<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit43a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit43a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 44-50 ***************************
ctitlf44        call    atsimread          ;vytočí AT+CPBR=44<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit44a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit44a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 45-50 ***************************
ctitlf45        call    atsimread          ;vytočí AT+CPBR=45<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit45a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit45a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 46-50 ***************************
ctitlf46        call    atsimread          ;vytočí AT+CPBR=46<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit46a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit46a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 47-50 ***************************
ctitlf47        call    atsimread          ;vytočí AT+CPBR=47<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit47a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit47a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 48-50 ***************************
ctitlf48        call    atsimread          ;vytočí AT+CPBR=48<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit48a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit48a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 49-50 ***************************
ctitlf49        call    atsimread          ;vytočí AT+CPBR=49<CR>
    		call    odesli
                movlw   h4
                call    odesli
		movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit49a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit49a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 50-59 ***************************
ctitlf50        call    atsimread          ;vytočí AT+CPBR=50<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h0
                call    odesli
                movlw   hcr
                call    odesli
ctit50a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit50a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 51-59 ***************************
ctitlf51        call    atsimread          ;vytočí AT+CPBR=51<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
ctit51a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit51a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 52-59 ***************************
ctitlf52        call    atsimread          ;vytočí AT+CPBR=52<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h2
                call    odesli
                movlw   hcr
                call    odesli
ctit52a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit52a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 53-59 ***************************
ctitlf53        call    atsimread          ;vytočí AT+CPBR=53<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h3
                call    odesli
                movlw   hcr
                call    odesli
ctit53a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit53a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 54-59 ***************************
ctitlf54        call    atsimread          ;vytočí AT+CPBR=54<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h4
                call    odesli
                movlw   hcr
                call    odesli
ctit54a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit54a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 55-59 ***************************
ctitlf55        call    atsimread          ;vytočí AT+CPBR=55<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h5
                call    odesli
                movlw   hcr
                call    odesli
ctit55a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit55a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 56-59 ***************************
ctitlf56        call    atsimread          ;vytočí AT+CPBR=56<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h6
                call    odesli
                movlw   hcr
                call    odesli
ctit56a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit56a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 57-57 ***************************
ctitlf57        call    atsimread          ;vytočí AT+CPBR=57<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h7
                call    odesli
                movlw   hcr
                call    odesli
ctit57a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit57a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 58-59 ***************************
ctitlf58        call    atsimread          ;vytočí AT+CPBR=58<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h8
                call    odesli
                movlw   hcr
                call    odesli
ctit58a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit58a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;***************** dalsi pozice na SIM 59-59 ***************************
ctitlf59        call    atsimread          ;vytočí AT+CPBR=59<CR>
    		call    odesli
                movlw   h5
                call    odesli
		movlw   h9
                call    odesli
                movlw   hcr
                call    odesli
ctit59a         call	scirx		;test na příchod horní úvozovky (h22)
		movlw	h'22'
		clrz
		subwf	rxdat,w
		skpz
		goto    ctit59a
		movlw   1               ;přeskočí jeden příchozí znak (+)
		call    preskoc
                call    plnram          ;načte přicházejících 12 byte do RAM (tlf. č.)
                call    caskr
                return

;vytočí na MT tel. č. uložené v RAM1 až RAM12
; vytoč ATD+<tlf v RAM>;<CR> -> čekej 10s -> zavěs MT -> čekej 147 ms

vytoctlf        movlw   ha               ;odešle ATD+<tlf v RAM>;<CR>
                call    odesli
                movlw   ht
                call    odesli
                movlw   hd
                call    odesli
                movlw   hplus
                call    odesli
                movfw   ram1
                call    odesli
                movfw   ram2
                call    odesli
                movfw   ram3
                call    odesli
                movfw   ram4
                call    odesli
                movfw   ram5
                call    odesli
                movfw   ram6
                call    odesli
                movfw   ram7
                call    odesli
                movfw   ram8
                call    odesli
                movfw   ram9
                call    odesli
                movfw   ram10
                call    odesli
                movfw   ram11
                call    odesli
                movfw   ram12
                call    odesli
                movlw   hstr
                call    odesli
                movlw   hcr
                call    odesli
                call    t1s              ;čekání 19 blik - doba na prozvonění
                bsf	led	
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led	
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    t1s
                bsf	led
                call    t1s
                bcf	led
                call    zaves            ;zavěšení hovoru
                call    caskr             ;čekání 147 ms
                return


;porovná opbsah RAMa a RAMb. Pokud bude obsah stejný tak vrátí v W 01h jinak 00h.*************

kompram         movfw   ram1
                clrz
                subwf   ram1b,w
                skpz
                goto    ret0

                movfw   ram2
                clrz
                subwf   ram2b,w
                skpz
                goto    ret0

                movfw   ram3
                clrz
                subwf   ram3b,w
                skpz
                goto    ret0

                movfw   ram4
                clrz
                subwf   ram4b,w
                skpz
                goto    ret0

                movfw   ram5
                clrz
                subwf   ram5b,w
                skpz
                goto    ret0

                movfw   ram6
                clrz
                subwf   ram6b,w
                skpz
                goto    ret0

                movfw   ram7
                clrz
                subwf   ram7b,w
                skpz
                goto    ret0

                movfw   ram8
                clrz
                subwf   ram8b,w
                skpz
                goto    ret0

                movfw   ram9
                clrz
                subwf   ram9b,w
                skpz
                goto    ret0

                movfw   ram10
                clrz
                subwf   ram10b,w
                skpz
                goto    ret0

                movfw   ram11
                clrz
                subwf   ram11b,w
                skpz
                goto    ret0

                movfw   ram12
                clrz
                subwf   ram12b,w
                skpz
                goto    ret0

                retlw   1                ;obsah RAMa je stejný s RAMb
ret0            retlw   0                ;obsah RAMa není stejný s RAMb


;*********************************************************************************************
;				INICIALIZACE
;*********************************************************************************************


start		bcf	rp0		;nastavení banky 0
		bcf	rp1		;nastavení banky 0
		movlw	b'00011110'
		movwf	porta		;stav PORT A
		movlw	b'11101111'
		movwf	portb		;stav PORT B

		bsf	rp0		;nastavení banky 1
		movlw	b'00000001'
		movwf	trisa		;ini PORT A
		movlw	b'11101111'
		movwf	trisb		;ini PORT B

		bsf	rp0		;nast. banky 1
		movlw	b'00000011'	;nastavení OPTION (pull-up=ON, RTCC=16)
		movwf	optr
		movlw	b'00000000'	;zákaz přerušení
		movwf	intcon
		clrf    sreg2           ;nulování registru aktuálního stavu vstupů

		bcf	led		;indikace inicializace 5x blikne led
		call	t1s
		bsf	led
		call	t1s
		bcf	led		;blik2
		call	t1s
		bsf	led
		call	t1s
		bcf	led		;blik3
		call	t1s
		bsf	led
		call	t1s
		bcf	led		;blik4
		call	t1s
		bsf	led
		call	t1s
		bcf	led		;blik5

start1		bcf	rp0		;nast. banky 0

                call    resram          ;nulování RAM1 - 12
                call    resramb         ;nulování RAM1b - 12b

		movlw	0		;aktualizace SREG z EEPROM
		movwf	eeadr
		call	ctiee
		movwf	sreg


;*********************************************************************************************
;				PROGRAM
;*********************************************************************************************


program		bsf	led		;zhasni LED
		btfss	rx		;test na připojení MT
		goto	program
		call	caskr
		bcf	led		;rozsviť LED

                call    atplus          ;odeslání AT+CLIP=1<CR> do MT (zapne indikaci tel. č. příchozích hovorů)
                movlw   hc
                call    odesli
                movlw   hl
                call    odesli
                movlw   hi
                call    odesli
                movlw   hp
                call    odesli
                movlw   hrovno
                call    odesli
                movlw   h1
                call    odesli
                movlw   hcr
                call    odesli
                call    t1s             ;prodleva pro zamaskování odpovedi "OK" po předchozím příkazu
		
;**** testování vstupů spínače a příchozího volání *********

testvst1        btfss   sp1             ;test na sepnutí spínače vstupu 1
                goto    nulpss1
                btfsc   pss1            ;test jestli je stále sepnutý vst.1 (v H)
                goto    cekej_t2
                bsf     pss1            ;nastavení že vst.1 byl sepnut

                call    t1s             ;doba na zotavení MT
                call    t1s
                call    t1s
                call    ctitlf1         ;nacte tlf. č. z 1. pozice SIM do RAM1 - 12
                call    vytoctlf        ;vytočí tlf. č. z RAM do MT
                call    resram          ;nulování RAM1 - 12

                goto    cekej_t2

nulpss1         bcf     pss1            ;nastavení že byl vst.1 uvolněn
cekej_t2        btfsc   rx              ;test na příchozí volání
                goto	testvst1


;**** zpracování příchozího volání *****************************************
;jestli není třetí znak "R" tak zavesit a skočit na start1
;přeskočit N znaků
;načíst všech 12 následující čísel do RAMb
;odmítnout příchozí hovor
;načíst první tel. č. ze SIM
;porovnat RAMa s RAMb
;
;pokud souhlasí:
;změnit stav relé (MKO)
;goto start1
;
;pokud nesouhlasí:
;načíst druhé tel. č. ze SIM
;porovnat RAMa s RAMb
;atd... až pro čtvrté tel. č.
;goto start1
;***************************************************************************
                movlw   2               ;přesoč dva přicházející znaky
                call    preskoc
                call	scirx
                movlw   hr              ;test na první písmeno "RING"
		clrz
		subwf	rxdat,w
		skpz
		goto    navrat          ;příchozí znak není "R" -> návrat na start1

                movlw   15              ;přeskoč 12 příchozích znaků
                call    preskoc

                call    plnramb         ;načte příchozí tel. č. do RAMb
                call    caskr            ;zotavovací doba MT
                call    zaves           ;ATH
                call    caskr            ;zotavovací doba MT

                call    ctitlf1         ;načte tlf. č. z 1. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf2         ;načte tlf. č. z 2. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf3         ;načte tlf. č. z 3. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf4         ;načte tlf. č. z 4. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf5         ;načte tlf. č. z 5. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf6         ;načte tlf. č. z 6. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf7         ;načte tlf. č. z 7. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf8         ;načte tlf. č. z 8. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf9         ;načte tlf. č. z 9. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf10         ;načte tlf. č. z 10. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf11         ;načte tlf. č. z 11. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf12         ;načte tlf. č. z 12. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf13         ;načte tlf. č. z 13. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf14         ;načte tlf. č. z 14. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf15         ;načte tlf. č. z 15. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf16         ;načte tlf. č. z 16. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf17         ;načte tlf. č. z 17. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf18         ;načte tlf. č. z 18. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf19         ;načte tlf. č. z 19. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf21         ;načte tlf. č. z 21. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf22         ;načte tlf. č. z 22. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf23         ;načte tlf. č. z 23. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf24         ;načte tlf. č. z 24. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf25         ;načte tlf. č. z 25. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf26         ;načte tlf. č. z 26. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf27         ;načte tlf. č. z 27. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf28         ;načte tlf. č. z 28. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf29         ;načte tlf. č. z 29. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf30         ;načte tlf. č. z 30. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf31         ;načte tlf. č. z 31. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf32         ;načte tlf. č. z 32. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf33         ;načte tlf. č. z 33. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf34         ;načte tlf. č. z 34. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf35         ;načte tlf. č. z 35. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf36         ;načte tlf. č. z 36. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf37         ;načte tlf. č. z 37. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf38         ;načte tlf. č. z 38. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf39         ;načte tlf. č. z 39. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf40         ;načte tlf. č. z 40. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf41         ;načte tlf. č. z 41. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf42         ;načte tlf. č. z 42. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf43         ;načte tlf. č. z 43. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf44         ;načte tlf. č. z 44. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf45         ;načte tlf. č. z 45. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf46         ;načte tlf. č. z 46. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf47         ;načte tlf. č. z 47. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf48         ;načte tlf. č. z 48. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf49         ;načte tlf. č. z 49. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf50         ;načte tlf. č. z 50. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf51         ;načte tlf. č. z 51. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf52         ;načte tlf. č. z 52. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf53         ;načte tlf. č. z 53. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf54         ;načte tlf. č. z 54. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf55         ;načte tlf. č. z 55. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf56         ;načte tlf. č. z 56. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf57         ;načte tlf. č. z 57. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf58         ;načte tlf. č. z 58. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé

                call    ctitlf59         ;načte tlf. č. z 59. pozice SIM karty do RAMa
                call    kompram         ;porovná obsahy RAMa a RAMb
                movwf   prac2
                movlw   1
                clrz
                subwf   prac2,w
                skpnz
                goto    preprel         ;číslo souhlasí -> překlopit relé
               
		goto    start1

preprel         bsf     rel1            ;sepne relé
                call    t1s             ;doba sepnutí relé
                bcf     rel1            ;vypne relé
		
navrat          call    zaves
                goto    start1		


		end