;  ASM code generated by mikroVirtualMachine for PIC - V. 6.2.1.0
;  Date/Time: 22.03.2011 2:28:23
;  Info: http://www.mikroelektronika.co.yu


; ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$158A			BSF	PCLATH, 3
$0001	$2C66			GOTO	_main
$0004	$	_INDICATION_EDIN:
;Thermorelay.c,69 :: 		void INDICATION_EDIN() {   // Подпрограмма индикации единиц, с мигающей точкой, если RA5 == 1 реле включено
;Thermorelay.c,72 :: 		switch (edin) {
$0004	$28BD			GOTO	L_INDICATION_EDIN_10
;Thermorelay.c,73 :: 		case 0: if (porta.f5 == 1 && V <= 12) portb = 64; else portb = 192; break; // от 0 ...
$0005	$	L_INDICATION_EDIN_12:
$0005	$3000			MOVLW	0
$0006	$1303			BCF	STATUS, RP1
$0007	$1283			BCF	STATUS, RP0
$0008	$1A85			BTFSC	PORTA, 5
$0009	$3001			MOVLW	1
$000A	$00F1			MOVWF	STACK_1
$000B	$0871			MOVF	STACK_1, 0
$000C	$3A01			XORLW	1
$000D	$1D03			BTFSS	STATUS, Z
$000E	$2816			GOTO	L_INDICATION_EDIN_15
$000F	$0821			MOVF	_V, 0
$0010	$3C0C			SUBLW	12
$0011	$1C03			BTFSS	STATUS, C
$0012	$2816			GOTO	L_INDICATION_EDIN_15
$0013	$	L82_ex_L_INDICATION_EDIN_15:
$0013	$3040			MOVLW	64
$0014	$0086			MOVWF	PORTB
$0015	$2818			GOTO	L_INDICATION_EDIN_16
$0016	$	L_INDICATION_EDIN_15:
$0016	$30C0			MOVLW	192
$0017	$0086			MOVWF	PORTB
$0018	$	L_INDICATION_EDIN_16:
$0018	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,74 :: 		case 1: if (porta.f5 == 1 && V <= 12) portb = 121; else portb = 249; break;
$0019	$	L_INDICATION_EDIN_17:
$0019	$3000			MOVLW	0
$001A	$1A85			BTFSC	PORTA, 5
$001B	$3001			MOVLW	1
$001C	$00F1			MOVWF	STACK_1
$001D	$0871			MOVF	STACK_1, 0
$001E	$3A01			XORLW	1
$001F	$1D03			BTFSS	STATUS, Z
$0020	$2828			GOTO	L_INDICATION_EDIN_20
$0021	$0821			MOVF	_V, 0
$0022	$3C0C			SUBLW	12
$0023	$1C03			BTFSS	STATUS, C
$0024	$2828			GOTO	L_INDICATION_EDIN_20
$0025	$	L104_ex_L_INDICATION_EDIN_20:
$0025	$3079			MOVLW	121
$0026	$0086			MOVWF	PORTB
$0027	$282A			GOTO	L_INDICATION_EDIN_21
$0028	$	L_INDICATION_EDIN_20:
$0028	$30F9			MOVLW	249
$0029	$0086			MOVWF	PORTB
$002A	$	L_INDICATION_EDIN_21:
$002A	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,75 :: 		case 2: if (porta.f5 == 1 && V <= 12) portb = 36; else portb = 164; break;
$002B	$	L_INDICATION_EDIN_22:
$002B	$3000			MOVLW	0
$002C	$1A85			BTFSC	PORTA, 5
$002D	$3001			MOVLW	1
$002E	$00F1			MOVWF	STACK_1
$002F	$0871			MOVF	STACK_1, 0
$0030	$3A01			XORLW	1
$0031	$1D03			BTFSS	STATUS, Z
$0032	$283A			GOTO	L_INDICATION_EDIN_25
$0033	$0821			MOVF	_V, 0
$0034	$3C0C			SUBLW	12
$0035	$1C03			BTFSS	STATUS, C
$0036	$283A			GOTO	L_INDICATION_EDIN_25
$0037	$	L126_ex_L_INDICATION_EDIN_25:
$0037	$3024			MOVLW	36
$0038	$0086			MOVWF	PORTB
$0039	$283C			GOTO	L_INDICATION_EDIN_26
$003A	$	L_INDICATION_EDIN_25:
$003A	$30A4			MOVLW	164
$003B	$0086			MOVWF	PORTB
$003C	$	L_INDICATION_EDIN_26:
$003C	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,76 :: 		case 3: if (porta.f5 == 1 && V <= 12) portb = 48; else portb = 176; break;
$003D	$	L_INDICATION_EDIN_27:
$003D	$3000			MOVLW	0
$003E	$1A85			BTFSC	PORTA, 5
$003F	$3001			MOVLW	1
$0040	$00F1			MOVWF	STACK_1
$0041	$0871			MOVF	STACK_1, 0
$0042	$3A01			XORLW	1
$0043	$1D03			BTFSS	STATUS, Z
$0044	$284C			GOTO	L_INDICATION_EDIN_30
$0045	$0821			MOVF	_V, 0
$0046	$3C0C			SUBLW	12
$0047	$1C03			BTFSS	STATUS, C
$0048	$284C			GOTO	L_INDICATION_EDIN_30
$0049	$	L148_ex_L_INDICATION_EDIN_30:
$0049	$3030			MOVLW	48
$004A	$0086			MOVWF	PORTB
$004B	$284E			GOTO	L_INDICATION_EDIN_31
$004C	$	L_INDICATION_EDIN_30:
$004C	$30B0			MOVLW	176
$004D	$0086			MOVWF	PORTB
$004E	$	L_INDICATION_EDIN_31:
$004E	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,77 :: 		case 4: if (porta.f5 == 1 && V <= 12) portb = 25; else portb = 153; break;
$004F	$	L_INDICATION_EDIN_32:
$004F	$3000			MOVLW	0
$0050	$1A85			BTFSC	PORTA, 5
$0051	$3001			MOVLW	1
$0052	$00F1			MOVWF	STACK_1
$0053	$0871			MOVF	STACK_1, 0
$0054	$3A01			XORLW	1
$0055	$1D03			BTFSS	STATUS, Z
$0056	$285E			GOTO	L_INDICATION_EDIN_35
$0057	$0821			MOVF	_V, 0
$0058	$3C0C			SUBLW	12
$0059	$1C03			BTFSS	STATUS, C
$005A	$285E			GOTO	L_INDICATION_EDIN_35
$005B	$	L170_ex_L_INDICATION_EDIN_35:
$005B	$3019			MOVLW	25
$005C	$0086			MOVWF	PORTB
$005D	$2860			GOTO	L_INDICATION_EDIN_36
$005E	$	L_INDICATION_EDIN_35:
$005E	$3099			MOVLW	153
$005F	$0086			MOVWF	PORTB
$0060	$	L_INDICATION_EDIN_36:
$0060	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,78 :: 		case 5: if (porta.f5 == 1 && V <= 12) portb = 18; else portb = 146; break;
$0061	$	L_INDICATION_EDIN_37:
$0061	$3000			MOVLW	0
$0062	$1A85			BTFSC	PORTA, 5
$0063	$3001			MOVLW	1
$0064	$00F1			MOVWF	STACK_1
$0065	$0871			MOVF	STACK_1, 0
$0066	$3A01			XORLW	1
$0067	$1D03			BTFSS	STATUS, Z
$0068	$2870			GOTO	L_INDICATION_EDIN_40
$0069	$0821			MOVF	_V, 0
$006A	$3C0C			SUBLW	12
$006B	$1C03			BTFSS	STATUS, C
$006C	$2870			GOTO	L_INDICATION_EDIN_40
$006D	$	L192_ex_L_INDICATION_EDIN_40:
$006D	$3012			MOVLW	18
$006E	$0086			MOVWF	PORTB
$006F	$2872			GOTO	L_INDICATION_EDIN_41
$0070	$	L_INDICATION_EDIN_40:
$0070	$3092			MOVLW	146
$0071	$0086			MOVWF	PORTB
$0072	$	L_INDICATION_EDIN_41:
$0072	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,79 :: 		case 6: if (porta.f5 == 1 && V <= 12) portb = 2; else portb = 130; break;
$0073	$	L_INDICATION_EDIN_42:
$0073	$3000			MOVLW	0
$0074	$1A85			BTFSC	PORTA, 5
$0075	$3001			MOVLW	1
$0076	$00F1			MOVWF	STACK_1
$0077	$0871			MOVF	STACK_1, 0
$0078	$3A01			XORLW	1
$0079	$1D03			BTFSS	STATUS, Z
$007A	$2882			GOTO	L_INDICATION_EDIN_45
$007B	$0821			MOVF	_V, 0
$007C	$3C0C			SUBLW	12
$007D	$1C03			BTFSS	STATUS, C
$007E	$2882			GOTO	L_INDICATION_EDIN_45
$007F	$	L214_ex_L_INDICATION_EDIN_45:
$007F	$3002			MOVLW	2
$0080	$0086			MOVWF	PORTB
$0081	$2884			GOTO	L_INDICATION_EDIN_46
$0082	$	L_INDICATION_EDIN_45:
$0082	$3082			MOVLW	130
$0083	$0086			MOVWF	PORTB
$0084	$	L_INDICATION_EDIN_46:
$0084	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,80 :: 		case 7: if (porta.f5 == 1 && V <= 12) portb = 120; else portb = 248; break;
$0085	$	L_INDICATION_EDIN_47:
$0085	$3000			MOVLW	0
$0086	$1A85			BTFSC	PORTA, 5
$0087	$3001			MOVLW	1
$0088	$00F1			MOVWF	STACK_1
$0089	$0871			MOVF	STACK_1, 0
$008A	$3A01			XORLW	1
$008B	$1D03			BTFSS	STATUS, Z
$008C	$2894			GOTO	L_INDICATION_EDIN_50
$008D	$0821			MOVF	_V, 0
$008E	$3C0C			SUBLW	12
$008F	$1C03			BTFSS	STATUS, C
$0090	$2894			GOTO	L_INDICATION_EDIN_50
$0091	$	L236_ex_L_INDICATION_EDIN_50:
$0091	$3078			MOVLW	120
$0092	$0086			MOVWF	PORTB
$0093	$2896			GOTO	L_INDICATION_EDIN_51
$0094	$	L_INDICATION_EDIN_50:
$0094	$30F8			MOVLW	248
$0095	$0086			MOVWF	PORTB
$0096	$	L_INDICATION_EDIN_51:
$0096	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,81 :: 		case 8: if (porta.f5 == 1 && V <= 12) portb = 0; else portb = 128; break;
$0097	$	L_INDICATION_EDIN_52:
$0097	$3000			MOVLW	0
$0098	$1A85			BTFSC	PORTA, 5
$0099	$3001			MOVLW	1
$009A	$00F1			MOVWF	STACK_1
$009B	$0871			MOVF	STACK_1, 0
$009C	$3A01			XORLW	1
$009D	$1D03			BTFSS	STATUS, Z
$009E	$28A5			GOTO	L_INDICATION_EDIN_55
$009F	$0821			MOVF	_V, 0
$00A0	$3C0C			SUBLW	12
$00A1	$1C03			BTFSS	STATUS, C
$00A2	$28A5			GOTO	L_INDICATION_EDIN_55
$00A3	$	L258_ex_L_INDICATION_EDIN_55:
$00A3	$0186			CLRF	PORTB, 1
$00A4	$28A7			GOTO	L_INDICATION_EDIN_56
$00A5	$	L_INDICATION_EDIN_55:
$00A5	$3080			MOVLW	128
$00A6	$0086			MOVWF	PORTB
$00A7	$	L_INDICATION_EDIN_56:
$00A7	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,82 :: 		case 9: if (porta.f5 == 1 && V <= 12) portb = 16; else portb = 144; break; // до  9
$00A8	$	L_INDICATION_EDIN_57:
$00A8	$3000			MOVLW	0
$00A9	$1A85			BTFSC	PORTA, 5
$00AA	$3001			MOVLW	1
$00AB	$00F1			MOVWF	STACK_1
$00AC	$0871			MOVF	STACK_1, 0
$00AD	$3A01			XORLW	1
$00AE	$1D03			BTFSS	STATUS, Z
$00AF	$28B7			GOTO	L_INDICATION_EDIN_60
$00B0	$0821			MOVF	_V, 0
$00B1	$3C0C			SUBLW	12
$00B2	$1C03			BTFSS	STATUS, C
$00B3	$28B7			GOTO	L_INDICATION_EDIN_60
$00B4	$	L280_ex_L_INDICATION_EDIN_60:
$00B4	$3010			MOVLW	16
$00B5	$0086			MOVWF	PORTB
$00B6	$28B9			GOTO	L_INDICATION_EDIN_61
$00B7	$	L_INDICATION_EDIN_60:
$00B7	$3090			MOVLW	144
$00B8	$0086			MOVWF	PORTB
$00B9	$	L_INDICATION_EDIN_61:
$00B9	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,84 :: 		case 10: portb = x_edin; break; // Индикация для заставки
$00BA	$	L_INDICATION_EDIN_62:
$00BA	$0822			MOVF	_x_edin, 0
$00BB	$0086			MOVWF	PORTB
$00BC	$28EB			GOTO	L_INDICATION_EDIN_11
;Thermorelay.c,85 :: 		}
$00BD	$	L_INDICATION_EDIN_10:
$00BD	$1303			BCF	STATUS, RP1
$00BE	$1283			BCF	STATUS, RP0
$00BF	$0820			MOVF	_edin, 0
$00C0	$3A00			XORLW	0
$00C1	$1903			BTFSC	STATUS, Z
$00C2	$2805			GOTO	L_INDICATION_EDIN_12
$00C3	$0820			MOVF	_edin, 0
$00C4	$3A01			XORLW	1
$00C5	$1903			BTFSC	STATUS, Z
$00C6	$2819			GOTO	L_INDICATION_EDIN_17
$00C7	$0820			MOVF	_edin, 0
$00C8	$3A02			XORLW	2
$00C9	$1903			BTFSC	STATUS, Z
$00CA	$282B			GOTO	L_INDICATION_EDIN_22
$00CB	$0820			MOVF	_edin, 0
$00CC	$3A03			XORLW	3
$00CD	$1903			BTFSC	STATUS, Z
$00CE	$283D			GOTO	L_INDICATION_EDIN_27
$00CF	$0820			MOVF	_edin, 0
$00D0	$3A04			XORLW	4
$00D1	$1903			BTFSC	STATUS, Z
$00D2	$284F			GOTO	L_INDICATION_EDIN_32
$00D3	$0820			MOVF	_edin, 0
$00D4	$3A05			XORLW	5
$00D5	$1903			BTFSC	STATUS, Z
$00D6	$2861			GOTO	L_INDICATION_EDIN_37
$00D7	$0820			MOVF	_edin, 0
$00D8	$3A06			XORLW	6
$00D9	$1903			BTFSC	STATUS, Z
$00DA	$2873			GOTO	L_INDICATION_EDIN_42
$00DB	$0820			MOVF	_edin, 0
$00DC	$3A07			XORLW	7
$00DD	$1903			BTFSC	STATUS, Z
$00DE	$2885			GOTO	L_INDICATION_EDIN_47
$00DF	$0820			MOVF	_edin, 0
$00E0	$3A08			XORLW	8
$00E1	$1903			BTFSC	STATUS, Z
$00E2	$2897			GOTO	L_INDICATION_EDIN_52
$00E3	$0820			MOVF	_edin, 0
$00E4	$3A09			XORLW	9
$00E5	$1903			BTFSC	STATUS, Z
$00E6	$28A8			GOTO	L_INDICATION_EDIN_57
$00E7	$0820			MOVF	_edin, 0
$00E8	$3A0A			XORLW	10
$00E9	$1903			BTFSC	STATUS, Z
$00EA	$28BA			GOTO	L_INDICATION_EDIN_62
$00EB	$	L_INDICATION_EDIN_11:
;Thermorelay.c,91 :: 		portc = 0b00010000;
$00EB	$3010			MOVLW	16
$00EC	$0087			MOVWF	PORTC
;Thermorelay.c,92 :: 		V +=1;
$00ED	$0A21			INCF	_V, 0
$00EE	$00F1			MOVWF	STACK_1
$00EF	$0871			MOVF	STACK_1, 0
$00F0	$00A1			MOVWF	_V
;Thermorelay.c,93 :: 		if (V > 25) V = 0;
$00F1	$0871			MOVF	STACK_1, 0
$00F2	$3C19			SUBLW	25
$00F3	$1803			BTFSC	STATUS, C
$00F4	$28F6			GOTO	L_INDICATION_EDIN_63
$00F5	$01A1			CLRF	_V, 1
$00F6	$	L_INDICATION_EDIN_63:
;Thermorelay.c,95 :: 		Delay_ms (5);
$00F6	$3007			MOVLW	7
$00F7	$00FB			MOVWF	STACK_11
$00F8	$30FF			MOVLW	255
$00F9	$00FA			MOVWF	STACK_10
$00FA	$0BFB			DECFSZ	STACK_11, F
$00FB	$28FD			GOTO	$+2
$00FC	$2900			GOTO	$+4
$00FD	$0BFA			DECFSZ	STACK_10, F
$00FE	$28FD			GOTO	$-1
$00FF	$28FA			GOTO	$-5
$0100	$3078			MOVLW	120
$0101	$00FA			MOVWF	STACK_10
$0102	$0BFA			DECFSZ	STACK_10, F
$0103	$2902			GOTO	$-1
$0104	$0000			NOP
$0105	$0000			NOP
;Thermorelay.c,96 :: 		portc = 0;
$0106	$0187			CLRF	PORTC, 1
;Thermorelay.c,97 :: 		}
$0107	$0008			RETURN
$0108	$	_INDICATION_DES_WITHOUT_POINT:
;Thermorelay.c,185 :: 		void INDICATION_DES_WITHOUT_POINT() {     // Индикатор десяток, горит без точки
;Thermorelay.c,187 :: 		switch (des) {
$0108	$2930			GOTO	L_INDICATION_DES_WITHOUT_POINT_107
;Thermorelay.c,188 :: 		case 0: if (sot > 0) portb = 192; else portb = 255; break; // Ноль
$0109	$	L_INDICATION_DES_WITHOUT_POINT_109:
$0109	$1303			BCF	STATUS, RP1
$010A	$1283			BCF	STATUS, RP0
$010B	$0824			MOVF	_sot, 0
$010C	$3C00			SUBLW	0
$010D	$1803			BTFSC	STATUS, C
$010E	$2912			GOTO	L_INDICATION_DES_WITHOUT_POINT_110
$010F	$30C0			MOVLW	192
$0110	$0086			MOVWF	PORTB
$0111	$2914			GOTO	L_INDICATION_DES_WITHOUT_POINT_111
$0112	$	L_INDICATION_DES_WITHOUT_POINT_110:
$0112	$30FF			MOVLW	255
$0113	$0086			MOVWF	PORTB
$0114	$	L_INDICATION_DES_WITHOUT_POINT_111:
$0114	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,189 :: 		case 1: portb = 249; break;
$0115	$	L_INDICATION_DES_WITHOUT_POINT_112:
$0115	$30F9			MOVLW	249
$0116	$0086			MOVWF	PORTB
$0117	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,190 :: 		case 2: portb = 164; break;
$0118	$	L_INDICATION_DES_WITHOUT_POINT_113:
$0118	$30A4			MOVLW	164
$0119	$0086			MOVWF	PORTB
$011A	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,191 :: 		case 3: portb = 176; break;
$011B	$	L_INDICATION_DES_WITHOUT_POINT_114:
$011B	$30B0			MOVLW	176
$011C	$0086			MOVWF	PORTB
$011D	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,192 :: 		case 4: portb = 153; break;
$011E	$	L_INDICATION_DES_WITHOUT_POINT_115:
$011E	$3099			MOVLW	153
$011F	$0086			MOVWF	PORTB
$0120	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,193 :: 		case 5: portb = 146; break;
$0121	$	L_INDICATION_DES_WITHOUT_POINT_116:
$0121	$3092			MOVLW	146
$0122	$0086			MOVWF	PORTB
$0123	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,194 :: 		case 6: portb = 130; break;
$0124	$	L_INDICATION_DES_WITHOUT_POINT_117:
$0124	$3082			MOVLW	130
$0125	$0086			MOVWF	PORTB
$0126	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,195 :: 		case 7: portb = 248; break;
$0127	$	L_INDICATION_DES_WITHOUT_POINT_118:
$0127	$30F8			MOVLW	248
$0128	$0086			MOVWF	PORTB
$0129	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,196 :: 		case 8: portb = 128; break;
$012A	$	L_INDICATION_DES_WITHOUT_POINT_119:
$012A	$3080			MOVLW	128
$012B	$0086			MOVWF	PORTB
$012C	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,197 :: 		case 9: portb = 144; break; // Девять
$012D	$	L_INDICATION_DES_WITHOUT_POINT_120:
$012D	$3090			MOVLW	144
$012E	$0086			MOVWF	PORTB
$012F	$295A			GOTO	L_INDICATION_DES_WITHOUT_POINT_108
;Thermorelay.c,199 :: 		}
$0130	$	L_INDICATION_DES_WITHOUT_POINT_107:
$0130	$1303			BCF	STATUS, RP1
$0131	$1283			BCF	STATUS, RP0
$0132	$0823			MOVF	_des, 0
$0133	$3A00			XORLW	0
$0134	$1903			BTFSC	STATUS, Z
$0135	$2909			GOTO	L_INDICATION_DES_WITHOUT_POINT_109
$0136	$0823			MOVF	_des, 0
$0137	$3A01			XORLW	1
$0138	$1903			BTFSC	STATUS, Z
$0139	$2915			GOTO	L_INDICATION_DES_WITHOUT_POINT_112
$013A	$0823			MOVF	_des, 0
$013B	$3A02			XORLW	2
$013C	$1903			BTFSC	STATUS, Z
$013D	$2918			GOTO	L_INDICATION_DES_WITHOUT_POINT_113
$013E	$0823			MOVF	_des, 0
$013F	$3A03			XORLW	3
$0140	$1903			BTFSC	STATUS, Z
$0141	$291B			GOTO	L_INDICATION_DES_WITHOUT_POINT_114
$0142	$0823			MOVF	_des, 0
$0143	$3A04			XORLW	4
$0144	$1903			BTFSC	STATUS, Z
$0145	$291E			GOTO	L_INDICATION_DES_WITHOUT_POINT_115
$0146	$0823			MOVF	_des, 0
$0147	$3A05			XORLW	5
$0148	$1903			BTFSC	STATUS, Z
$0149	$2921			GOTO	L_INDICATION_DES_WITHOUT_POINT_116
$014A	$0823			MOVF	_des, 0
$014B	$3A06			XORLW	6
$014C	$1903			BTFSC	STATUS, Z
$014D	$2924			GOTO	L_INDICATION_DES_WITHOUT_POINT_117
$014E	$0823			MOVF	_des, 0
$014F	$3A07			XORLW	7
$0150	$1903			BTFSC	STATUS, Z
$0151	$2927			GOTO	L_INDICATION_DES_WITHOUT_POINT_118
$0152	$0823			MOVF	_des, 0
$0153	$3A08			XORLW	8
$0154	$1903			BTFSC	STATUS, Z
$0155	$292A			GOTO	L_INDICATION_DES_WITHOUT_POINT_119
$0156	$0823			MOVF	_des, 0
$0157	$3A09			XORLW	9
$0158	$1903			BTFSC	STATUS, Z
$0159	$292D			GOTO	L_INDICATION_DES_WITHOUT_POINT_120
$015A	$	L_INDICATION_DES_WITHOUT_POINT_108:
;Thermorelay.c,206 :: 		portc = 0b00100000;
$015A	$3020			MOVLW	32
$015B	$0087			MOVWF	PORTC
;Thermorelay.c,208 :: 		Delay_ms (5);
$015C	$3007			MOVLW	7
$015D	$00FB			MOVWF	STACK_11
$015E	$30FF			MOVLW	255
$015F	$00FA			MOVWF	STACK_10
$0160	$0BFB			DECFSZ	STACK_11, F
$0161	$2963			GOTO	$+2
$0162	$2966			GOTO	$+4
$0163	$0BFA			DECFSZ	STACK_10, F
$0164	$2963			GOTO	$-1
$0165	$2960			GOTO	$-5
$0166	$3078			MOVLW	120
$0167	$00FA			MOVWF	STACK_10
$0168	$0BFA			DECFSZ	STACK_10, F
$0169	$2968			GOTO	$-1
$016A	$0000			NOP
$016B	$0000			NOP
;Thermorelay.c,209 :: 		portc = 0;
$016C	$0187			CLRF	PORTC, 1
;Thermorelay.c,210 :: 		}
$016D	$0008			RETURN
$016E	$	_INDICATION_SOT_FOR_RANGES:
;Thermorelay.c,212 :: 		void INDICATION_SOT_FOR_RANGES () {
;Thermorelay.c,214 :: 		if (MScopy.F7 == 1) portb = 191; // показать минус
$016E	$3000			MOVLW	0
$016F	$1303			BCF	STATUS, RP1
$0170	$1283			BCF	STATUS, RP0
$0171	$1BA5			BTFSC	_MScopy, 7
$0172	$3001			MOVLW	1
$0173	$00F1			MOVWF	STACK_1
$0174	$0871			MOVF	STACK_1, 0
$0175	$3A01			XORLW	1
$0176	$1D03			BTFSS	STATUS, Z
$0177	$297B			GOTO	L_INDICATION_SOT_FOR_RANGES_121
$0178	$30BF			MOVLW	191
$0179	$0086			MOVWF	PORTB
$017A	$2991			GOTO	L_INDICATION_SOT_FOR_RANGES_122
$017B	$	L_INDICATION_SOT_FOR_RANGES_121:
;Thermorelay.c,216 :: 		switch (sot) {
$017B	$2985			GOTO	L_INDICATION_SOT_FOR_RANGES_123
;Thermorelay.c,217 :: 		case 0: portb = 255; break; // Ноль никогда не отображается
$017C	$	L_INDICATION_SOT_FOR_RANGES_125:
$017C	$30FF			MOVLW	255
$017D	$0086			MOVWF	PORTB
$017E	$2991			GOTO	L_INDICATION_SOT_FOR_RANGES_124
;Thermorelay.c,218 :: 		case 1: portb = 249; break; // Отображаться может только единица.
$017F	$	L_INDICATION_SOT_FOR_RANGES_126:
$017F	$30F9			MOVLW	249
$0180	$0086			MOVWF	PORTB
$0181	$2991			GOTO	L_INDICATION_SOT_FOR_RANGES_124
;Thermorelay.c,221 :: 		case 10: portb = x_sot; break; // Индикация для заставки
$0182	$	L_INDICATION_SOT_FOR_RANGES_127:
$0182	$0826			MOVF	_x_sot, 0
$0183	$0086			MOVWF	PORTB
$0184	$2991			GOTO	L_INDICATION_SOT_FOR_RANGES_124
;Thermorelay.c,222 :: 		}
$0185	$	L_INDICATION_SOT_FOR_RANGES_123:
$0185	$0824			MOVF	_sot, 0
$0186	$3A00			XORLW	0
$0187	$1903			BTFSC	STATUS, Z
$0188	$297C			GOTO	L_INDICATION_SOT_FOR_RANGES_125
$0189	$0824			MOVF	_sot, 0
$018A	$3A01			XORLW	1
$018B	$1903			BTFSC	STATUS, Z
$018C	$297F			GOTO	L_INDICATION_SOT_FOR_RANGES_126
$018D	$0824			MOVF	_sot, 0
$018E	$3A0A			XORLW	10
$018F	$1903			BTFSC	STATUS, Z
$0190	$2982			GOTO	L_INDICATION_SOT_FOR_RANGES_127
$0191	$	L_INDICATION_SOT_FOR_RANGES_124:
$0191	$	L_INDICATION_SOT_FOR_RANGES_122:
;Thermorelay.c,229 :: 		portc = 0b01000000;
$0191	$3040			MOVLW	64
$0192	$0087			MOVWF	PORTC
;Thermorelay.c,231 :: 		Delay_ms (5);
$0193	$3007			MOVLW	7
$0194	$00FB			MOVWF	STACK_11
$0195	$30FF			MOVLW	255
$0196	$00FA			MOVWF	STACK_10
$0197	$0BFB			DECFSZ	STACK_11, F
$0198	$299A			GOTO	$+2
$0199	$299D			GOTO	$+4
$019A	$0BFA			DECFSZ	STACK_10, F
$019B	$299A			GOTO	$-1
$019C	$2997			GOTO	$-5
$019D	$3078			MOVLW	120
$019E	$00FA			MOVWF	STACK_10
$019F	$0BFA			DECFSZ	STACK_10, F
$01A0	$299F			GOTO	$-1
$01A1	$0000			NOP
$01A2	$0000			NOP
;Thermorelay.c,232 :: 		portc = 0;
$01A3	$0187			CLRF	PORTC, 1
;Thermorelay.c,233 :: 		}
$01A4	$0008			RETURN
$01A5	$	_INDICATION_TIS_FOR_RANGES:
;Thermorelay.c,235 :: 		void INDICATION_TIS_FOR_RANGES() {
;Thermorelay.c,238 :: 		switch (tis) {
$01A5	$29AB			GOTO	L_INDICATION_TIS_FOR_RANGES_128
;Thermorelay.c,241 :: 		case 10: portb = x_tis; break; // Индикация для заставки, альтернативное отображение.
$01A6	$	L_INDICATION_TIS_FOR_RANGES_130:
$01A6	$1303			BCF	STATUS, RP1
$01A7	$1283			BCF	STATUS, RP0
$01A8	$0828			MOVF	_x_tis, 0
$01A9	$0086			MOVWF	PORTB
$01AA	$29B1			GOTO	L_INDICATION_TIS_FOR_RANGES_129
;Thermorelay.c,242 :: 		}
$01AB	$	L_INDICATION_TIS_FOR_RANGES_128:
$01AB	$1303			BCF	STATUS, RP1
$01AC	$1283			BCF	STATUS, RP0
$01AD	$0827			MOVF	_tis, 0
$01AE	$3A0A			XORLW	10
$01AF	$1903			BTFSC	STATUS, Z
$01B0	$29A6			GOTO	L_INDICATION_TIS_FOR_RANGES_130
$01B1	$	L_INDICATION_TIS_FOR_RANGES_129:
;Thermorelay.c,249 :: 		portc = 0b10000000;
$01B1	$3080			MOVLW	128
$01B2	$0087			MOVWF	PORTC
;Thermorelay.c,251 :: 		Delay_ms (5);
$01B3	$3007			MOVLW	7
$01B4	$00FB			MOVWF	STACK_11
$01B5	$30FF			MOVLW	255
$01B6	$00FA			MOVWF	STACK_10
$01B7	$0BFB			DECFSZ	STACK_11, F
$01B8	$29BA			GOTO	$+2
$01B9	$29BD			GOTO	$+4
$01BA	$0BFA			DECFSZ	STACK_10, F
$01BB	$29BA			GOTO	$-1
$01BC	$29B7			GOTO	$-5
$01BD	$3078			MOVLW	120
$01BE	$00FA			MOVWF	STACK_10
$01BF	$0BFA			DECFSZ	STACK_10, F
$01C0	$29BF			GOTO	$-1
$01C1	$0000			NOP
$01C2	$0000			NOP
;Thermorelay.c,253 :: 		portc = 0;
$01C3	$0187			CLRF	PORTC, 1
;Thermorelay.c,254 :: 		}
$01C4	$0008			RETURN
$01C5	$	_INDICATION_DES:
;Thermorelay.c,98 :: 		void INDICATION_DES() {     // Индикатор десяток горит всегда с точкой
;Thermorelay.c,100 :: 		switch (des) {
$01C5	$29E8			GOTO	L_INDICATION_DES_64
;Thermorelay.c,101 :: 		case 0: portb = 64; break; // Ноль с точкой
$01C6	$	L_INDICATION_DES_66:
$01C6	$3040			MOVLW	64
$01C7	$1303			BCF	STATUS, RP1
$01C8	$1283			BCF	STATUS, RP0
$01C9	$0086			MOVWF	PORTB
$01CA	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,102 :: 		case 1: portb = 121; break;
$01CB	$	L_INDICATION_DES_67:
$01CB	$3079			MOVLW	121
$01CC	$0086			MOVWF	PORTB
$01CD	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,103 :: 		case 2: portb = 36; break;
$01CE	$	L_INDICATION_DES_68:
$01CE	$3024			MOVLW	36
$01CF	$0086			MOVWF	PORTB
$01D0	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,104 :: 		case 3: portb = 48; break;
$01D1	$	L_INDICATION_DES_69:
$01D1	$3030			MOVLW	48
$01D2	$0086			MOVWF	PORTB
$01D3	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,105 :: 		case 4: portb = 25; break;
$01D4	$	L_INDICATION_DES_70:
$01D4	$3019			MOVLW	25
$01D5	$0086			MOVWF	PORTB
$01D6	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,106 :: 		case 5: portb = 18; break;
$01D7	$	L_INDICATION_DES_71:
$01D7	$3012			MOVLW	18
$01D8	$0086			MOVWF	PORTB
$01D9	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,107 :: 		case 6: portb = 2; break;
$01DA	$	L_INDICATION_DES_72:
$01DA	$3002			MOVLW	2
$01DB	$0086			MOVWF	PORTB
$01DC	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,108 :: 		case 7: portb = 120; break;
$01DD	$	L_INDICATION_DES_73:
$01DD	$3078			MOVLW	120
$01DE	$0086			MOVWF	PORTB
$01DF	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,109 :: 		case 8: portb = 0; break;
$01E0	$	L_INDICATION_DES_74:
$01E0	$0186			CLRF	PORTB, 1
$01E1	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,110 :: 		case 9: portb = 16; break; // Девять с точкой
$01E2	$	L_INDICATION_DES_75:
$01E2	$3010			MOVLW	16
$01E3	$0086			MOVWF	PORTB
$01E4	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,112 :: 		case 10: portb = x_des; break; // Индикация для заставки
$01E5	$	L_INDICATION_DES_76:
$01E5	$0829			MOVF	_x_des, 0
$01E6	$0086			MOVWF	PORTB
$01E7	$2A16			GOTO	L_INDICATION_DES_65
;Thermorelay.c,113 :: 		}
$01E8	$	L_INDICATION_DES_64:
$01E8	$1303			BCF	STATUS, RP1
$01E9	$1283			BCF	STATUS, RP0
$01EA	$0823			MOVF	_des, 0
$01EB	$3A00			XORLW	0
$01EC	$1903			BTFSC	STATUS, Z
$01ED	$29C6			GOTO	L_INDICATION_DES_66
$01EE	$0823			MOVF	_des, 0
$01EF	$3A01			XORLW	1
$01F0	$1903			BTFSC	STATUS, Z
$01F1	$29CB			GOTO	L_INDICATION_DES_67
$01F2	$0823			MOVF	_des, 0
$01F3	$3A02			XORLW	2
$01F4	$1903			BTFSC	STATUS, Z
$01F5	$29CE			GOTO	L_INDICATION_DES_68
$01F6	$0823			MOVF	_des, 0
$01F7	$3A03			XORLW	3
$01F8	$1903			BTFSC	STATUS, Z
$01F9	$29D1			GOTO	L_INDICATION_DES_69
$01FA	$0823			MOVF	_des, 0
$01FB	$3A04			XORLW	4
$01FC	$1903			BTFSC	STATUS, Z
$01FD	$29D4			GOTO	L_INDICATION_DES_70
$01FE	$0823			MOVF	_des, 0
$01FF	$3A05			XORLW	5
$0200	$1903			BTFSC	STATUS, Z
$0201	$29D7			GOTO	L_INDICATION_DES_71
$0202	$0823			MOVF	_des, 0
$0203	$3A06			XORLW	6
$0204	$1903			BTFSC	STATUS, Z
$0205	$29DA			GOTO	L_INDICATION_DES_72
$0206	$0823			MOVF	_des, 0
$0207	$3A07			XORLW	7
$0208	$1903			BTFSC	STATUS, Z
$0209	$29DD			GOTO	L_INDICATION_DES_73
$020A	$0823			MOVF	_des, 0
$020B	$3A08			XORLW	8
$020C	$1903			BTFSC	STATUS, Z
$020D	$29E0			GOTO	L_INDICATION_DES_74
$020E	$0823			MOVF	_des, 0
$020F	$3A09			XORLW	9
$0210	$1903			BTFSC	STATUS, Z
$0211	$29E2			GOTO	L_INDICATION_DES_75
$0212	$0823			MOVF	_des, 0
$0213	$3A0A			XORLW	10
$0214	$1903			BTFSC	STATUS, Z
$0215	$29E5			GOTO	L_INDICATION_DES_76
$0216	$	L_INDICATION_DES_65:
;Thermorelay.c,119 :: 		portc = 0b00100000;
$0216	$3020			MOVLW	32
$0217	$0087			MOVWF	PORTC
;Thermorelay.c,121 :: 		Delay_ms (5);
$0218	$3007			MOVLW	7
$0219	$00FB			MOVWF	STACK_11
$021A	$30FF			MOVLW	255
$021B	$00FA			MOVWF	STACK_10
$021C	$0BFB			DECFSZ	STACK_11, F
$021D	$2A1F			GOTO	$+2
$021E	$2A22			GOTO	$+4
$021F	$0BFA			DECFSZ	STACK_10, F
$0220	$2A1F			GOTO	$-1
$0221	$2A1C			GOTO	$-5
$0222	$3078			MOVLW	120
$0223	$00FA			MOVWF	STACK_10
$0224	$0BFA			DECFSZ	STACK_10, F
$0225	$2A24			GOTO	$-1
$0226	$0000			NOP
$0227	$0000			NOP
;Thermorelay.c,122 :: 		portc = 0;
$0228	$0187			CLRF	PORTC, 1
;Thermorelay.c,123 :: 		}
$0229	$0008			RETURN
$022A	$	_INDICATION_SOT:
;Thermorelay.c,125 :: 		void INDICATION_SOT() {
;Thermorelay.c,127 :: 		switch (sot) {
$022A	$2A55			GOTO	L_INDICATION_SOT_77
;Thermorelay.c,128 :: 		case 0: if (tis > 0) portb = 192; else portb = 255; break;
$022B	$	L_INDICATION_SOT_79:
$022B	$1303			BCF	STATUS, RP1
$022C	$1283			BCF	STATUS, RP0
$022D	$0827			MOVF	_tis, 0
$022E	$3C00			SUBLW	0
$022F	$1803			BTFSC	STATUS, C
$0230	$2A34			GOTO	L_INDICATION_SOT_80
$0231	$30C0			MOVLW	192
$0232	$0086			MOVWF	PORTB
$0233	$2A36			GOTO	L_INDICATION_SOT_81
$0234	$	L_INDICATION_SOT_80:
$0234	$30FF			MOVLW	255
$0235	$0086			MOVWF	PORTB
$0236	$	L_INDICATION_SOT_81:
$0236	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,129 :: 		case 1: portb = 249; break;
$0237	$	L_INDICATION_SOT_82:
$0237	$30F9			MOVLW	249
$0238	$0086			MOVWF	PORTB
$0239	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,130 :: 		case 2: portb = 164; break;
$023A	$	L_INDICATION_SOT_83:
$023A	$30A4			MOVLW	164
$023B	$0086			MOVWF	PORTB
$023C	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,131 :: 		case 3: portb = 176; break;
$023D	$	L_INDICATION_SOT_84:
$023D	$30B0			MOVLW	176
$023E	$0086			MOVWF	PORTB
$023F	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,132 :: 		case 4: portb = 153; break;
$0240	$	L_INDICATION_SOT_85:
$0240	$3099			MOVLW	153
$0241	$0086			MOVWF	PORTB
$0242	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,133 :: 		case 5: portb = 146; break;
$0243	$	L_INDICATION_SOT_86:
$0243	$3092			MOVLW	146
$0244	$0086			MOVWF	PORTB
$0245	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,134 :: 		case 6: portb = 130; break;
$0246	$	L_INDICATION_SOT_87:
$0246	$3082			MOVLW	130
$0247	$0086			MOVWF	PORTB
$0248	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,135 :: 		case 7: portb = 248; break;
$0249	$	L_INDICATION_SOT_88:
$0249	$30F8			MOVLW	248
$024A	$0086			MOVWF	PORTB
$024B	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,136 :: 		case 8: portb = 128; break;
$024C	$	L_INDICATION_SOT_89:
$024C	$3080			MOVLW	128
$024D	$0086			MOVWF	PORTB
$024E	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,137 :: 		case 9: portb = 144; break;
$024F	$	L_INDICATION_SOT_90:
$024F	$3090			MOVLW	144
$0250	$0086			MOVWF	PORTB
$0251	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,139 :: 		case 10: portb = x_sot; break; // Индикация для заставки
$0252	$	L_INDICATION_SOT_91:
$0252	$0826			MOVF	_x_sot, 0
$0253	$0086			MOVWF	PORTB
$0254	$2A83			GOTO	L_INDICATION_SOT_78
;Thermorelay.c,140 :: 		}
$0255	$	L_INDICATION_SOT_77:
$0255	$1303			BCF	STATUS, RP1
$0256	$1283			BCF	STATUS, RP0
$0257	$0824			MOVF	_sot, 0
$0258	$3A00			XORLW	0
$0259	$1903			BTFSC	STATUS, Z
$025A	$2A2B			GOTO	L_INDICATION_SOT_79
$025B	$0824			MOVF	_sot, 0
$025C	$3A01			XORLW	1
$025D	$1903			BTFSC	STATUS, Z
$025E	$2A37			GOTO	L_INDICATION_SOT_82
$025F	$0824			MOVF	_sot, 0
$0260	$3A02			XORLW	2
$0261	$1903			BTFSC	STATUS, Z
$0262	$2A3A			GOTO	L_INDICATION_SOT_83
$0263	$0824			MOVF	_sot, 0
$0264	$3A03			XORLW	3
$0265	$1903			BTFSC	STATUS, Z
$0266	$2A3D			GOTO	L_INDICATION_SOT_84
$0267	$0824			MOVF	_sot, 0
$0268	$3A04			XORLW	4
$0269	$1903			BTFSC	STATUS, Z
$026A	$2A40			GOTO	L_INDICATION_SOT_85
$026B	$0824			MOVF	_sot, 0
$026C	$3A05			XORLW	5
$026D	$1903			BTFSC	STATUS, Z
$026E	$2A43			GOTO	L_INDICATION_SOT_86
$026F	$0824			MOVF	_sot, 0
$0270	$3A06			XORLW	6
$0271	$1903			BTFSC	STATUS, Z
$0272	$2A46			GOTO	L_INDICATION_SOT_87
$0273	$0824			MOVF	_sot, 0
$0274	$3A07			XORLW	7
$0275	$1903			BTFSC	STATUS, Z
$0276	$2A49			GOTO	L_INDICATION_SOT_88
$0277	$0824			MOVF	_sot, 0
$0278	$3A08			XORLW	8
$0279	$1903			BTFSC	STATUS, Z
$027A	$2A4C			GOTO	L_INDICATION_SOT_89
$027B	$0824			MOVF	_sot, 0
$027C	$3A09			XORLW	9
$027D	$1903			BTFSC	STATUS, Z
$027E	$2A4F			GOTO	L_INDICATION_SOT_90
$027F	$0824			MOVF	_sot, 0
$0280	$3A0A			XORLW	10
$0281	$1903			BTFSC	STATUS, Z
$0282	$2A52			GOTO	L_INDICATION_SOT_91
$0283	$	L_INDICATION_SOT_78:
;Thermorelay.c,147 :: 		portc = 0b01000000;
$0283	$3040			MOVLW	64
$0284	$0087			MOVWF	PORTC
;Thermorelay.c,149 :: 		Delay_ms (5);
$0285	$3007			MOVLW	7
$0286	$00FB			MOVWF	STACK_11
$0287	$30FF			MOVLW	255
$0288	$00FA			MOVWF	STACK_10
$0289	$0BFB			DECFSZ	STACK_11, F
$028A	$2A8C			GOTO	$+2
$028B	$2A8F			GOTO	$+4
$028C	$0BFA			DECFSZ	STACK_10, F
$028D	$2A8C			GOTO	$-1
$028E	$2A89			GOTO	$-5
$028F	$3078			MOVLW	120
$0290	$00FA			MOVWF	STACK_10
$0291	$0BFA			DECFSZ	STACK_10, F
$0292	$2A91			GOTO	$-1
$0293	$0000			NOP
$0294	$0000			NOP
;Thermorelay.c,150 :: 		portc = 0;
$0295	$0187			CLRF	PORTC, 1
;Thermorelay.c,151 :: 		}
$0296	$0008			RETURN
$0297	$	_INDICATION_TIS:
;Thermorelay.c,153 :: 		void INDICATION_TIS() {
;Thermorelay.c,155 :: 		if (MScopy.F7 == 1) portb = 191; // показать минус
$0297	$3000			MOVLW	0
$0298	$1303			BCF	STATUS, RP1
$0299	$1283			BCF	STATUS, RP0
$029A	$1BA5			BTFSC	_MScopy, 7
$029B	$3001			MOVLW	1
$029C	$00F1			MOVWF	STACK_1
$029D	$0871			MOVF	STACK_1, 0
$029E	$3A01			XORLW	1
$029F	$1D03			BTFSS	STATUS, Z
$02A0	$2AA4			GOTO	L_INDICATION_TIS_92
$02A1	$30BF			MOVLW	191
$02A2	$0086			MOVWF	PORTB
$02A3	$2AF2			GOTO	L_INDICATION_TIS_93
$02A4	$	L_INDICATION_TIS_92:
;Thermorelay.c,159 :: 		switch (tis) {
$02A4	$2AC6			GOTO	L_INDICATION_TIS_94
;Thermorelay.c,160 :: 		case 0: portb = 255; break;
$02A5	$	L_INDICATION_TIS_96:
$02A5	$30FF			MOVLW	255
$02A6	$0086			MOVWF	PORTB
$02A7	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,161 :: 		case 1: portb = 249; break;
$02A8	$	L_INDICATION_TIS_97:
$02A8	$30F9			MOVLW	249
$02A9	$0086			MOVWF	PORTB
$02AA	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,162 :: 		case 2: portb = 164; break;
$02AB	$	L_INDICATION_TIS_98:
$02AB	$30A4			MOVLW	164
$02AC	$0086			MOVWF	PORTB
$02AD	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,163 :: 		case 3: portb = 176; break;
$02AE	$	L_INDICATION_TIS_99:
$02AE	$30B0			MOVLW	176
$02AF	$0086			MOVWF	PORTB
$02B0	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,164 :: 		case 4: portb = 153; break;
$02B1	$	L_INDICATION_TIS_100:
$02B1	$3099			MOVLW	153
$02B2	$0086			MOVWF	PORTB
$02B3	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,165 :: 		case 5: portb = 146; break;
$02B4	$	L_INDICATION_TIS_101:
$02B4	$3092			MOVLW	146
$02B5	$0086			MOVWF	PORTB
$02B6	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,166 :: 		case 6: portb = 130; break;
$02B7	$	L_INDICATION_TIS_102:
$02B7	$3082			MOVLW	130
$02B8	$0086			MOVWF	PORTB
$02B9	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,167 :: 		case 7: portb = 248; break;
$02BA	$	L_INDICATION_TIS_103:
$02BA	$30F8			MOVLW	248
$02BB	$0086			MOVWF	PORTB
$02BC	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,168 :: 		case 8: portb = 128; break;
$02BD	$	L_INDICATION_TIS_104:
$02BD	$3080			MOVLW	128
$02BE	$0086			MOVWF	PORTB
$02BF	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,169 :: 		case 9: portb = 144; break;
$02C0	$	L_INDICATION_TIS_105:
$02C0	$3090			MOVLW	144
$02C1	$0086			MOVWF	PORTB
$02C2	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,171 :: 		case 10: portb = x_tis; break; // Индикация для заставки, альтернативное отображение.
$02C3	$	L_INDICATION_TIS_106:
$02C3	$0828			MOVF	_x_tis, 0
$02C4	$0086			MOVWF	PORTB
$02C5	$2AF2			GOTO	L_INDICATION_TIS_95
;Thermorelay.c,172 :: 		}
$02C6	$	L_INDICATION_TIS_94:
$02C6	$0827			MOVF	_tis, 0
$02C7	$3A00			XORLW	0
$02C8	$1903			BTFSC	STATUS, Z
$02C9	$2AA5			GOTO	L_INDICATION_TIS_96
$02CA	$0827			MOVF	_tis, 0
$02CB	$3A01			XORLW	1
$02CC	$1903			BTFSC	STATUS, Z
$02CD	$2AA8			GOTO	L_INDICATION_TIS_97
$02CE	$0827			MOVF	_tis, 0
$02CF	$3A02			XORLW	2
$02D0	$1903			BTFSC	STATUS, Z
$02D1	$2AAB			GOTO	L_INDICATION_TIS_98
$02D2	$0827			MOVF	_tis, 0
$02D3	$3A03			XORLW	3
$02D4	$1903			BTFSC	STATUS, Z
$02D5	$2AAE			GOTO	L_INDICATION_TIS_99
$02D6	$0827			MOVF	_tis, 0
$02D7	$3A04			XORLW	4
$02D8	$1903			BTFSC	STATUS, Z
$02D9	$2AB1			GOTO	L_INDICATION_TIS_100
$02DA	$0827			MOVF	_tis, 0
$02DB	$3A05			XORLW	5
$02DC	$1903			BTFSC	STATUS, Z
$02DD	$2AB4			GOTO	L_INDICATION_TIS_101
$02DE	$0827			MOVF	_tis, 0
$02DF	$3A06			XORLW	6
$02E0	$1903			BTFSC	STATUS, Z
$02E1	$2AB7			GOTO	L_INDICATION_TIS_102
$02E2	$0827			MOVF	_tis, 0
$02E3	$3A07			XORLW	7
$02E4	$1903			BTFSC	STATUS, Z
$02E5	$2ABA			GOTO	L_INDICATION_TIS_103
$02E6	$0827			MOVF	_tis, 0
$02E7	$3A08			XORLW	8
$02E8	$1903			BTFSC	STATUS, Z
$02E9	$2ABD			GOTO	L_INDICATION_TIS_104
$02EA	$0827			MOVF	_tis, 0
$02EB	$3A09			XORLW	9
$02EC	$1903			BTFSC	STATUS, Z
$02ED	$2AC0			GOTO	L_INDICATION_TIS_105
$02EE	$0827			MOVF	_tis, 0
$02EF	$3A0A			XORLW	10
$02F0	$1903			BTFSC	STATUS, Z
$02F1	$2AC3			GOTO	L_INDICATION_TIS_106
$02F2	$	L_INDICATION_TIS_95:
$02F2	$	L_INDICATION_TIS_93:
;Thermorelay.c,179 :: 		portc = 0b10000000;
$02F2	$3080			MOVLW	128
$02F3	$0087			MOVWF	PORTC
;Thermorelay.c,181 :: 		Delay_ms (5);
$02F4	$3007			MOVLW	7
$02F5	$00FB			MOVWF	STACK_11
$02F6	$30FF			MOVLW	255
$02F7	$00FA			MOVWF	STACK_10
$02F8	$0BFB			DECFSZ	STACK_11, F
$02F9	$2AFB			GOTO	$+2
$02FA	$2AFE			GOTO	$+4
$02FB	$0BFA			DECFSZ	STACK_10, F
$02FC	$2AFB			GOTO	$-1
$02FD	$2AF8			GOTO	$-5
$02FE	$3078			MOVLW	120
$02FF	$00FA			MOVWF	STACK_10
$0300	$0BFA			DECFSZ	STACK_10, F
$0301	$2B00			GOTO	$-1
$0302	$0000			NOP
$0303	$0000			NOP
;Thermorelay.c,182 :: 		portc = 0;
$0304	$0187			CLRF	PORTC, 1
;Thermorelay.c,183 :: 		}
$0305	$0008			RETURN
$0306	$	_INDICATION_TEMPERATURE_RANGES:
;Thermorelay.c,318 :: 		void INDICATION_TEMPERATURE_RANGES () { // Индикация пределов температуры. Температура занимает только единицы, десятки и сотни.
;Thermorelay.c,321 :: 		T += 1;
$0306	$1303			BCF	STATUS, RP1
$0307	$1283			BCF	STATUS, RP0
$0308	$0A2A			INCF	_T, 0
$0309	$00F1			MOVWF	STACK_1
$030A	$0871			MOVF	STACK_1, 0
$030B	$00AA			MOVWF	_T
;Thermorelay.c,322 :: 		if (T < 20) {         // Для того, чтобы цифры пределов мигали 2 раза в сек.
$030C	$3014			MOVLW	20
$030D	$0271			SUBWF	STACK_1, 0
$030E	$1803			BTFSC	STATUS, C
$030F	$2B14			GOTO	L_INDICATION_TEMPERATURE_RANGES_184
;Thermorelay.c,324 :: 		INDICATION_EDIN();
$0310	$2004			CALL	_INDICATION_EDIN
;Thermorelay.c,326 :: 		INDICATION_DES_WITHOUT_POINT(); // Индикация десяток без точки. Это для отображения пределов температуры
$0311	$2108			CALL	_INDICATION_DES_WITHOUT_POINT
;Thermorelay.c,328 :: 		INDICATION_SOT_FOR_RANGES();    // Здесь выводится только минус или 1 на индикатор.
$0312	$216E			CALL	_INDICATION_SOT_FOR_RANGES
;Thermorelay.c,329 :: 		}
$0313	$2B24			GOTO	L_INDICATION_TEMPERATURE_RANGES_185
$0314	$	L_INDICATION_TEMPERATURE_RANGES_184:
;Thermorelay.c,330 :: 		else delay_ms (15);
$0314	$3014			MOVLW	20
$0315	$00FB			MOVWF	STACK_11
$0316	$30FF			MOVLW	255
$0317	$00FA			MOVWF	STACK_10
$0318	$0BFB			DECFSZ	STACK_11, F
$0319	$2B1B			GOTO	$+2
$031A	$2B1E			GOTO	$+4
$031B	$0BFA			DECFSZ	STACK_10, F
$031C	$2B1B			GOTO	$-1
$031D	$2B18			GOTO	$-5
$031E	$306C			MOVLW	108
$031F	$00FA			MOVWF	STACK_10
$0320	$0BFA			DECFSZ	STACK_10, F
$0321	$2B20			GOTO	$-1
$0322	$0000			NOP
$0323	$0000			NOP
$0324	$	L_INDICATION_TEMPERATURE_RANGES_185:
;Thermorelay.c,332 :: 		if (T >= 25) T = 0;   // После Т = 13 цифры не горят до Т = 25, это четверть сек.
$0324	$3019			MOVLW	25
$0325	$022A			SUBWF	_T, 0
$0326	$1C03			BTFSS	STATUS, C
$0327	$2B29			GOTO	L_INDICATION_TEMPERATURE_RANGES_186
$0328	$01AA			CLRF	_T, 1
$0329	$	L_INDICATION_TEMPERATURE_RANGES_186:
;Thermorelay.c,335 :: 		i += 1;                                     // Этот цикл для того, чтобы тысячный индикатор мигал примерно 4 раза в сек.
$0329	$0A2B			INCF	_i, 0
$032A	$00F1			MOVWF	STACK_1
$032B	$0871			MOVF	STACK_1, 0
$032C	$00AB			MOVWF	_i
;Thermorelay.c,337 :: 		if (i < 6) INDICATION_TIS_FOR_RANGES();   // 6 проходов он горит, 6 проходов нет. В секунде 50 проходов. Примерно 4 разав секунду он горит.
$032D	$3006			MOVLW	6
$032E	$0271			SUBWF	STACK_1, 0
$032F	$1803			BTFSC	STATUS, C
$0330	$2B33			GOTO	L_INDICATION_TEMPERATURE_RANGES_187
$0331	$21A5			CALL	_INDICATION_TIS_FOR_RANGES
$0332	$2B43			GOTO	L_INDICATION_TEMPERATURE_RANGES_188
$0333	$	L_INDICATION_TEMPERATURE_RANGES_187:
;Thermorelay.c,339 :: 		else delay_ms (5);
$0333	$3007			MOVLW	7
$0334	$00FB			MOVWF	STACK_11
$0335	$30FF			MOVLW	255
$0336	$00FA			MOVWF	STACK_10
$0337	$0BFB			DECFSZ	STACK_11, F
$0338	$2B3A			GOTO	$+2
$0339	$2B3D			GOTO	$+4
$033A	$0BFA			DECFSZ	STACK_10, F
$033B	$2B3A			GOTO	$-1
$033C	$2B37			GOTO	$-5
$033D	$3078			MOVLW	120
$033E	$00FA			MOVWF	STACK_10
$033F	$0BFA			DECFSZ	STACK_10, F
$0340	$2B3F			GOTO	$-1
$0341	$0000			NOP
$0342	$0000			NOP
$0343	$	L_INDICATION_TEMPERATURE_RANGES_188:
;Thermorelay.c,341 :: 		if (i >= 12) i = 0;                        // Переменная i обнуляется после каждого 12 прохода.
$0343	$300C			MOVLW	12
$0344	$022B			SUBWF	_i, 0
$0345	$1C03			BTFSS	STATUS, C
$0346	$2B48			GOTO	L_INDICATION_TEMPERATURE_RANGES_189
$0347	$01AB			CLRF	_i, 1
$0348	$	L_INDICATION_TEMPERATURE_RANGES_189:
;Thermorelay.c,343 :: 		}
$0348	$0008			RETURN
$0349	$	_S_D_E:
;Thermorelay.c,48 :: 		void S_D_E() {        // Подпрограмма разбиения целого числа для индикации пределов температуры
;Thermorelay.c,50 :: 		edin = 0;
$0349	$1303			BCF	STATUS, RP1
$034A	$1283			BCF	STATUS, RP0
$034B	$01A0			CLRF	_edin, 1
;Thermorelay.c,51 :: 		des = 0;
$034C	$01A3			CLRF	_des, 1
;Thermorelay.c,52 :: 		sot = 0;
$034D	$01A4			CLRF	_sot, 1
;Thermorelay.c,54 :: 		if (RANGE.F7 == 1) {RANGE =~ RANGE; RANGE +=1; MScopy.F7 = 1;}
$034E	$3000			MOVLW	0
$034F	$1BAC			BTFSC	_RANGE, 7
$0350	$3001			MOVLW	1
$0351	$00F1			MOVWF	STACK_1
$0352	$0871			MOVF	STACK_1, 0
$0353	$3A01			XORLW	1
$0354	$1D03			BTFSS	STATUS, Z
$0355	$2B5E			GOTO	L_S_D_E_4
$0356	$092C			COMF	_RANGE, W
$0357	$00F0			MOVWF	STACK_0
$0358	$0870			MOVF	STACK_0, 0
$0359	$00AC			MOVWF	_RANGE
$035A	$0A70			INCF	STACK_0, 0
$035B	$00AC			MOVWF	_RANGE
$035C	$17A5			BSF	_MScopy, 7
$035D	$2B5F			GOTO	L_S_D_E_5
$035E	$	L_S_D_E_4:
;Thermorelay.c,55 :: 		else MScopy.F7 = 0;
$035E	$13A5			BCF	_MScopy, 7
$035F	$	L_S_D_E_5:
;Thermorelay.c,57 :: 		while (RANGE >= 100) {
$035F	$	L_S_D_E_6:
$035F	$3064			MOVLW	100
$0360	$022C			SUBWF	_RANGE, 0
$0361	$1C03			BTFSS	STATUS, C
$0362	$2B67			GOTO	L_S_D_E_7
;Thermorelay.c,58 :: 		RANGE = RANGE - 100;
$0363	$3064			MOVLW	100
$0364	$02AC			SUBWF	_RANGE, 1
;Thermorelay.c,59 :: 		sot+=1;
$0365	$0AA4			INCF	_sot, 1
;Thermorelay.c,60 :: 		}
$0366	$2B5F			GOTO	L_S_D_E_6
$0367	$	L_S_D_E_7:
;Thermorelay.c,61 :: 		while (RANGE >= 10) {
$0367	$	L_S_D_E_8:
$0367	$300A			MOVLW	10
$0368	$022C			SUBWF	_RANGE, 0
$0369	$1C03			BTFSS	STATUS, C
$036A	$2B6F			GOTO	L_S_D_E_9
;Thermorelay.c,62 :: 		RANGE = RANGE - 10;
$036B	$300A			MOVLW	10
$036C	$02AC			SUBWF	_RANGE, 1
;Thermorelay.c,63 :: 		des+=1;
$036D	$0AA3			INCF	_des, 1
;Thermorelay.c,64 :: 		}
$036E	$2B67			GOTO	L_S_D_E_8
$036F	$	L_S_D_E_9:
;Thermorelay.c,65 :: 		edin = RANGE;
$036F	$082C			MOVF	_RANGE, 0
$0370	$00A0			MOVWF	_edin
;Thermorelay.c,66 :: 		}
$0371	$0008			RETURN
$0372	$	_Delay_500us:
;delays.c,22 :: 		void Delay_500us() {
;delays.c,23 :: 		Delay_us(498);
$0372	$30A5			MOVLW	165
$0373	$1303			BCF	STATUS, RP1
$0374	$1283			BCF	STATUS, RP0
$0375	$00FA			MOVWF	STACK_10
$0376	$0BFA			DECFSZ	STACK_10, F
$0377	$2B76			GOTO	$-1
$0378	$0000			NOP
$0379	$0000			NOP
;delays.c,24 :: 		}
$037A	$0008			RETURN
$037B	$	_Delay_80us:
;delays.c,18 :: 		void Delay_80us() {
;delays.c,19 :: 		Delay_us(78);
$037B	$3019			MOVLW	25
$037C	$1303			BCF	STATUS, RP1
$037D	$1283			BCF	STATUS, RP0
$037E	$00FA			MOVWF	STACK_10
$037F	$0BFA			DECFSZ	STACK_10, F
$0380	$2B7F			GOTO	$-1
$0381	$0000			NOP
$0382	$0000			NOP
;delays.c,20 :: 		}
$0383	$0008			RETURN
$0384	$	_Delay_50us:
;delays.c,14 :: 		void Delay_50us() {
;delays.c,15 :: 		Delay_us(50);
$0384	$3010			MOVLW	16
$0385	$1303			BCF	STATUS, RP1
$0386	$1283			BCF	STATUS, RP0
$0387	$00FA			MOVWF	STACK_10
$0388	$0BFA			DECFSZ	STACK_10, F
$0389	$2B88			GOTO	$-1
$038A	$0000			NOP
;delays.c,16 :: 		}
$038B	$0008			RETURN
$038C	$	_Delay_1us:
;delays.c,2 :: 		void Delay_1us() {
;delays.c,3 :: 		Delay_us(1);
$038C	$0000			NOP
;delays.c,4 :: 		}
$038D	$0008			RETURN
$038E	$	_INDICATION_TEMPERATURE:
;Thermorelay.c,300 :: 		void INDICATION_TEMPERATURE () {
;Thermorelay.c,303 :: 		do {                // индикация температуры, перед вызовом задать x, чтобы указать время индикации
$038E	$	L_INDICATION_TEMPERATURE_182:
;Thermorelay.c,305 :: 		INDICATION_EDIN();
$038E	$2004			CALL	_INDICATION_EDIN
;Thermorelay.c,307 :: 		INDICATION_DES();
$038F	$21C5			CALL	_INDICATION_DES
;Thermorelay.c,309 :: 		INDICATION_SOT();
$0390	$222A			CALL	_INDICATION_SOT
;Thermorelay.c,311 :: 		INDICATION_TIS();
$0391	$2297			CALL	_INDICATION_TIS
;Thermorelay.c,313 :: 		x-=1;
$0392	$032D			DECF	_x, 0
$0393	$00F1			MOVWF	STACK_1
$0394	$0871			MOVF	STACK_1, 0
$0395	$00AD			MOVWF	_x
;Thermorelay.c,315 :: 		while (x>0);
$0396	$0871			MOVF	STACK_1, 0
$0397	$3C00			SUBLW	0
$0398	$1C03			BTFSS	STATUS, C
$0399	$2B8E			GOTO	L_INDICATION_TEMPERATURE_182
$039A	$	L_INDICATION_TEMPERATURE_183:
;Thermorelay.c,316 :: 		}
$039A	$0008			RETURN
$039B	$	_Temp_Set:
;Thermorelay.c,421 :: 		void Temp_Set () {  // Подпрограмма уcтановки пределов температуры
;Thermorelay.c,423 :: 		Push = 1;
$039B	$3001			MOVLW	1
$039C	$1303			BCF	STATUS, RP1
$039D	$1283			BCF	STATUS, RP0
$039E	$00AE			MOVWF	_Push
;Thermorelay.c,424 :: 		while (Push == 1) {
$039F	$	L_Temp_Set_219:
$039F	$082E			MOVF	_Push, 0
$03A0	$3A01			XORLW	1
$03A1	$1D03			BTFSS	STATUS, Z
$03A2	$2BC7			GOTO	L_Temp_Set_220
;Thermorelay.c,426 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем нижний предел температуры, цифры должны мигать 2 р/с, палочка 4 р/с.
$03A3	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,428 :: 		if (porta.f3 == 1) {delay_ms (5); if (porta.f3 == 1) Push = 2;} // Если кнопка уже отпущена, переходим дальше
$03A4	$3000			MOVLW	0
$03A5	$1985			BTFSC	PORTA, 3
$03A6	$3001			MOVLW	1
$03A7	$00F1			MOVWF	STACK_1
$03A8	$0871			MOVF	STACK_1, 0
$03A9	$3A01			XORLW	1
$03AA	$1D03			BTFSS	STATUS, Z
$03AB	$2BC6			GOTO	L_Temp_Set_221
$03AC	$3007			MOVLW	7
$03AD	$00FB			MOVWF	STACK_11
$03AE	$30FF			MOVLW	255
$03AF	$00FA			MOVWF	STACK_10
$03B0	$0BFB			DECFSZ	STACK_11, F
$03B1	$2BB3			GOTO	$+2
$03B2	$2BB6			GOTO	$+4
$03B3	$0BFA			DECFSZ	STACK_10, F
$03B4	$2BB3			GOTO	$-1
$03B5	$2BB0			GOTO	$-5
$03B6	$3078			MOVLW	120
$03B7	$00FA			MOVWF	STACK_10
$03B8	$0BFA			DECFSZ	STACK_10, F
$03B9	$2BB8			GOTO	$-1
$03BA	$0000			NOP
$03BB	$0000			NOP
$03BC	$3000			MOVLW	0
$03BD	$1985			BTFSC	PORTA, 3
$03BE	$3001			MOVLW	1
$03BF	$00F1			MOVWF	STACK_1
$03C0	$0871			MOVF	STACK_1, 0
$03C1	$3A01			XORLW	1
$03C2	$1D03			BTFSS	STATUS, Z
$03C3	$2BC6			GOTO	L_Temp_Set_222
$03C4	$3002			MOVLW	2
$03C5	$00AE			MOVWF	_Push
$03C6	$	L_Temp_Set_222:
$03C6	$	L_Temp_Set_221:
;Thermorelay.c,430 :: 		}
$03C6	$2B9F			GOTO	L_Temp_Set_219
$03C7	$	L_Temp_Set_220:
;Thermorelay.c,432 :: 		while (Push == 2) { // В этом цикле будет опрос кнопок + и - Для MIN_TEMPERATURE
$03C7	$	L_Temp_Set_223:
$03C7	$082E			MOVF	_Push, 0
$03C8	$3A02			XORLW	2
$03C9	$1D03			BTFSS	STATUS, Z
$03CA	$2C95			GOTO	L_Temp_Set_224
;Thermorelay.c,434 :: 		INDICATION_TEMPERATURE_RANGES ();
$03CB	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,435 :: 		if (porta.f3 == 0) {delay_ms (5); if (porta.f3 == 0) Push = 3;} // Если кнопка OK нажата снова, переходим дальше
$03CC	$3000			MOVLW	0
$03CD	$1985			BTFSC	PORTA, 3
$03CE	$3001			MOVLW	1
$03CF	$00F1			MOVWF	STACK_1
$03D0	$0871			MOVF	STACK_1, 0
$03D1	$3A00			XORLW	0
$03D2	$1D03			BTFSS	STATUS, Z
$03D3	$2BEE			GOTO	L_Temp_Set_225
$03D4	$3007			MOVLW	7
$03D5	$00FB			MOVWF	STACK_11
$03D6	$30FF			MOVLW	255
$03D7	$00FA			MOVWF	STACK_10
$03D8	$0BFB			DECFSZ	STACK_11, F
$03D9	$2BDB			GOTO	$+2
$03DA	$2BDE			GOTO	$+4
$03DB	$0BFA			DECFSZ	STACK_10, F
$03DC	$2BDB			GOTO	$-1
$03DD	$2BD8			GOTO	$-5
$03DE	$3078			MOVLW	120
$03DF	$00FA			MOVWF	STACK_10
$03E0	$0BFA			DECFSZ	STACK_10, F
$03E1	$2BE0			GOTO	$-1
$03E2	$0000			NOP
$03E3	$0000			NOP
$03E4	$3000			MOVLW	0
$03E5	$1985			BTFSC	PORTA, 3
$03E6	$3001			MOVLW	1
$03E7	$00F1			MOVWF	STACK_1
$03E8	$0871			MOVF	STACK_1, 0
$03E9	$3A00			XORLW	0
$03EA	$1D03			BTFSS	STATUS, Z
$03EB	$2BEE			GOTO	L_Temp_Set_226
$03EC	$3003			MOVLW	3
$03ED	$00AE			MOVWF	_Push
$03EE	$	L_Temp_Set_226:
$03EE	$	L_Temp_Set_225:
;Thermorelay.c,438 :: 		while (porta.f1 == 0) {  //  Кнопка "-"
$03EE	$	L_Temp_Set_227:
$03EE	$3000			MOVLW	0
$03EF	$1885			BTFSC	PORTA, 1
$03F0	$3001			MOVLW	1
$03F1	$00F1			MOVWF	STACK_1
$03F2	$0871			MOVF	STACK_1, 0
$03F3	$3A00			XORLW	0
$03F4	$1D03			BTFSS	STATUS, Z
$03F5	$2C41			GOTO	L_Temp_Set_228
;Thermorelay.c,440 :: 		MIN_TEMPERATURE -= 1;
$03F6	$032F			DECF	_Min_Temperature, 0
$03F7	$00F1			MOVWF	STACK_1
$03F8	$0871			MOVF	STACK_1, 0
$03F9	$00AF			MOVWF	_Min_Temperature
;Thermorelay.c,441 :: 		if (MIN_TEMPERATURE <= -51) MIN_TEMPERATURE = - 50;   // Задаём строгое ограничение
$03FA	$3080			MOVLW	128
$03FB	$3ACD			XORLW	205
$03FC	$00F0			MOVWF	STACK_0
$03FD	$3080			MOVLW	128
$03FE	$0671			XORWF	STACK_1, 0
$03FF	$0270			SUBWF	STACK_0, 0
$0400	$1C03			BTFSS	STATUS, C
$0401	$2C04			GOTO	L_Temp_Set_229
$0402	$30CE			MOVLW	206
$0403	$00AF			MOVWF	_Min_Temperature
$0404	$	L_Temp_Set_229:
;Thermorelay.c,445 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$0404	$082F			MOVF	_Min_Temperature, 0
$0405	$00AC			MOVWF	_RANGE
;Thermorelay.c,446 :: 		S_D_E ();                // Разбиваем
$0406	$2349			CALL	_S_D_E
;Thermorelay.c,447 :: 		x = 50;      // Задаём времяпоказа нового предела 1 сек.
$0407	$3032			MOVLW	50
$0408	$00AD			MOVWF	_x
;Thermorelay.c,448 :: 		do {
$0409	$	L_Temp_Set_230:
;Thermorelay.c,449 :: 		INDICATION_TEMPERATURE_RANGES ();
$0409	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,450 :: 		x -= 1;
$040A	$03AD			DECF	_x, 1
;Thermorelay.c,452 :: 		while (porta.f1 == 0 && x > 0);
$040B	$3000			MOVLW	0
$040C	$1885			BTFSC	PORTA, 1
$040D	$3001			MOVLW	1
$040E	$00F1			MOVWF	STACK_1
$040F	$0871			MOVF	STACK_1, 0
$0410	$3A00			XORLW	0
$0411	$1D03			BTFSS	STATUS, Z
$0412	$2C17			GOTO	L1140_ex_L_Temp_Set_230
$0413	$082D			MOVF	_x, 0
$0414	$3C00			SUBLW	0
$0415	$1C03			BTFSS	STATUS, C
$0416	$2C09			GOTO	L_Temp_Set_230
$0417	$	L1140_ex_L_Temp_Set_230:
$0417	$	L_Temp_Set_231:
;Thermorelay.c,454 :: 		while (x == 0 && porta.f1 == 0) { // Цикл повторяется 10 раз в сек, задаётся переменной "у"
$0417	$	L_Temp_Set_234:
$0417	$082D			MOVF	_x, 0
$0418	$3A00			XORLW	0
$0419	$1D03			BTFSS	STATUS, Z
$041A	$2C40			GOTO	L_Temp_Set_235
$041B	$3000			MOVLW	0
$041C	$1885			BTFSC	PORTA, 1
$041D	$3001			MOVLW	1
$041E	$00F1			MOVWF	STACK_1
$041F	$0871			MOVF	STACK_1, 0
$0420	$3A00			XORLW	0
$0421	$1D03			BTFSS	STATUS, Z
$0422	$2C40			GOTO	L_Temp_Set_235
$0423	$	L1157_ex_L_Temp_Set_235:
;Thermorelay.c,456 :: 		MIN_TEMPERATURE -= 1;
$0423	$032F			DECF	_Min_Temperature, 0
$0424	$00F1			MOVWF	STACK_1
$0425	$0871			MOVF	STACK_1, 0
$0426	$00AF			MOVWF	_Min_Temperature
;Thermorelay.c,457 :: 		if (MIN_TEMPERATURE <= -51) MIN_TEMPERATURE = - 50;   // Задаём строгое ограничение
$0427	$3080			MOVLW	128
$0428	$3ACD			XORLW	205
$0429	$00F0			MOVWF	STACK_0
$042A	$3080			MOVLW	128
$042B	$0671			XORWF	STACK_1, 0
$042C	$0270			SUBWF	STACK_0, 0
$042D	$1C03			BTFSS	STATUS, C
$042E	$2C31			GOTO	L_Temp_Set_238
$042F	$30CE			MOVLW	206
$0430	$00AF			MOVWF	_Min_Temperature
$0431	$	L_Temp_Set_238:
;Thermorelay.c,459 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$0431	$082F			MOVF	_Min_Temperature, 0
$0432	$00AC			MOVWF	_RANGE
;Thermorelay.c,460 :: 		S_D_E ();                // Разбиваем
$0433	$2349			CALL	_S_D_E
;Thermorelay.c,462 :: 		y = 5;                   // Индикация 100 мс (одновременно задержка)
$0434	$3005			MOVLW	5
$0435	$00B0			MOVWF	_y
;Thermorelay.c,463 :: 		do {
$0436	$	L_Temp_Set_239:
;Thermorelay.c,464 :: 		INDICATION_TEMPERATURE_RANGES ();
$0436	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,465 :: 		y -=1;
$0437	$0330			DECF	_y, 0
$0438	$00F1			MOVWF	STACK_1
$0439	$0871			MOVF	STACK_1, 0
$043A	$00B0			MOVWF	_y
;Thermorelay.c,467 :: 		while (y > 0);
$043B	$0871			MOVF	STACK_1, 0
$043C	$3C00			SUBLW	0
$043D	$1C03			BTFSS	STATUS, C
$043E	$2C36			GOTO	L_Temp_Set_239
$043F	$	L_Temp_Set_240:
;Thermorelay.c,468 :: 		}
$043F	$2C17			GOTO	L_Temp_Set_234
$0440	$	L_Temp_Set_235:
;Thermorelay.c,469 :: 		}
$0440	$2BEE			GOTO	L_Temp_Set_227
$0441	$	L_Temp_Set_228:
;Thermorelay.c,471 :: 		while (porta.f2 == 0) {  //  Кнопка "+"
$0441	$	L_Temp_Set_241:
$0441	$3000			MOVLW	0
$0442	$1905			BTFSC	PORTA, 2
$0443	$3001			MOVLW	1
$0444	$00F1			MOVWF	STACK_1
$0445	$0871			MOVF	STACK_1, 0
$0446	$3A00			XORLW	0
$0447	$1D03			BTFSS	STATUS, Z
$0448	$2C94			GOTO	L_Temp_Set_242
;Thermorelay.c,473 :: 		MIN_TEMPERATURE += 1;
$0449	$0A2F			INCF	_Min_Temperature, 0
$044A	$00F1			MOVWF	STACK_1
$044B	$0871			MOVF	STACK_1, 0
$044C	$00AF			MOVWF	_Min_Temperature
;Thermorelay.c,474 :: 		if (MIN_TEMPERATURE >= 121) MIN_TEMPERATURE = 120;
$044D	$3080			MOVLW	128
$044E	$0671			XORWF	STACK_1, 0
$044F	$00F0			MOVWF	STACK_0
$0450	$3080			MOVLW	128
$0451	$3A79			XORLW	121
$0452	$0270			SUBWF	STACK_0, 0
$0453	$1C03			BTFSS	STATUS, C
$0454	$2C57			GOTO	L_Temp_Set_243
$0455	$3078			MOVLW	120
$0456	$00AF			MOVWF	_Min_Temperature
$0457	$	L_Temp_Set_243:
;Thermorelay.c,478 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$0457	$082F			MOVF	_Min_Temperature, 0
$0458	$00AC			MOVWF	_RANGE
;Thermorelay.c,479 :: 		S_D_E ();                // Разбиваем
$0459	$2349			CALL	_S_D_E
;Thermorelay.c,480 :: 		x = 50;      // Задаём времяпоказа нового предела 1 сек.
$045A	$3032			MOVLW	50
$045B	$00AD			MOVWF	_x
;Thermorelay.c,481 :: 		do {
$045C	$	L_Temp_Set_244:
;Thermorelay.c,482 :: 		INDICATION_TEMPERATURE_RANGES ();
$045C	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,483 :: 		x -= 1;
$045D	$03AD			DECF	_x, 1
;Thermorelay.c,485 :: 		while (porta.f2 == 0 && x > 0);
$045E	$3000			MOVLW	0
$045F	$1905			BTFSC	PORTA, 2
$0460	$3001			MOVLW	1
$0461	$00F1			MOVWF	STACK_1
$0462	$0871			MOVF	STACK_1, 0
$0463	$3A00			XORLW	0
$0464	$1D03			BTFSS	STATUS, Z
$0465	$2C6A			GOTO	L1212_ex_L_Temp_Set_244
$0466	$082D			MOVF	_x, 0
$0467	$3C00			SUBLW	0
$0468	$1C03			BTFSS	STATUS, C
$0469	$2C5C			GOTO	L_Temp_Set_244
$046A	$	L1212_ex_L_Temp_Set_244:
$046A	$	L_Temp_Set_245:
;Thermorelay.c,487 :: 		while (x == 0 && porta.f2 == 0) { // Цикл повторяется 10 раз в сек, задаётся переменной "у"
$046A	$	L_Temp_Set_248:
$046A	$082D			MOVF	_x, 0
$046B	$3A00			XORLW	0
$046C	$1D03			BTFSS	STATUS, Z
$046D	$2C93			GOTO	L_Temp_Set_249
$046E	$3000			MOVLW	0
$046F	$1905			BTFSC	PORTA, 2
$0470	$3001			MOVLW	1
$0471	$00F1			MOVWF	STACK_1
$0472	$0871			MOVF	STACK_1, 0
$0473	$3A00			XORLW	0
$0474	$1D03			BTFSS	STATUS, Z
$0475	$2C93			GOTO	L_Temp_Set_249
$0476	$	L1229_ex_L_Temp_Set_249:
;Thermorelay.c,489 :: 		MIN_TEMPERATURE += 1;
$0476	$0A2F			INCF	_Min_Temperature, 0
$0477	$00F1			MOVWF	STACK_1
$0478	$0871			MOVF	STACK_1, 0
$0479	$00AF			MOVWF	_Min_Temperature
;Thermorelay.c,490 :: 		if (MIN_TEMPERATURE >= 121) MIN_TEMPERATURE = 120;
$047A	$3080			MOVLW	128
$047B	$0671			XORWF	STACK_1, 0
$047C	$00F0			MOVWF	STACK_0
$047D	$3080			MOVLW	128
$047E	$3A79			XORLW	121
$047F	$0270			SUBWF	STACK_0, 0
$0480	$1C03			BTFSS	STATUS, C
$0481	$2C84			GOTO	L_Temp_Set_252
$0482	$3078			MOVLW	120
$0483	$00AF			MOVWF	_Min_Temperature
$0484	$	L_Temp_Set_252:
;Thermorelay.c,492 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$0484	$082F			MOVF	_Min_Temperature, 0
$0485	$00AC			MOVWF	_RANGE
;Thermorelay.c,493 :: 		S_D_E ();                // Разбиваем
$0486	$2349			CALL	_S_D_E
;Thermorelay.c,495 :: 		y = 5;                   // Индикация 100 мс (одновременно задержка)
$0487	$3005			MOVLW	5
$0488	$00B0			MOVWF	_y
;Thermorelay.c,496 :: 		do {
$0489	$	L_Temp_Set_253:
;Thermorelay.c,497 :: 		INDICATION_TEMPERATURE_RANGES ();
$0489	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,498 :: 		y -=1;
$048A	$0330			DECF	_y, 0
$048B	$00F1			MOVWF	STACK_1
$048C	$0871			MOVF	STACK_1, 0
$048D	$00B0			MOVWF	_y
;Thermorelay.c,500 :: 		while (y > 0);
$048E	$0871			MOVF	STACK_1, 0
$048F	$3C00			SUBLW	0
$0490	$1C03			BTFSS	STATUS, C
$0491	$2C89			GOTO	L_Temp_Set_253
$0492	$	L_Temp_Set_254:
;Thermorelay.c,501 :: 		}
$0492	$2C6A			GOTO	L_Temp_Set_248
$0493	$	L_Temp_Set_249:
;Thermorelay.c,502 :: 		}
$0493	$2C41			GOTO	L_Temp_Set_241
$0494	$	L_Temp_Set_242:
;Thermorelay.c,504 :: 		}
$0494	$2BC7			GOTO	L_Temp_Set_223
$0495	$	L_Temp_Set_224:
;Thermorelay.c,507 :: 		tis = 10;     // Выбираем альтернативное отображение на тысячном индикаторе
$0495	$300A			MOVLW	10
$0496	$00A7			MOVWF	_tis
;Thermorelay.c,508 :: 		x_tis = 254; // Отображаем Верхнюю палочку на тысячном индикаторе
$0497	$30FE			MOVLW	254
$0498	$00A8			MOVWF	_x_tis
;Thermorelay.c,510 :: 		while (Push == 3) { // Здесь начинается работа с MAX_TEMPERATURE
$0499	$	L_Temp_Set_255:
$0499	$082E			MOVF	_Push, 0
$049A	$3A03			XORLW	3
$049B	$1D03			BTFSS	STATUS, Z
$049C	$2CC4			GOTO	L_Temp_Set_256
;Thermorelay.c,512 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна Макс. температуре.
$049D	$0831			MOVF	_Max_Temperature, 0
$049E	$00AC			MOVWF	_RANGE
;Thermorelay.c,513 :: 		S_D_E ();
$049F	$2349			CALL	_S_D_E
;Thermorelay.c,515 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем нижний предел температуры, цифры должны мигать 2 р/с, палочка 4 р/с.
$04A0	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,517 :: 		if (porta.f3 == 1) {delay_ms (5); if (porta.f3 == 1) Push = 4;} // Если кнопка уже отпущена, переходим дальше
$04A1	$3000			MOVLW	0
$04A2	$1985			BTFSC	PORTA, 3
$04A3	$3001			MOVLW	1
$04A4	$00F1			MOVWF	STACK_1
$04A5	$0871			MOVF	STACK_1, 0
$04A6	$3A01			XORLW	1
$04A7	$1D03			BTFSS	STATUS, Z
$04A8	$2CC3			GOTO	L_Temp_Set_257
$04A9	$3007			MOVLW	7
$04AA	$00FB			MOVWF	STACK_11
$04AB	$30FF			MOVLW	255
$04AC	$00FA			MOVWF	STACK_10
$04AD	$0BFB			DECFSZ	STACK_11, F
$04AE	$2CB0			GOTO	$+2
$04AF	$2CB3			GOTO	$+4
$04B0	$0BFA			DECFSZ	STACK_10, F
$04B1	$2CB0			GOTO	$-1
$04B2	$2CAD			GOTO	$-5
$04B3	$3078			MOVLW	120
$04B4	$00FA			MOVWF	STACK_10
$04B5	$0BFA			DECFSZ	STACK_10, F
$04B6	$2CB5			GOTO	$-1
$04B7	$0000			NOP
$04B8	$0000			NOP
$04B9	$3000			MOVLW	0
$04BA	$1985			BTFSC	PORTA, 3
$04BB	$3001			MOVLW	1
$04BC	$00F1			MOVWF	STACK_1
$04BD	$0871			MOVF	STACK_1, 0
$04BE	$3A01			XORLW	1
$04BF	$1D03			BTFSS	STATUS, Z
$04C0	$2CC3			GOTO	L_Temp_Set_258
$04C1	$3004			MOVLW	4
$04C2	$00AE			MOVWF	_Push
$04C3	$	L_Temp_Set_258:
$04C3	$	L_Temp_Set_257:
;Thermorelay.c,519 :: 		}
$04C3	$2C99			GOTO	L_Temp_Set_255
$04C4	$	L_Temp_Set_256:
;Thermorelay.c,521 :: 		while (Push == 4) { // В этом цикле будет опрос кнопок + и - Для MAX_TEMPERATURE
$04C4	$	L_Temp_Set_259:
$04C4	$082E			MOVF	_Push, 0
$04C5	$3A04			XORLW	4
$04C6	$1D03			BTFSS	STATUS, Z
$04C7	$2D92			GOTO	L_Temp_Set_260
;Thermorelay.c,523 :: 		INDICATION_TEMPERATURE_RANGES ();
$04C8	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,524 :: 		if (porta.f3 == 0) {delay_ms (5); if (porta.f3 == 0) Push = 5;} // Если кнопка OK нажата снова, выходим из подпрограммы установки пределов
$04C9	$3000			MOVLW	0
$04CA	$1985			BTFSC	PORTA, 3
$04CB	$3001			MOVLW	1
$04CC	$00F1			MOVWF	STACK_1
$04CD	$0871			MOVF	STACK_1, 0
$04CE	$3A00			XORLW	0
$04CF	$1D03			BTFSS	STATUS, Z
$04D0	$2CEB			GOTO	L_Temp_Set_261
$04D1	$3007			MOVLW	7
$04D2	$00FB			MOVWF	STACK_11
$04D3	$30FF			MOVLW	255
$04D4	$00FA			MOVWF	STACK_10
$04D5	$0BFB			DECFSZ	STACK_11, F
$04D6	$2CD8			GOTO	$+2
$04D7	$2CDB			GOTO	$+4
$04D8	$0BFA			DECFSZ	STACK_10, F
$04D9	$2CD8			GOTO	$-1
$04DA	$2CD5			GOTO	$-5
$04DB	$3078			MOVLW	120
$04DC	$00FA			MOVWF	STACK_10
$04DD	$0BFA			DECFSZ	STACK_10, F
$04DE	$2CDD			GOTO	$-1
$04DF	$0000			NOP
$04E0	$0000			NOP
$04E1	$3000			MOVLW	0
$04E2	$1985			BTFSC	PORTA, 3
$04E3	$3001			MOVLW	1
$04E4	$00F1			MOVWF	STACK_1
$04E5	$0871			MOVF	STACK_1, 0
$04E6	$3A00			XORLW	0
$04E7	$1D03			BTFSS	STATUS, Z
$04E8	$2CEB			GOTO	L_Temp_Set_262
$04E9	$3005			MOVLW	5
$04EA	$00AE			MOVWF	_Push
$04EB	$	L_Temp_Set_262:
$04EB	$	L_Temp_Set_261:
;Thermorelay.c,526 :: 		while (porta.f1 == 0) {  //  Кнопка "-"
$04EB	$	L_Temp_Set_263:
$04EB	$3000			MOVLW	0
$04EC	$1885			BTFSC	PORTA, 1
$04ED	$3001			MOVLW	1
$04EE	$00F1			MOVWF	STACK_1
$04EF	$0871			MOVF	STACK_1, 0
$04F0	$3A00			XORLW	0
$04F1	$1D03			BTFSS	STATUS, Z
$04F2	$2D3E			GOTO	L_Temp_Set_264
;Thermorelay.c,528 :: 		MAX_TEMPERATURE -= 1;
$04F3	$0331			DECF	_Max_Temperature, 0
$04F4	$00F1			MOVWF	STACK_1
$04F5	$0871			MOVF	STACK_1, 0
$04F6	$00B1			MOVWF	_Max_Temperature
;Thermorelay.c,529 :: 		if (MAX_TEMPERATURE <= -51) MAX_TEMPERATURE = - 50;   // Задаём строгое ограничение
$04F7	$3080			MOVLW	128
$04F8	$3ACD			XORLW	205
$04F9	$00F0			MOVWF	STACK_0
$04FA	$3080			MOVLW	128
$04FB	$0671			XORWF	STACK_1, 0
$04FC	$0270			SUBWF	STACK_0, 0
$04FD	$1C03			BTFSS	STATUS, C
$04FE	$2D01			GOTO	L_Temp_Set_265
$04FF	$30CE			MOVLW	206
$0500	$00B1			MOVWF	_Max_Temperature
$0501	$	L_Temp_Set_265:
;Thermorelay.c,534 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна макс. температуре.
$0501	$0831			MOVF	_Max_Temperature, 0
$0502	$00AC			MOVWF	_RANGE
;Thermorelay.c,535 :: 		S_D_E ();                // Разбиваем
$0503	$2349			CALL	_S_D_E
;Thermorelay.c,536 :: 		x = 50;      // Задаём времяпоказа нового предела 1 сек.
$0504	$3032			MOVLW	50
$0505	$00AD			MOVWF	_x
;Thermorelay.c,537 :: 		do {
$0506	$	L_Temp_Set_266:
;Thermorelay.c,538 :: 		INDICATION_TEMPERATURE_RANGES ();
$0506	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,539 :: 		x -= 1;
$0507	$03AD			DECF	_x, 1
;Thermorelay.c,541 :: 		while (porta.f1 == 0 && x > 0);
$0508	$3000			MOVLW	0
$0509	$1885			BTFSC	PORTA, 1
$050A	$3001			MOVLW	1
$050B	$00F1			MOVWF	STACK_1
$050C	$0871			MOVF	STACK_1, 0
$050D	$3A00			XORLW	0
$050E	$1D03			BTFSS	STATUS, Z
$050F	$2D14			GOTO	L1362_ex_L_Temp_Set_266
$0510	$082D			MOVF	_x, 0
$0511	$3C00			SUBLW	0
$0512	$1C03			BTFSS	STATUS, C
$0513	$2D06			GOTO	L_Temp_Set_266
$0514	$	L1362_ex_L_Temp_Set_266:
$0514	$	L_Temp_Set_267:
;Thermorelay.c,543 :: 		while (x == 0 && porta.f1 == 0) { // Цикл повторяется 10 раз в сек, задаётся переменной "у"
$0514	$	L_Temp_Set_270:
$0514	$082D			MOVF	_x, 0
$0515	$3A00			XORLW	0
$0516	$1D03			BTFSS	STATUS, Z
$0517	$2D3D			GOTO	L_Temp_Set_271
$0518	$3000			MOVLW	0
$0519	$1885			BTFSC	PORTA, 1
$051A	$3001			MOVLW	1
$051B	$00F1			MOVWF	STACK_1
$051C	$0871			MOVF	STACK_1, 0
$051D	$3A00			XORLW	0
$051E	$1D03			BTFSS	STATUS, Z
$051F	$2D3D			GOTO	L_Temp_Set_271
$0520	$	L1379_ex_L_Temp_Set_271:
;Thermorelay.c,545 :: 		MAX_TEMPERATURE -= 1;
$0520	$0331			DECF	_Max_Temperature, 0
$0521	$00F1			MOVWF	STACK_1
$0522	$0871			MOVF	STACK_1, 0
$0523	$00B1			MOVWF	_Max_Temperature
;Thermorelay.c,546 :: 		if (MAX_TEMPERATURE <= -51) MAX_TEMPERATURE = - 50;   // Задаём строгое ограничение
$0524	$3080			MOVLW	128
$0525	$3ACD			XORLW	205
$0526	$00F0			MOVWF	STACK_0
$0527	$3080			MOVLW	128
$0528	$0671			XORWF	STACK_1, 0
$0529	$0270			SUBWF	STACK_0, 0
$052A	$1C03			BTFSS	STATUS, C
$052B	$2D2E			GOTO	L_Temp_Set_274
$052C	$30CE			MOVLW	206
$052D	$00B1			MOVWF	_Max_Temperature
$052E	$	L_Temp_Set_274:
;Thermorelay.c,549 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна макс. температуре.
$052E	$0831			MOVF	_Max_Temperature, 0
$052F	$00AC			MOVWF	_RANGE
;Thermorelay.c,550 :: 		S_D_E ();                // Разбиваем
$0530	$2349			CALL	_S_D_E
;Thermorelay.c,552 :: 		y = 5;                   // Индикация 100 мс (одновременно задержка)
$0531	$3005			MOVLW	5
$0532	$00B0			MOVWF	_y
;Thermorelay.c,553 :: 		do {
$0533	$	L_Temp_Set_275:
;Thermorelay.c,554 :: 		INDICATION_TEMPERATURE_RANGES ();
$0533	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,555 :: 		y -=1;
$0534	$0330			DECF	_y, 0
$0535	$00F1			MOVWF	STACK_1
$0536	$0871			MOVF	STACK_1, 0
$0537	$00B0			MOVWF	_y
;Thermorelay.c,557 :: 		while (y > 0);
$0538	$0871			MOVF	STACK_1, 0
$0539	$3C00			SUBLW	0
$053A	$1C03			BTFSS	STATUS, C
$053B	$2D33			GOTO	L_Temp_Set_275
$053C	$	L_Temp_Set_276:
;Thermorelay.c,558 :: 		}
$053C	$2D14			GOTO	L_Temp_Set_270
$053D	$	L_Temp_Set_271:
;Thermorelay.c,559 :: 		}
$053D	$2CEB			GOTO	L_Temp_Set_263
$053E	$	L_Temp_Set_264:
;Thermorelay.c,561 :: 		while (porta.f2 == 0) {  //  Кнопка "+"
$053E	$	L_Temp_Set_277:
$053E	$3000			MOVLW	0
$053F	$1905			BTFSC	PORTA, 2
$0540	$3001			MOVLW	1
$0541	$00F1			MOVWF	STACK_1
$0542	$0871			MOVF	STACK_1, 0
$0543	$3A00			XORLW	0
$0544	$1D03			BTFSS	STATUS, Z
$0545	$2D91			GOTO	L_Temp_Set_278
;Thermorelay.c,563 :: 		MAX_TEMPERATURE += 1;
$0546	$0A31			INCF	_Max_Temperature, 0
$0547	$00F1			MOVWF	STACK_1
$0548	$0871			MOVF	STACK_1, 0
$0549	$00B1			MOVWF	_Max_Temperature
;Thermorelay.c,564 :: 		if (MAX_TEMPERATURE >= 121) MAX_TEMPERATURE = 120;
$054A	$3080			MOVLW	128
$054B	$0671			XORWF	STACK_1, 0
$054C	$00F0			MOVWF	STACK_0
$054D	$3080			MOVLW	128
$054E	$3A79			XORLW	121
$054F	$0270			SUBWF	STACK_0, 0
$0550	$1C03			BTFSS	STATUS, C
$0551	$2D54			GOTO	L_Temp_Set_279
$0552	$3078			MOVLW	120
$0553	$00B1			MOVWF	_Max_Temperature
$0554	$	L_Temp_Set_279:
;Thermorelay.c,569 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна макс. температуре.
$0554	$0831			MOVF	_Max_Temperature, 0
$0555	$00AC			MOVWF	_RANGE
;Thermorelay.c,570 :: 		S_D_E ();                // Разбиваем
$0556	$2349			CALL	_S_D_E
;Thermorelay.c,571 :: 		x = 50;      // Задаём времяпоказа нового предела 1 сек.
$0557	$3032			MOVLW	50
$0558	$00AD			MOVWF	_x
;Thermorelay.c,572 :: 		do {
$0559	$	L_Temp_Set_280:
;Thermorelay.c,573 :: 		INDICATION_TEMPERATURE_RANGES ();
$0559	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,574 :: 		x -= 1;
$055A	$03AD			DECF	_x, 1
;Thermorelay.c,576 :: 		while (porta.f2 == 0 && x > 0);
$055B	$3000			MOVLW	0
$055C	$1905			BTFSC	PORTA, 2
$055D	$3001			MOVLW	1
$055E	$00F1			MOVWF	STACK_1
$055F	$0871			MOVF	STACK_1, 0
$0560	$3A00			XORLW	0
$0561	$1D03			BTFSS	STATUS, Z
$0562	$2D67			GOTO	L1434_ex_L_Temp_Set_280
$0563	$082D			MOVF	_x, 0
$0564	$3C00			SUBLW	0
$0565	$1C03			BTFSS	STATUS, C
$0566	$2D59			GOTO	L_Temp_Set_280
$0567	$	L1434_ex_L_Temp_Set_280:
$0567	$	L_Temp_Set_281:
;Thermorelay.c,578 :: 		while (x == 0 && porta.f2 == 0) { // Цикл повторяется 10 раз в сек, задаётся переменной "у"
$0567	$	L_Temp_Set_284:
$0567	$082D			MOVF	_x, 0
$0568	$3A00			XORLW	0
$0569	$1D03			BTFSS	STATUS, Z
$056A	$2D90			GOTO	L_Temp_Set_285
$056B	$3000			MOVLW	0
$056C	$1905			BTFSC	PORTA, 2
$056D	$3001			MOVLW	1
$056E	$00F1			MOVWF	STACK_1
$056F	$0871			MOVF	STACK_1, 0
$0570	$3A00			XORLW	0
$0571	$1D03			BTFSS	STATUS, Z
$0572	$2D90			GOTO	L_Temp_Set_285
$0573	$	L1451_ex_L_Temp_Set_285:
;Thermorelay.c,580 :: 		MAX_TEMPERATURE += 1;
$0573	$0A31			INCF	_Max_Temperature, 0
$0574	$00F1			MOVWF	STACK_1
$0575	$0871			MOVF	STACK_1, 0
$0576	$00B1			MOVWF	_Max_Temperature
;Thermorelay.c,581 :: 		if (MAX_TEMPERATURE >= 121) MAX_TEMPERATURE = 120;
$0577	$3080			MOVLW	128
$0578	$0671			XORWF	STACK_1, 0
$0579	$00F0			MOVWF	STACK_0
$057A	$3080			MOVLW	128
$057B	$3A79			XORLW	121
$057C	$0270			SUBWF	STACK_0, 0
$057D	$1C03			BTFSS	STATUS, C
$057E	$2D81			GOTO	L_Temp_Set_288
$057F	$3078			MOVLW	120
$0580	$00B1			MOVWF	_Max_Temperature
$0581	$	L_Temp_Set_288:
;Thermorelay.c,585 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна макс. температуре.
$0581	$0831			MOVF	_Max_Temperature, 0
$0582	$00AC			MOVWF	_RANGE
;Thermorelay.c,586 :: 		S_D_E ();                // Разбиваем
$0583	$2349			CALL	_S_D_E
;Thermorelay.c,588 :: 		y = 5;                   // Индикация 100 мс (одновременно задержка)
$0584	$3005			MOVLW	5
$0585	$00B0			MOVWF	_y
;Thermorelay.c,589 :: 		do {
$0586	$	L_Temp_Set_289:
;Thermorelay.c,590 :: 		INDICATION_TEMPERATURE_RANGES ();
$0586	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
;Thermorelay.c,591 :: 		y -=1;
$0587	$0330			DECF	_y, 0
$0588	$00F1			MOVWF	STACK_1
$0589	$0871			MOVF	STACK_1, 0
$058A	$00B0			MOVWF	_y
;Thermorelay.c,593 :: 		while (y > 0);
$058B	$0871			MOVF	STACK_1, 0
$058C	$3C00			SUBLW	0
$058D	$1C03			BTFSS	STATUS, C
$058E	$2D86			GOTO	L_Temp_Set_289
$058F	$	L_Temp_Set_290:
;Thermorelay.c,594 :: 		}
$058F	$2D67			GOTO	L_Temp_Set_284
$0590	$	L_Temp_Set_285:
;Thermorelay.c,595 :: 		}
$0590	$2D3E			GOTO	L_Temp_Set_277
$0591	$	L_Temp_Set_278:
;Thermorelay.c,597 :: 		}
$0591	$2CC4			GOTO	L_Temp_Set_259
$0592	$	L_Temp_Set_260:
;Thermorelay.c,599 :: 		}
$0592	$0008			RETURN
$0593	$	_EEprom_write:
$0593	$0000			NOP
$0594	$	L_EEprom_write_0:
$0594	$1703			BSF	STATUS, RP1
$0595	$1683			BSF	STATUS, RP0
$0596	$1C8C			BTFSS	EECON1, 1
$0597	$2D9A			GOTO	L_EEprom_write_1
$0598	$0000			NOP
$0599	$2D94			GOTO	L_EEprom_write_0
$059A	$	L_EEprom_write_1:
$059A	$1303			BCF	STATUS, RP1
$059B	$1283			BCF	STATUS, RP0
$059C	$0841			MOVF	FARG_EEprom_write+0, 0
$059D	$1703			BSF	STATUS, RP1
$059E	$008D			MOVWF	EEADR
$059F	$0842			MOVF	FARG_EEprom_write+1, 0
$05A0	$008C			MOVWF	EEDATA
$05A1	$1683			BSF	STATUS, RP0
$05A2	$138C			BCF	EECON1, 7
$05A3	$150C			BSF	EECON1, 2
$05A4	$138B			BCF	INTCON, 7
$05A5	$3055			MOVLW	85
$05A6	$008D			MOVWF	EECON2
$05A7	$30AA			MOVLW	170
$05A8	$008D			MOVWF	EECON2
$05A9	$148C			BSF	EECON1, 1
$05AA	$178B			BSF	INTCON, 7
$05AB	$110C			BCF	EECON1, 2
$05AC	$0008			RETURN
$05AD	$	_Ow_Reset:
$05AD	$1303			BCF	STATUS, RP1
$05AE	$1283			BCF	STATUS, RP0
$05AF	$083B			MOVF	FARG_Ow_Reset+1, 0
$05B0	$00F2			MOVWF	STACK_2
$05B1	$3001			MOVLW	1
$05B2	$00F0			MOVWF	STACK_0
$05B3	$01F1			CLRF	STACK_0+1
$05B4	$0872			MOVF	STACK_2, 0
$05B5	$	L_Ow_Reset_8:
$05B5	$1903			BTFSC	STATUS, Z
$05B6	$2DBC			GOTO	L_Ow_Reset_9
$05B7	$0DF0			RLF	STACK_0, 1
$05B8	$0DF1			RLF	STACK_0+1, 1
$05B9	$1070			BCF	STACK_0, 0
$05BA	$3FFF			ADDLW	255
$05BB	$2DB5			GOTO	L_Ow_Reset_8
$05BC	$	L_Ow_Reset_9:
$05BC	$0870			MOVF	STACK_0, 0
$05BD	$00BD			MOVWF	Ow_Reset_bit_mask_L0
$05BE	$0970			COMF	STACK_0, W
$05BF	$00F2			MOVWF	STACK_2
$05C0	$083A			MOVF	FARG_Ow_Reset+0, 0
$05C1	$0084			MOVWF	FSR
$05C2	$0800			MOVF	INDF, 0
$05C3	$00F0			MOVWF	STACK_0
$05C4	$0872			MOVF	STACK_2, 0
$05C5	$0570			ANDWF	STACK_0, 0
$05C6	$0080			MOVWF	INDF
$05C7	$1784			BSF	FSR, 7
$05C8	$0872			MOVF	STACK_2, 0
$05C9	$0580			ANDWF	INDF, 1
$05CA	$2372			CALL	_Delay_500us
$05CB	$083D			MOVF	Ow_Reset_bit_mask_L0, 0
$05CC	$0480			IORWF	INDF, 1
$05CD	$1384			BCF	FSR, 7
$05CE	$237B			CALL	_Delay_80us
$05CF	$083D			MOVF	Ow_Reset_bit_mask_L0, 0
$05D0	$0500			ANDWF	INDF, 0
$05D1	$00BC			MOVWF	Ow_Reset_res_L0
$05D2	$083C			MOVF	Ow_Reset_res_L0, 0
$05D3	$3A00			XORLW	0
$05D4	$3001			MOVLW	1
$05D5	$1903			BTFSC	STATUS, Z
$05D6	$3000			MOVLW	0
$05D7	$00BC			MOVWF	Ow_Reset_res_L0
$05D8	$2372			CALL	_Delay_500us
$05D9	$083C			MOVF	Ow_Reset_res_L0, 0
$05DA	$00F0			MOVWF	STACK_0
$05DB	$0008			RETURN
$05DC	$	_Ow_Write:
$05DC	$1303			BCF	STATUS, RP1
$05DD	$1283			BCF	STATUS, RP0
$05DE	$083B			MOVF	FARG_Ow_Write+1, 0
$05DF	$00F2			MOVWF	STACK_2
$05E0	$3001			MOVLW	1
$05E1	$00F0			MOVWF	STACK_0
$05E2	$01F1			CLRF	STACK_0+1
$05E3	$0872			MOVF	STACK_2, 0
$05E4	$	L_Ow_Write_14:
$05E4	$1903			BTFSC	STATUS, Z
$05E5	$2DEB			GOTO	L_Ow_Write_15
$05E6	$0DF0			RLF	STACK_0, 1
$05E7	$0DF1			RLF	STACK_0+1, 1
$05E8	$1070			BCF	STACK_0, 0
$05E9	$3FFF			ADDLW	255
$05EA	$2DE4			GOTO	L_Ow_Write_14
$05EB	$	L_Ow_Write_15:
$05EB	$0870			MOVF	STACK_0, 0
$05EC	$00C0			MOVWF	Ow_Write_bit_mask_L0
$05ED	$0970			COMF	STACK_0, W
$05EE	$00BF			MOVWF	Ow_Write_not_bit_mask_L0
$05EF	$01BD			CLRF	Ow_Write_i_L0, 1
$05F0	$	L_Ow_Write_4:
$05F0	$083D			MOVF	Ow_Write_i_L0, 0
$05F1	$3C07			SUBLW	7
$05F2	$1C03			BTFSS	STATUS, C
$05F3	$2E20			GOTO	L_Ow_Write_5
$05F4	$083D			MOVF	Ow_Write_i_L0, 0
$05F5	$00F2			MOVWF	STACK_2
$05F6	$083C			MOVF	FARG_Ow_Write+2, 0
$05F7	$00F0			MOVWF	STACK_0
$05F8	$0872			MOVF	STACK_2, 0
$05F9	$	L_Ow_Write_16:
$05F9	$1903			BTFSC	STATUS, Z
$05FA	$2DFF			GOTO	L_Ow_Write_17
$05FB	$0CF0			RRF	STACK_0, 1
$05FC	$13F0			BCF	STACK_0, 7
$05FD	$3FFF			ADDLW	255
$05FE	$2DF9			GOTO	L_Ow_Write_16
$05FF	$	L_Ow_Write_17:
$05FF	$0870			MOVF	STACK_0, 0
$0600	$00BE			MOVWF	Ow_Write_j_L0
$0601	$3001			MOVLW	1
$0602	$0570			ANDWF	STACK_0, 0
$0603	$00BE			MOVWF	Ow_Write_j_L0
$0604	$083A			MOVF	FARG_Ow_Write+0, 0
$0605	$0084			MOVWF	FSR
$0606	$0800			MOVF	INDF, 0
$0607	$00F0			MOVWF	STACK_0
$0608	$083F			MOVF	Ow_Write_not_bit_mask_L0, 0
$0609	$05F0			ANDWF	STACK_0, 1
$060A	$083A			MOVF	FARG_Ow_Write+0, 0
$060B	$0084			MOVWF	FSR
$060C	$0870			MOVF	STACK_0, 0
$060D	$0080			MOVWF	INDF
$060E	$1784			BSF	FSR, 7
$060F	$083F			MOVF	Ow_Write_not_bit_mask_L0, 0
$0610	$0580			ANDWF	INDF, 1
$0611	$1384			BCF	FSR, 7
$0612	$083E			MOVF	Ow_Write_j_L0, 0
$0613	$1903			BTFSC	STATUS, Z
$0614	$2E19			GOTO	L_Ow_Write_7
$0615	$1784			BSF	FSR, 7
$0616	$0840			MOVF	Ow_Write_bit_mask_L0, 0
$0617	$0480			IORWF	INDF, 1
$0618	$1384			BCF	FSR, 7
$0619	$	L_Ow_Write_7:
$0619	$237B			CALL	_Delay_80us
$061A	$1784			BSF	FSR, 7
$061B	$0840			MOVF	Ow_Write_bit_mask_L0, 0
$061C	$0480			IORWF	INDF, 1
$061D	$1384			BCF	FSR, 7
$061E	$	L_Ow_Write_6:
$061E	$0ABD			INCF	Ow_Write_i_L0, 1
$061F	$2DF0			GOTO	L_Ow_Write_4
$0620	$	L_Ow_Write_5:
$0620	$2384			CALL	_Delay_50us
$0621	$2384			CALL	_Delay_50us
$0622	$0008			RETURN
$0623	$	_Ow_Read:
$0623	$1303			BCF	STATUS, RP1
$0624	$1283			BCF	STATUS, RP0
$0625	$083B			MOVF	FARG_Ow_Read+1, 0
$0626	$00F2			MOVWF	STACK_2
$0627	$3001			MOVLW	1
$0628	$00F0			MOVWF	STACK_0
$0629	$01F1			CLRF	STACK_0+1
$062A	$0872			MOVF	STACK_2, 0
$062B	$	L_Ow_Read_10:
$062B	$1903			BTFSC	STATUS, Z
$062C	$2E32			GOTO	L_Ow_Read_11
$062D	$0DF0			RLF	STACK_0, 1
$062E	$0DF1			RLF	STACK_0+1, 1
$062F	$1070			BCF	STACK_0, 0
$0630	$3FFF			ADDLW	255
$0631	$2E2B			GOTO	L_Ow_Read_10
$0632	$	L_Ow_Read_11:
$0632	$0870			MOVF	STACK_0, 0
$0633	$00BF			MOVWF	Ow_Read_bit_mask_L0
$0634	$0970			COMF	STACK_0, W
$0635	$00BE			MOVWF	Ow_Read_not_bit_mask_L0
$0636	$01BD			CLRF	Ow_Read_tmp_L0, 1
$0637	$01BC			CLRF	Ow_Read_i_L0, 1
$0638	$	L_Ow_Read_0:
$0638	$083C			MOVF	Ow_Read_i_L0, 0
$0639	$3C07			SUBLW	7
$063A	$1C03			BTFSS	STATUS, C
$063B	$2E64			GOTO	L_Ow_Read_1
$063C	$083A			MOVF	FARG_Ow_Read+0, 0
$063D	$0084			MOVWF	FSR
$063E	$0800			MOVF	INDF, 0
$063F	$00F0			MOVWF	STACK_0
$0640	$083E			MOVF	Ow_Read_not_bit_mask_L0, 0
$0641	$05F0			ANDWF	STACK_0, 1
$0642	$083A			MOVF	FARG_Ow_Read+0, 0
$0643	$0084			MOVWF	FSR
$0644	$0870			MOVF	STACK_0, 0
$0645	$0080			MOVWF	INDF
$0646	$1784			BSF	FSR, 7
$0647	$083E			MOVF	Ow_Read_not_bit_mask_L0, 0
$0648	$0580			ANDWF	INDF, 1
$0649	$238C			CALL	_Delay_1us
$064A	$083F			MOVF	Ow_Read_bit_mask_L0, 0
$064B	$0480			IORWF	INDF, 1
$064C	$1384			BCF	FSR, 7
$064D	$238C			CALL	_Delay_1us
$064E	$083F			MOVF	Ow_Read_bit_mask_L0, 0
$064F	$0500			ANDWF	INDF, 0
$0650	$00F0			MOVWF	STACK_0
$0651	$1903			BTFSC	STATUS, Z
$0652	$2E60			GOTO	L_Ow_Read_3
$0653	$083C			MOVF	Ow_Read_i_L0, 0
$0654	$00F2			MOVWF	STACK_2
$0655	$3001			MOVLW	1
$0656	$00F0			MOVWF	STACK_0
$0657	$0872			MOVF	STACK_2, 0
$0658	$	L_Ow_Read_12:
$0658	$1903			BTFSC	STATUS, Z
$0659	$2E5E			GOTO	L_Ow_Read_13
$065A	$0DF0			RLF	STACK_0, 1
$065B	$1070			BCF	STACK_0, 0
$065C	$3FFF			ADDLW	255
$065D	$2E58			GOTO	L_Ow_Read_12
$065E	$	L_Ow_Read_13:
$065E	$0870			MOVF	STACK_0, 0
$065F	$04BD			IORWF	Ow_Read_tmp_L0, 1
$0660	$	L_Ow_Read_3:
$0660	$2384			CALL	_Delay_50us
$0661	$2384			CALL	_Delay_50us
$0662	$	L_Ow_Read_2:
$0662	$0ABC			INCF	Ow_Read_i_L0, 1
$0663	$2E38			GOTO	L_Ow_Read_0
$0664	$	L_Ow_Read_1:
$0664	$083D			MOVF	Ow_Read_tmp_L0, 0
$0665	$00F0			MOVWF	STACK_0
$0666	$0008			RETURN
$0800	$	_OK_BUTTON:
;Thermorelay.c,602 :: 		void OK_BUTTON () {
;Thermorelay.c,604 :: 		x = 10;                    // 200 ms
$0800	$300A			MOVLW	10
$0801	$1303			BCF	STATUS, RP1
$0802	$1283			BCF	STATUS, RP0
$0803	$00AD			MOVWF	_x
;Thermorelay.c,605 :: 		INDICATION_TEMPERATURE();  // Нужна задержка, показываем текущую температуру
$0804	$118A			BCF	PCLATH, 3
$0805	$238E			CALL	_INDICATION_TEMPERATURE
$0806	$158A			BSF	PCLATH, 3
;Thermorelay.c,607 :: 		tis = 10;     // Выбираем альтернативное отображение на тысячном индикаторе
$0807	$300A			MOVLW	10
$0808	$00A7			MOVWF	_tis
;Thermorelay.c,608 :: 		x_tis = 247; // Отображаем нижнюю палочку на тысячном индикаторе
$0809	$30F7			MOVLW	247
$080A	$00A8			MOVWF	_x_tis
;Thermorelay.c,609 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$080B	$082F			MOVF	_Min_Temperature, 0
$080C	$00AC			MOVWF	_RANGE
;Thermorelay.c,610 :: 		S_D_E ();                // Разбиваем
$080D	$118A			BCF	PCLATH, 3
$080E	$2349			CALL	_S_D_E
$080F	$158A			BSF	PCLATH, 3
;Thermorelay.c,611 :: 		Push = 1;
$0810	$3001			MOVLW	1
$0811	$00AE			MOVWF	_Push
;Thermorelay.c,613 :: 		x = 100; // Переменная задаёт число проходов равным 2 с, после чего управление переходит в подпрограмму установки пределов
$0812	$3064			MOVLW	100
$0813	$00AD			MOVWF	_x
;Thermorelay.c,615 :: 		while (Push == 1) {
$0814	$	L_OK_BUTTON_291:
$0814	$1303			BCF	STATUS, RP1
$0815	$1283			BCF	STATUS, RP0
$0816	$082E			MOVF	_Push, 0
$0817	$3A01			XORLW	1
$0818	$1D03			BTFSS	STATUS, Z
$0819	$285B			GOTO	L_OK_BUTTON_292
;Thermorelay.c,616 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$081A	$01AA			CLRF	_T, 1
;Thermorelay.c,618 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем нижний предел температуры, пока кнопка не будет отпущена.
$081B	$118A			BCF	PCLATH, 3
$081C	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$081D	$158A			BSF	PCLATH, 3
;Thermorelay.c,619 :: 		x -= 1; // С каждым проходом вычитаем из Х 1, через 2 с будет 0
$081E	$03AD			DECF	_x, 1
;Thermorelay.c,620 :: 		if (porta.f3 == 1) {delay_ms (5); if (porta.f3 == 1) Push = 2;} // Если кнопка уже отпущена, переходим дальше
$081F	$3000			MOVLW	0
$0820	$1985			BTFSC	PORTA, 3
$0821	$3001			MOVLW	1
$0822	$00F1			MOVWF	STACK_1
$0823	$0871			MOVF	STACK_1, 0
$0824	$3A01			XORLW	1
$0825	$1D03			BTFSS	STATUS, Z
$0826	$2841			GOTO	L_OK_BUTTON_293
$0827	$3007			MOVLW	7
$0828	$00FB			MOVWF	STACK_11
$0829	$30FF			MOVLW	255
$082A	$00FA			MOVWF	STACK_10
$082B	$0BFB			DECFSZ	STACK_11, F
$082C	$282E			GOTO	$+2
$082D	$2831			GOTO	$+4
$082E	$0BFA			DECFSZ	STACK_10, F
$082F	$282E			GOTO	$-1
$0830	$282B			GOTO	$-5
$0831	$3078			MOVLW	120
$0832	$00FA			MOVWF	STACK_10
$0833	$0BFA			DECFSZ	STACK_10, F
$0834	$2833			GOTO	$-1
$0835	$0000			NOP
$0836	$0000			NOP
$0837	$3000			MOVLW	0
$0838	$1985			BTFSC	PORTA, 3
$0839	$3001			MOVLW	1
$083A	$00F1			MOVWF	STACK_1
$083B	$0871			MOVF	STACK_1, 0
$083C	$3A01			XORLW	1
$083D	$1D03			BTFSS	STATUS, Z
$083E	$2841			GOTO	L_OK_BUTTON_294
$083F	$3002			MOVLW	2
$0840	$00AE			MOVWF	_Push
$0841	$	L_OK_BUTTON_294:
$0841	$	L_OK_BUTTON_293:
;Thermorelay.c,621 :: 		if (x == 0) {Temp_Set (); EEPROM_WRITE (0x00, MIN_TEMPERATURE); EEPROM_WRITE (0x01, MAX_TEMPERATURE); return;} // Если прошло 2 с, передаём управление подпрограмме установки пределов температуры
$0841	$082D			MOVF	_x, 0
$0842	$3A00			XORLW	0
$0843	$1D03			BTFSS	STATUS, Z
$0844	$2858			GOTO	L_OK_BUTTON_295
$0845	$118A			BCF	PCLATH, 3
$0846	$239B			CALL	_Temp_Set
$0847	$158A			BSF	PCLATH, 3
$0848	$01C1			CLRF	FARG_EEprom_write+0, 1
$0849	$082F			MOVF	_Min_Temperature, 0
$084A	$00C2			MOVWF	FARG_EEprom_write+1
$084B	$118A			BCF	PCLATH, 3
$084C	$2593			CALL	_EEprom_write
$084D	$158A			BSF	PCLATH, 3
$084E	$3001			MOVLW	1
$084F	$1303			BCF	STATUS, RP1
$0850	$1283			BCF	STATUS, RP0
$0851	$00C1			MOVWF	FARG_EEprom_write+0
$0852	$0831			MOVF	_Max_Temperature, 0
$0853	$00C2			MOVWF	FARG_EEprom_write+1
$0854	$118A			BCF	PCLATH, 3
$0855	$2593			CALL	_EEprom_write
$0856	$158A			BSF	PCLATH, 3
$0857	$0008			RETURN
$0858	$	L_OK_BUTTON_295:
;Thermorelay.c,623 :: 		}
$0858	$1703			BSF	STATUS, RP1
$0859	$1683			BSF	STATUS, RP0
$085A	$2814			GOTO	L_OK_BUTTON_291
$085B	$	L_OK_BUTTON_292:
;Thermorelay.c,625 :: 		while (Push == 2) {
$085B	$	L_OK_BUTTON_296:
$085B	$1703			BSF	STATUS, RP1
$085C	$1683			BSF	STATUS, RP0
$085D	$1303			BCF	STATUS, RP1
$085E	$1283			BCF	STATUS, RP0
$085F	$082E			MOVF	_Push, 0
$0860	$3A02			XORLW	2
$0861	$1D03			BTFSS	STATUS, Z
$0862	$288A			GOTO	L_OK_BUTTON_297
;Thermorelay.c,626 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$0863	$01AA			CLRF	_T, 1
;Thermorelay.c,627 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем нижний предел температуры, пока кнопка не будет нажата.
$0864	$118A			BCF	PCLATH, 3
$0865	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$0866	$158A			BSF	PCLATH, 3
;Thermorelay.c,628 :: 		if (porta.f3 == 0) {delay_ms (5); if (porta.f3 == 0) Push = 3;} // Если кнопка снова нажата, переходим дальше
$0867	$3000			MOVLW	0
$0868	$1985			BTFSC	PORTA, 3
$0869	$3001			MOVLW	1
$086A	$00F1			MOVWF	STACK_1
$086B	$0871			MOVF	STACK_1, 0
$086C	$3A00			XORLW	0
$086D	$1D03			BTFSS	STATUS, Z
$086E	$2889			GOTO	L_OK_BUTTON_298
$086F	$3007			MOVLW	7
$0870	$00FB			MOVWF	STACK_11
$0871	$30FF			MOVLW	255
$0872	$00FA			MOVWF	STACK_10
$0873	$0BFB			DECFSZ	STACK_11, F
$0874	$2876			GOTO	$+2
$0875	$2879			GOTO	$+4
$0876	$0BFA			DECFSZ	STACK_10, F
$0877	$2876			GOTO	$-1
$0878	$2873			GOTO	$-5
$0879	$3078			MOVLW	120
$087A	$00FA			MOVWF	STACK_10
$087B	$0BFA			DECFSZ	STACK_10, F
$087C	$287B			GOTO	$-1
$087D	$0000			NOP
$087E	$0000			NOP
$087F	$3000			MOVLW	0
$0880	$1985			BTFSC	PORTA, 3
$0881	$3001			MOVLW	1
$0882	$00F1			MOVWF	STACK_1
$0883	$0871			MOVF	STACK_1, 0
$0884	$3A00			XORLW	0
$0885	$1D03			BTFSS	STATUS, Z
$0886	$2889			GOTO	L_OK_BUTTON_299
$0887	$3003			MOVLW	3
$0888	$00AE			MOVWF	_Push
$0889	$	L_OK_BUTTON_299:
$0889	$	L_OK_BUTTON_298:
;Thermorelay.c,629 :: 		}
$0889	$285B			GOTO	L_OK_BUTTON_296
$088A	$	L_OK_BUTTON_297:
;Thermorelay.c,631 :: 		tis = 10;     // Выбираем альтернативное отображение на тысячном индикаторе
$088A	$300A			MOVLW	10
$088B	$00A7			MOVWF	_tis
;Thermorelay.c,632 :: 		x_tis = 254; // Отображаем Верхнюю палочку на тысячном индикаторе
$088C	$30FE			MOVLW	254
$088D	$00A8			MOVWF	_x_tis
;Thermorelay.c,633 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна Макс. температуре.
$088E	$0831			MOVF	_Max_Temperature, 0
$088F	$00AC			MOVWF	_RANGE
;Thermorelay.c,634 :: 		S_D_E ();                // Разбиваем
$0890	$118A			BCF	PCLATH, 3
$0891	$2349			CALL	_S_D_E
$0892	$158A			BSF	PCLATH, 3
;Thermorelay.c,636 :: 		while (Push == 3) {
$0893	$	L_OK_BUTTON_300:
$0893	$082E			MOVF	_Push, 0
$0894	$3A03			XORLW	3
$0895	$1D03			BTFSS	STATUS, Z
$0896	$28BE			GOTO	L_OK_BUTTON_301
;Thermorelay.c,637 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$0897	$01AA			CLRF	_T, 1
;Thermorelay.c,638 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем Верхний предел температуры, пока кнопка не будет отпущена.
$0898	$118A			BCF	PCLATH, 3
$0899	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$089A	$158A			BSF	PCLATH, 3
;Thermorelay.c,639 :: 		if (porta.f3 == 1) {delay_ms (5); if (porta.f3 == 1) Push = 4;} // Если кнопка отпущена, переходим дальше
$089B	$3000			MOVLW	0
$089C	$1985			BTFSC	PORTA, 3
$089D	$3001			MOVLW	1
$089E	$00F1			MOVWF	STACK_1
$089F	$0871			MOVF	STACK_1, 0
$08A0	$3A01			XORLW	1
$08A1	$1D03			BTFSS	STATUS, Z
$08A2	$28BD			GOTO	L_OK_BUTTON_302
$08A3	$3007			MOVLW	7
$08A4	$00FB			MOVWF	STACK_11
$08A5	$30FF			MOVLW	255
$08A6	$00FA			MOVWF	STACK_10
$08A7	$0BFB			DECFSZ	STACK_11, F
$08A8	$28AA			GOTO	$+2
$08A9	$28AD			GOTO	$+4
$08AA	$0BFA			DECFSZ	STACK_10, F
$08AB	$28AA			GOTO	$-1
$08AC	$28A7			GOTO	$-5
$08AD	$3078			MOVLW	120
$08AE	$00FA			MOVWF	STACK_10
$08AF	$0BFA			DECFSZ	STACK_10, F
$08B0	$28AF			GOTO	$-1
$08B1	$0000			NOP
$08B2	$0000			NOP
$08B3	$3000			MOVLW	0
$08B4	$1985			BTFSC	PORTA, 3
$08B5	$3001			MOVLW	1
$08B6	$00F1			MOVWF	STACK_1
$08B7	$0871			MOVF	STACK_1, 0
$08B8	$3A01			XORLW	1
$08B9	$1D03			BTFSS	STATUS, Z
$08BA	$28BD			GOTO	L_OK_BUTTON_303
$08BB	$3004			MOVLW	4
$08BC	$00AE			MOVWF	_Push
$08BD	$	L_OK_BUTTON_303:
$08BD	$	L_OK_BUTTON_302:
;Thermorelay.c,640 :: 		}
$08BD	$2893			GOTO	L_OK_BUTTON_300
$08BE	$	L_OK_BUTTON_301:
;Thermorelay.c,642 :: 		while (Push == 4) {
$08BE	$	L_OK_BUTTON_304:
$08BE	$082E			MOVF	_Push, 0
$08BF	$3A04			XORLW	4
$08C0	$1D03			BTFSS	STATUS, Z
$08C1	$28E9			GOTO	L_OK_BUTTON_305
;Thermorelay.c,643 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$08C2	$01AA			CLRF	_T, 1
;Thermorelay.c,644 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем Верхний предел температуры, пока кнопка не будет нажата.
$08C3	$118A			BCF	PCLATH, 3
$08C4	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$08C5	$158A			BSF	PCLATH, 3
;Thermorelay.c,645 :: 		if (porta.f3 == 0) {delay_ms (5); if (porta.f3 == 0) Push = 5;} // Если кнопка нажата, переходим дальше
$08C6	$3000			MOVLW	0
$08C7	$1985			BTFSC	PORTA, 3
$08C8	$3001			MOVLW	1
$08C9	$00F1			MOVWF	STACK_1
$08CA	$0871			MOVF	STACK_1, 0
$08CB	$3A00			XORLW	0
$08CC	$1D03			BTFSS	STATUS, Z
$08CD	$28E8			GOTO	L_OK_BUTTON_306
$08CE	$3007			MOVLW	7
$08CF	$00FB			MOVWF	STACK_11
$08D0	$30FF			MOVLW	255
$08D1	$00FA			MOVWF	STACK_10
$08D2	$0BFB			DECFSZ	STACK_11, F
$08D3	$28D5			GOTO	$+2
$08D4	$28D8			GOTO	$+4
$08D5	$0BFA			DECFSZ	STACK_10, F
$08D6	$28D5			GOTO	$-1
$08D7	$28D2			GOTO	$-5
$08D8	$3078			MOVLW	120
$08D9	$00FA			MOVWF	STACK_10
$08DA	$0BFA			DECFSZ	STACK_10, F
$08DB	$28DA			GOTO	$-1
$08DC	$0000			NOP
$08DD	$0000			NOP
$08DE	$3000			MOVLW	0
$08DF	$1985			BTFSC	PORTA, 3
$08E0	$3001			MOVLW	1
$08E1	$00F1			MOVWF	STACK_1
$08E2	$0871			MOVF	STACK_1, 0
$08E3	$3A00			XORLW	0
$08E4	$1D03			BTFSS	STATUS, Z
$08E5	$28E8			GOTO	L_OK_BUTTON_307
$08E6	$3005			MOVLW	5
$08E7	$00AE			MOVWF	_Push
$08E8	$	L_OK_BUTTON_307:
$08E8	$	L_OK_BUTTON_306:
;Thermorelay.c,647 :: 		}
$08E8	$28BE			GOTO	L_OK_BUTTON_304
$08E9	$	L_OK_BUTTON_305:
;Thermorelay.c,648 :: 		}
$08E9	$0008			RETURN
$0667	$	_Init_Main:
;Thermorelay.c,19 :: 		void Init_Main() {         // Подпрограмма инициализации
;Thermorelay.c,21 :: 		PORTB = 255;            // Для индикаторов с общим анодом, чтобы не горели при старте
$0667	$30FF			MOVLW	255
$0668	$1303			BCF	STATUS, RP1
$0669	$1283			BCF	STATUS, RP0
$066A	$0086			MOVWF	PORTB
;Thermorelay.c,22 :: 		TRISB = 0b00000000;     // PORTB - выход
$066B	$1683			BSF	STATUS, RP0
$066C	$0186			CLRF	TRISB, 1
;Thermorelay.c,23 :: 		PORTA = 0;
$066D	$1283			BCF	STATUS, RP0
$066E	$0185			CLRF	PORTA, 1
;Thermorelay.c,24 :: 		ADCON1 = 0b00000111;    // Все входы ADC - цифровые,
$066F	$3007			MOVLW	7
$0670	$1683			BSF	STATUS, RP0
$0671	$009F			MOVWF	ADCON1
;Thermorelay.c,25 :: 		TRISA = 0b11001110;     // RA0 - выход, RA1-RA3 - входы, RA4, RA5 - выход,
$0672	$30CE			MOVLW	206
$0673	$0085			MOVWF	TRISA
;Thermorelay.c,26 :: 		PORTC = 0;              // Все выводы RC = 0
$0674	$1283			BCF	STATUS, RP0
$0675	$0187			CLRF	PORTC, 1
;Thermorelay.c,27 :: 		TRISC = 0b00000000;     // RC0 - RC7 выходы
$0676	$1683			BSF	STATUS, RP0
$0677	$0187			CLRF	TRISC, 1
;Thermorelay.c,30 :: 		}
$0678	$0008			RETURN
$0679	$	_EEprom_read:
$0679	$1303			BCF	STATUS, RP1
$067A	$1283			BCF	STATUS, RP0
$067B	$0839			MOVF	FARG_EEprom_read+0, 0
$067C	$1703			BSF	STATUS, RP1
$067D	$008D			MOVWF	EEADR
$067E	$1683			BSF	STATUS, RP0
$067F	$138C			BCF	EECON1, 7
$0680	$140C			BSF	EECON1, 0
$0681	$1283			BCF	STATUS, RP0
$0682	$080C			MOVF	EEDATA, 0
$0683	$00F0			MOVWF	STACK_0
$0684	$0008			RETURN
$08EA	$	_Zastavka:
;Thermorelay.c,346 :: 		void Zastavka () {  // Подпрограмма заставки при старте устройства
;Thermorelay.c,347 :: 		MScopy.F7 = 0;
$08EA	$1303			BCF	STATUS, RP1
$08EB	$1283			BCF	STATUS, RP0
$08EC	$13A5			BCF	_MScopy, 7
;Thermorelay.c,348 :: 		i = 1;       // Начинаем с 1 перебирать варианты индикации.
$08ED	$3001			MOVLW	1
$08EE	$00AB			MOVWF	_i
;Thermorelay.c,350 :: 		edin = 10;   // 10 строка в подпрограмме индикации отведена под заставку.
$08EF	$300A			MOVLW	10
$08F0	$00A0			MOVWF	_edin
;Thermorelay.c,351 :: 		des = 10;
$08F1	$300A			MOVLW	10
$08F2	$00A3			MOVWF	_des
;Thermorelay.c,352 :: 		sot = 10;
$08F3	$300A			MOVLW	10
$08F4	$00A4			MOVWF	_sot
;Thermorelay.c,353 :: 		tis = 10;
$08F5	$300A			MOVLW	10
$08F6	$00A7			MOVWF	_tis
;Thermorelay.c,356 :: 		do {
$08F7	$	L_Zastavka_190:
;Thermorelay.c,358 :: 		if (i == 1) {x = 20; x_edin = 163; x_des = 255; x_sot = 255; x_tis = 255;}        // x = 50 время индикации < 1 сек.
$08F7	$082B			MOVF	_i, 0
$08F8	$3A01			XORLW	1
$08F9	$1D03			BTFSS	STATUS, Z
$08FA	$2906			GOTO	L_Zastavka_192
$08FB	$3014			MOVLW	20
$08FC	$00AD			MOVWF	_x
$08FD	$30A3			MOVLW	163
$08FE	$00A2			MOVWF	_x_edin
$08FF	$30FF			MOVLW	255
$0900	$00A9			MOVWF	_x_des
$0901	$30FF			MOVLW	255
$0902	$00A6			MOVWF	_x_sot
$0903	$30FF			MOVLW	255
$0904	$00A8			MOVWF	_x_tis
$0905	$29A0			GOTO	L_Zastavka_193
$0906	$	L_Zastavka_192:
;Thermorelay.c,359 :: 		else if (i == 2) {x = 20; x_edin = 163; x_des = 156; x_sot = 255; x_tis = 255;}
$0906	$082B			MOVF	_i, 0
$0907	$3A02			XORLW	2
$0908	$1D03			BTFSS	STATUS, Z
$0909	$2915			GOTO	L_Zastavka_194
$090A	$3014			MOVLW	20
$090B	$00AD			MOVWF	_x
$090C	$30A3			MOVLW	163
$090D	$00A2			MOVWF	_x_edin
$090E	$309C			MOVLW	156
$090F	$00A9			MOVWF	_x_des
$0910	$30FF			MOVLW	255
$0911	$00A6			MOVWF	_x_sot
$0912	$30FF			MOVLW	255
$0913	$00A8			MOVWF	_x_tis
$0914	$29A0			GOTO	L_Zastavka_195
$0915	$	L_Zastavka_194:
;Thermorelay.c,360 :: 		else if (i == 3) {x = 20; x_edin = 163; x_des = 156; x_sot = 163; x_tis = 255;}
$0915	$082B			MOVF	_i, 0
$0916	$3A03			XORLW	3
$0917	$1D03			BTFSS	STATUS, Z
$0918	$2924			GOTO	L_Zastavka_196
$0919	$3014			MOVLW	20
$091A	$00AD			MOVWF	_x
$091B	$30A3			MOVLW	163
$091C	$00A2			MOVWF	_x_edin
$091D	$309C			MOVLW	156
$091E	$00A9			MOVWF	_x_des
$091F	$30A3			MOVLW	163
$0920	$00A6			MOVWF	_x_sot
$0921	$30FF			MOVLW	255
$0922	$00A8			MOVWF	_x_tis
$0923	$29A0			GOTO	L_Zastavka_197
$0924	$	L_Zastavka_196:
;Thermorelay.c,361 :: 		else if (i == 4) {x = 20; x_edin = 163; x_des = 156; x_sot = 163; x_tis = 156;}
$0924	$082B			MOVF	_i, 0
$0925	$3A04			XORLW	4
$0926	$1D03			BTFSS	STATUS, Z
$0927	$2933			GOTO	L_Zastavka_198
$0928	$3014			MOVLW	20
$0929	$00AD			MOVWF	_x
$092A	$30A3			MOVLW	163
$092B	$00A2			MOVWF	_x_edin
$092C	$309C			MOVLW	156
$092D	$00A9			MOVWF	_x_des
$092E	$30A3			MOVLW	163
$092F	$00A6			MOVWF	_x_sot
$0930	$309C			MOVLW	156
$0931	$00A8			MOVWF	_x_tis
$0932	$29A0			GOTO	L_Zastavka_199
$0933	$	L_Zastavka_198:
;Thermorelay.c,363 :: 		else if (i == 5) {x = 20; x_edin = 128; x_des = 156; x_sot = 163; x_tis = 156;}
$0933	$082B			MOVF	_i, 0
$0934	$3A05			XORLW	5
$0935	$1D03			BTFSS	STATUS, Z
$0936	$2942			GOTO	L_Zastavka_200
$0937	$3014			MOVLW	20
$0938	$00AD			MOVWF	_x
$0939	$3080			MOVLW	128
$093A	$00A2			MOVWF	_x_edin
$093B	$309C			MOVLW	156
$093C	$00A9			MOVWF	_x_des
$093D	$30A3			MOVLW	163
$093E	$00A6			MOVWF	_x_sot
$093F	$309C			MOVLW	156
$0940	$00A8			MOVWF	_x_tis
$0941	$29A0			GOTO	L_Zastavka_201
$0942	$	L_Zastavka_200:
;Thermorelay.c,364 :: 		else if (i == 6) {x = 20; x_edin = 128; x_des = 128; x_sot = 163; x_tis = 156;}
$0942	$082B			MOVF	_i, 0
$0943	$3A06			XORLW	6
$0944	$1D03			BTFSS	STATUS, Z
$0945	$2951			GOTO	L_Zastavka_202
$0946	$3014			MOVLW	20
$0947	$00AD			MOVWF	_x
$0948	$3080			MOVLW	128
$0949	$00A2			MOVWF	_x_edin
$094A	$3080			MOVLW	128
$094B	$00A9			MOVWF	_x_des
$094C	$30A3			MOVLW	163
$094D	$00A6			MOVWF	_x_sot
$094E	$309C			MOVLW	156
$094F	$00A8			MOVWF	_x_tis
$0950	$29A0			GOTO	L_Zastavka_203
$0951	$	L_Zastavka_202:
;Thermorelay.c,365 :: 		else if (i == 7) {x = 20; x_edin = 128; x_des = 128; x_sot = 128; x_tis = 156;}
$0951	$082B			MOVF	_i, 0
$0952	$3A07			XORLW	7
$0953	$1D03			BTFSS	STATUS, Z
$0954	$2960			GOTO	L_Zastavka_204
$0955	$3014			MOVLW	20
$0956	$00AD			MOVWF	_x
$0957	$3080			MOVLW	128
$0958	$00A2			MOVWF	_x_edin
$0959	$3080			MOVLW	128
$095A	$00A9			MOVWF	_x_des
$095B	$3080			MOVLW	128
$095C	$00A6			MOVWF	_x_sot
$095D	$309C			MOVLW	156
$095E	$00A8			MOVWF	_x_tis
$095F	$29A0			GOTO	L_Zastavka_205
$0960	$	L_Zastavka_204:
;Thermorelay.c,366 :: 		else if (i == 8) {x = 20; x_edin = 128; x_des = 128; x_sot = 128; x_tis = 128;}
$0960	$082B			MOVF	_i, 0
$0961	$3A08			XORLW	8
$0962	$1D03			BTFSS	STATUS, Z
$0963	$296F			GOTO	L_Zastavka_206
$0964	$3014			MOVLW	20
$0965	$00AD			MOVWF	_x
$0966	$3080			MOVLW	128
$0967	$00A2			MOVWF	_x_edin
$0968	$3080			MOVLW	128
$0969	$00A9			MOVWF	_x_des
$096A	$3080			MOVLW	128
$096B	$00A6			MOVWF	_x_sot
$096C	$3080			MOVLW	128
$096D	$00A8			MOVWF	_x_tis
$096E	$29A0			GOTO	L_Zastavka_207
$096F	$	L_Zastavka_206:
;Thermorelay.c,368 :: 		else if (i == 9) {x = 20; x_edin = 0; x_des = 128; x_sot = 128; x_tis = 128;}
$096F	$082B			MOVF	_i, 0
$0970	$3A09			XORLW	9
$0971	$1D03			BTFSS	STATUS, Z
$0972	$297D			GOTO	L_Zastavka_208
$0973	$3014			MOVLW	20
$0974	$00AD			MOVWF	_x
$0975	$01A2			CLRF	_x_edin, 1
$0976	$3080			MOVLW	128
$0977	$00A9			MOVWF	_x_des
$0978	$3080			MOVLW	128
$0979	$00A6			MOVWF	_x_sot
$097A	$3080			MOVLW	128
$097B	$00A8			MOVWF	_x_tis
$097C	$29A0			GOTO	L_Zastavka_209
$097D	$	L_Zastavka_208:
;Thermorelay.c,369 :: 		else if (i == 10) {x = 20; x_edin = 0; x_des = 0; x_sot = 128; x_tis = 128;}
$097D	$082B			MOVF	_i, 0
$097E	$3A0A			XORLW	10
$097F	$1D03			BTFSS	STATUS, Z
$0980	$298A			GOTO	L_Zastavka_210
$0981	$3014			MOVLW	20
$0982	$00AD			MOVWF	_x
$0983	$01A2			CLRF	_x_edin, 1
$0984	$01A9			CLRF	_x_des, 1
$0985	$3080			MOVLW	128
$0986	$00A6			MOVWF	_x_sot
$0987	$3080			MOVLW	128
$0988	$00A8			MOVWF	_x_tis
$0989	$29A0			GOTO	L_Zastavka_211
$098A	$	L_Zastavka_210:
;Thermorelay.c,370 :: 		else if (i == 11) {x = 20; x_edin = 0; x_des = 0; x_sot = 0; x_tis = 128;}
$098A	$082B			MOVF	_i, 0
$098B	$3A0B			XORLW	11
$098C	$1D03			BTFSS	STATUS, Z
$098D	$2996			GOTO	L_Zastavka_212
$098E	$3014			MOVLW	20
$098F	$00AD			MOVWF	_x
$0990	$01A2			CLRF	_x_edin, 1
$0991	$01A9			CLRF	_x_des, 1
$0992	$01A6			CLRF	_x_sot, 1
$0993	$3080			MOVLW	128
$0994	$00A8			MOVWF	_x_tis
$0995	$29A0			GOTO	L_Zastavka_213
$0996	$	L_Zastavka_212:
;Thermorelay.c,371 :: 		else if (i == 12) {x = 20; x_edin = 0; x_des = 0; x_sot = 0; x_tis = 0;}
$0996	$082B			MOVF	_i, 0
$0997	$3A0C			XORLW	12
$0998	$1D03			BTFSS	STATUS, Z
$0999	$29A0			GOTO	L_Zastavka_214
$099A	$3014			MOVLW	20
$099B	$00AD			MOVWF	_x
$099C	$01A2			CLRF	_x_edin, 1
$099D	$01A9			CLRF	_x_des, 1
$099E	$01A6			CLRF	_x_sot, 1
$099F	$01A8			CLRF	_x_tis, 1
$09A0	$	L_Zastavka_214:
$09A0	$	L_Zastavka_213:
$09A0	$	L_Zastavka_211:
$09A0	$	L_Zastavka_209:
$09A0	$	L_Zastavka_207:
$09A0	$	L_Zastavka_205:
$09A0	$	L_Zastavka_203:
$09A0	$	L_Zastavka_201:
$09A0	$	L_Zastavka_199:
$09A0	$	L_Zastavka_197:
$09A0	$	L_Zastavka_195:
$09A0	$	L_Zastavka_193:
;Thermorelay.c,374 :: 		INDICATION_TEMPERATURE ();    // Вызов подпрограммы индикации
$09A0	$118A			BCF	PCLATH, 3
$09A1	$238E			CALL	_INDICATION_TEMPERATURE
$09A2	$158A			BSF	PCLATH, 3
;Thermorelay.c,376 :: 		i+=1;                         // Увеличиваем число проходов
$09A3	$0A2B			INCF	_i, 0
$09A4	$00F1			MOVWF	STACK_1
$09A5	$0871			MOVF	STACK_1, 0
$09A6	$00AB			MOVWF	_i
;Thermorelay.c,378 :: 		while (i<13);                 // Цикл закончинтся, когда i станет = 13
$09A7	$300D			MOVLW	13
$09A8	$0271			SUBWF	STACK_1, 0
$09A9	$1C03			BTFSS	STATUS, C
$09AA	$28F7			GOTO	L_Zastavka_190
$09AB	$	L_Zastavka_191:
;Thermorelay.c,389 :: 		tis = 10;     // Выбираем альтернативное отображение на тысячном индикаторе
$09AB	$300A			MOVLW	10
$09AC	$00A7			MOVWF	_tis
;Thermorelay.c,390 :: 		x_tis = 247; // Отображаем нижнюю палочку на тысячном индикаторе
$09AD	$30F7			MOVLW	247
$09AE	$00A8			MOVWF	_x_tis
;Thermorelay.c,391 :: 		RANGE = MIN_TEMPERATURE; // Переменная для разбиения числа равна мин. температуре.
$09AF	$082F			MOVF	_Min_Temperature, 0
$09B0	$00AC			MOVWF	_RANGE
;Thermorelay.c,392 :: 		S_D_E ();                // Разбиваем
$09B1	$118A			BCF	PCLATH, 3
$09B2	$2349			CALL	_S_D_E
$09B3	$158A			BSF	PCLATH, 3
;Thermorelay.c,395 :: 		x = 100;
$09B4	$3064			MOVLW	100
$09B5	$00AD			MOVWF	_x
;Thermorelay.c,396 :: 		do {
$09B6	$	L_Zastavka_215:
;Thermorelay.c,397 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$09B6	$01AA			CLRF	_T, 1
;Thermorelay.c,399 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем нижний предел температуры
$09B7	$118A			BCF	PCLATH, 3
$09B8	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$09B9	$158A			BSF	PCLATH, 3
;Thermorelay.c,400 :: 		x -= 1; // С каждым проходом вычитаем из Х 1, через 2 с будет 0
$09BA	$032D			DECF	_x, 0
$09BB	$00F1			MOVWF	STACK_1
$09BC	$0871			MOVF	STACK_1, 0
$09BD	$00AD			MOVWF	_x
;Thermorelay.c,402 :: 		while (x > 0);
$09BE	$0871			MOVF	STACK_1, 0
$09BF	$3C00			SUBLW	0
$09C0	$1C03			BTFSS	STATUS, C
$09C1	$29B6			GOTO	L_Zastavka_215
$09C2	$	L_Zastavka_216:
;Thermorelay.c,404 :: 		tis = 10;     // Выбираем альтернативное отображение на тысячном индикаторе
$09C2	$300A			MOVLW	10
$09C3	$00A7			MOVWF	_tis
;Thermorelay.c,405 :: 		x_tis = 254; // Отображаем Верхнюю палочку на тысячном индикаторе
$09C4	$30FE			MOVLW	254
$09C5	$00A8			MOVWF	_x_tis
;Thermorelay.c,406 :: 		RANGE = MAX_TEMPERATURE; // Переменная для разбиения числа равна Макс. температуре.
$09C6	$0831			MOVF	_Max_Temperature, 0
$09C7	$00AC			MOVWF	_RANGE
;Thermorelay.c,407 :: 		S_D_E ();                // Разбиваем
$09C8	$118A			BCF	PCLATH, 3
$09C9	$2349			CALL	_S_D_E
$09CA	$158A			BSF	PCLATH, 3
;Thermorelay.c,410 :: 		x = 100 ;
$09CB	$3064			MOVLW	100
$09CC	$00AD			MOVWF	_x
;Thermorelay.c,411 :: 		do {
$09CD	$	L_Zastavka_217:
;Thermorelay.c,412 :: 		T = 0; // Обнуляем, чтобы цифры не мигали 2 раза в сек
$09CD	$01AA			CLRF	_T, 1
;Thermorelay.c,414 :: 		INDICATION_TEMPERATURE_RANGES (); // Показываем Верхний предел температуры
$09CE	$118A			BCF	PCLATH, 3
$09CF	$2306			CALL	_INDICATION_TEMPERATURE_RANGES
$09D0	$158A			BSF	PCLATH, 3
;Thermorelay.c,415 :: 		x-= 1;
$09D1	$032D			DECF	_x, 0
$09D2	$00F1			MOVWF	STACK_1
$09D3	$0871			MOVF	STACK_1, 0
$09D4	$00AD			MOVWF	_x
;Thermorelay.c,417 :: 		while (x > 0);
$09D5	$0871			MOVF	STACK_1, 0
$09D6	$3C00			SUBLW	0
$09D7	$1C03			BTFSS	STATUS, C
$09D8	$29CD			GOTO	L_Zastavka_217
$09D9	$	L_Zastavka_218:
;Thermorelay.c,419 :: 		}
$09D9	$0008			RETURN
$0685	$	_DS_present:
;Thermorelay.c,724 :: 		void DS_present () {
;Thermorelay.c,725 :: 		DS_presense = Ow_Reset(&PORTC,3);
$0685	$3007			MOVLW	PORTC
$0686	$1303			BCF	STATUS, RP1
$0687	$1283			BCF	STATUS, RP0
$0688	$00BA			MOVWF	FARG_Ow_Reset+0
$0689	$3003			MOVLW	3
$068A	$00BB			MOVWF	FARG_Ow_Reset+1
$068B	$25AD			CALL	_Ow_Reset
$068C	$0870			MOVF	STACK_0, 0
$068D	$00B2			MOVWF	_DS_presense
;Thermorelay.c,726 :: 		x=10;             // Индикация на 200 мс
$068E	$300A			MOVLW	10
$068F	$00AD			MOVWF	_x
;Thermorelay.c,727 :: 		INDICATION_TEMPERATURE();
$0690	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,728 :: 		if (DS_presense == 0) return;
$0691	$0832			MOVF	_DS_presense, 0
$0692	$3A00			XORLW	0
$0693	$1D03			BTFSS	STATUS, Z
$0694	$2E96			GOTO	L_DS_present_323
$0695	$0008			RETURN
$0696	$	L_DS_present_323:
;Thermorelay.c,730 :: 		do {
$0696	$	L_DS_present_325:
;Thermorelay.c,732 :: 		DS_presense = Ow_Reset(&PORTC,3);
$0696	$3007			MOVLW	PORTC
$0697	$00BA			MOVWF	FARG_Ow_Reset+0
$0698	$3003			MOVLW	3
$0699	$00BB			MOVWF	FARG_Ow_Reset+1
$069A	$25AD			CALL	_Ow_Reset
$069B	$0870			MOVF	STACK_0, 0
$069C	$00B2			MOVWF	_DS_presense
;Thermorelay.c,733 :: 		porta.f5 = 0;
$069D	$1285			BCF	PORTA, 5
;Thermorelay.c,734 :: 		MScopy.F7 = 0;
$069E	$13A5			BCF	_MScopy, 7
;Thermorelay.c,736 :: 		edin = 10;
$069F	$300A			MOVLW	10
$06A0	$00A0			MOVWF	_edin
;Thermorelay.c,737 :: 		des = 10;
$06A1	$300A			MOVLW	10
$06A2	$00A3			MOVWF	_des
;Thermorelay.c,738 :: 		sot = 10;
$06A3	$300A			MOVLW	10
$06A4	$00A4			MOVWF	_sot
;Thermorelay.c,739 :: 		tis = 10;
$06A5	$300A			MOVLW	10
$06A6	$00A7			MOVWF	_tis
;Thermorelay.c,741 :: 		x_edin = 255;
$06A7	$30FF			MOVLW	255
$06A8	$00A2			MOVWF	_x_edin
;Thermorelay.c,742 :: 		x_des =  163;     // o
$06A9	$30A3			MOVLW	163
$06AA	$00A9			MOVWF	_x_des
;Thermorelay.c,743 :: 		x_sot =  171;     // n
$06AB	$30AB			MOVLW	171
$06AC	$00A6			MOVWF	_x_sot
;Thermorelay.c,744 :: 		x_tis =  255;
$06AD	$30FF			MOVLW	255
$06AE	$00A8			MOVWF	_x_tis
;Thermorelay.c,746 :: 		x = 50;         // 1 sec
$06AF	$3032			MOVLW	50
$06B0	$00AD			MOVWF	_x
;Thermorelay.c,748 :: 		INDICATION_TEMPERATURE();
$06B1	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,750 :: 		x_edin = 146;     //    S
$06B2	$3092			MOVLW	146
$06B3	$00A2			MOVWF	_x_edin
;Thermorelay.c,751 :: 		x_des =  171;     //   n
$06B4	$30AB			MOVLW	171
$06B5	$00A9			MOVWF	_x_des
;Thermorelay.c,752 :: 		x_sot =  134;     //  E
$06B6	$3086			MOVLW	134
$06B7	$00A6			MOVWF	_x_sot
;Thermorelay.c,753 :: 		x_tis =  146;     // S
$06B8	$3092			MOVLW	146
$06B9	$00A8			MOVWF	_x_tis
;Thermorelay.c,755 :: 		x = 20 ;        // 1 sec
$06BA	$3014			MOVLW	20
$06BB	$00AD			MOVWF	_x
;Thermorelay.c,757 :: 		INDICATION_TEMPERATURE();
$06BC	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,759 :: 		x_edin = 163;    // o
$06BD	$30A3			MOVLW	163
$06BE	$00A2			MOVWF	_x_edin
;Thermorelay.c,760 :: 		x_des =  146;    // S
$06BF	$3092			MOVLW	146
$06C0	$00A9			MOVWF	_x_des
;Thermorelay.c,761 :: 		x_sot =  171;    // n
$06C1	$30AB			MOVLW	171
$06C2	$00A6			MOVWF	_x_sot
;Thermorelay.c,762 :: 		x_tis =  134;    // E
$06C3	$3086			MOVLW	134
$06C4	$00A8			MOVWF	_x_tis
;Thermorelay.c,764 :: 		x = 20  ;       // 1 sec
$06C5	$3014			MOVLW	20
$06C6	$00AD			MOVWF	_x
;Thermorelay.c,766 :: 		INDICATION_TEMPERATURE();
$06C7	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,768 :: 		x_edin = 175;  // r
$06C8	$30AF			MOVLW	175
$06C9	$00A2			MOVWF	_x_edin
;Thermorelay.c,769 :: 		x_des =  163;  // o
$06CA	$30A3			MOVLW	163
$06CB	$00A9			MOVWF	_x_des
;Thermorelay.c,770 :: 		x_sot =  146;  // S
$06CC	$3092			MOVLW	146
$06CD	$00A6			MOVWF	_x_sot
;Thermorelay.c,771 :: 		x_tis =  171;  // n
$06CE	$30AB			MOVLW	171
$06CF	$00A8			MOVWF	_x_tis
;Thermorelay.c,773 :: 		x = 20  ;       //
$06D0	$3014			MOVLW	20
$06D1	$00AD			MOVWF	_x
;Thermorelay.c,775 :: 		INDICATION_TEMPERATURE();
$06D2	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,778 :: 		while (DS_presense == 1);
$06D3	$0832			MOVF	_DS_presense, 0
$06D4	$3A01			XORLW	1
$06D5	$1903			BTFSC	STATUS, Z
$06D6	$2E96			GOTO	L_DS_present_325
$06D7	$	L_DS_present_326:
$06D7	$	L_DS_present_324:
;Thermorelay.c,779 :: 		}
$06D7	$0008			RETURN
$06D8	$	_Zapros_TSensor:
;Thermorelay.c,650 :: 		void Zapros_TSensor() {  // Подпрограмма запроса температуры для DS18B20
;Thermorelay.c,652 :: 		Ow_Reset(&PORTC,3);        // Сигнал сброса по шине Onewire
$06D8	$3007			MOVLW	PORTC
$06D9	$1303			BCF	STATUS, RP1
$06DA	$1283			BCF	STATUS, RP0
$06DB	$00BA			MOVWF	FARG_Ow_Reset+0
$06DC	$3003			MOVLW	3
$06DD	$00BB			MOVWF	FARG_Ow_Reset+1
$06DE	$25AD			CALL	_Ow_Reset
;Thermorelay.c,654 :: 		x=10;             // Индикация на 200 мс
$06DF	$300A			MOVLW	10
$06E0	$00AD			MOVWF	_x
;Thermorelay.c,655 :: 		INDICATION_TEMPERATURE();
$06E1	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,656 :: 		Ow_Write(&PORTC,3,0xCC);   // Выдача команды SKIP_ROM
$06E2	$3007			MOVLW	PORTC
$06E3	$00BA			MOVWF	FARG_Ow_Write+0
$06E4	$3003			MOVLW	3
$06E5	$00BB			MOVWF	FARG_Ow_Write+1
$06E6	$30CC			MOVLW	204
$06E7	$00BC			MOVWF	FARG_Ow_Write+2
$06E8	$25DC			CALL	_Ow_Write
;Thermorelay.c,657 :: 		x=10;             // Индикация на 200 мс
$06E9	$300A			MOVLW	10
$06EA	$00AD			MOVWF	_x
;Thermorelay.c,658 :: 		INDICATION_TEMPERATURE();
$06EB	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,659 :: 		Ow_Write(&PORTC,3,0x44);   // Выдача команды CONVERT_T
$06EC	$3007			MOVLW	PORTC
$06ED	$00BA			MOVWF	FARG_Ow_Write+0
$06EE	$3003			MOVLW	3
$06EF	$00BB			MOVWF	FARG_Ow_Write+1
$06F0	$3044			MOVLW	68
$06F1	$00BC			MOVWF	FARG_Ow_Write+2
$06F2	$25DC			CALL	_Ow_Write
;Thermorelay.c,660 :: 		x=10;             // Индикация на 200 мс
$06F3	$300A			MOVLW	10
$06F4	$00AD			MOVWF	_x
;Thermorelay.c,661 :: 		INDICATION_TEMPERATURE();
$06F5	$238E			CALL	_INDICATION_TEMPERATURE
;Thermorelay.c,662 :: 		}
$06F6	$0008			RETURN
$09DA	$	_Otvet_TSensor:
;Thermorelay.c,664 :: 		void Otvet_TSensor() {   // Подпрограмма получения ответа от DS18B20. Ответ не обработан. Имеем 2 байта.
;Thermorelay.c,666 :: 		Ow_Reset(&PORTC,3);
$09DA	$3007			MOVLW	PORTC
$09DB	$1303			BCF	STATUS, RP1
$09DC	$1283			BCF	STATUS, RP0
$09DD	$00BA			MOVWF	FARG_Ow_Reset+0
$09DE	$3003			MOVLW	3
$09DF	$00BB			MOVWF	FARG_Ow_Reset+1
$09E0	$118A			BCF	PCLATH, 3
$09E1	$25AD			CALL	_Ow_Reset
$09E2	$158A			BSF	PCLATH, 3
;Thermorelay.c,668 :: 		x=10;             // Индикация на 200 мс
$09E3	$300A			MOVLW	10
$09E4	$00AD			MOVWF	_x
;Thermorelay.c,669 :: 		INDICATION_TEMPERATURE();
$09E5	$118A			BCF	PCLATH, 3
$09E6	$238E			CALL	_INDICATION_TEMPERATURE
$09E7	$158A			BSF	PCLATH, 3
;Thermorelay.c,671 :: 		Ow_Write(&PORTC,3,0xCC);   // Выдача команды SKIP_ROM
$09E8	$3007			MOVLW	PORTC
$09E9	$00BA			MOVWF	FARG_Ow_Write+0
$09EA	$3003			MOVLW	3
$09EB	$00BB			MOVWF	FARG_Ow_Write+1
$09EC	$30CC			MOVLW	204
$09ED	$00BC			MOVWF	FARG_Ow_Write+2
$09EE	$118A			BCF	PCLATH, 3
$09EF	$25DC			CALL	_Ow_Write
$09F0	$158A			BSF	PCLATH, 3
;Thermorelay.c,673 :: 		x=10;             // Индикация на 200 мс
$09F1	$300A			MOVLW	10
$09F2	$00AD			MOVWF	_x
;Thermorelay.c,674 :: 		INDICATION_TEMPERATURE();
$09F3	$118A			BCF	PCLATH, 3
$09F4	$238E			CALL	_INDICATION_TEMPERATURE
$09F5	$158A			BSF	PCLATH, 3
;Thermorelay.c,676 :: 		Ow_Write(&PORTC,3,0xBE);   // Выдача команды READ_SCRATCHPAD
$09F6	$3007			MOVLW	PORTC
$09F7	$00BA			MOVWF	FARG_Ow_Write+0
$09F8	$3003			MOVLW	3
$09F9	$00BB			MOVWF	FARG_Ow_Write+1
$09FA	$30BE			MOVLW	190
$09FB	$00BC			MOVWF	FARG_Ow_Write+2
$09FC	$118A			BCF	PCLATH, 3
$09FD	$25DC			CALL	_Ow_Write
$09FE	$158A			BSF	PCLATH, 3
;Thermorelay.c,678 :: 		x=20;             // Индикация на 400 мс
$09FF	$3014			MOVLW	20
$0A00	$00AD			MOVWF	_x
;Thermorelay.c,680 :: 		INDICATION_TEMPERATURE();
$0A01	$118A			BCF	PCLATH, 3
$0A02	$238E			CALL	_INDICATION_TEMPERATURE
$0A03	$158A			BSF	PCLATH, 3
;Thermorelay.c,682 :: 		LSB = Ow_Read(&PORTC,3);  // Получить LSB температуры
$0A04	$3007			MOVLW	PORTC
$0A05	$00BA			MOVWF	FARG_Ow_Read+0
$0A06	$3003			MOVLW	3
$0A07	$00BB			MOVWF	FARG_Ow_Read+1
$0A08	$118A			BCF	PCLATH, 3
$0A09	$2623			CALL	_Ow_Read
$0A0A	$158A			BSF	PCLATH, 3
$0A0B	$0870			MOVF	STACK_0, 0
$0A0C	$00B3			MOVWF	_LSB
;Thermorelay.c,683 :: 		MSB = Ow_Read(&PORTC,3);  // Получить MSB температуры
$0A0D	$3007			MOVLW	PORTC
$0A0E	$00BA			MOVWF	FARG_Ow_Read+0
$0A0F	$3003			MOVLW	3
$0A10	$00BB			MOVWF	FARG_Ow_Read+1
$0A11	$118A			BCF	PCLATH, 3
$0A12	$2623			CALL	_Ow_Read
$0A13	$158A			BSF	PCLATH, 3
$0A14	$0870			MOVF	STACK_0, 0
$0A15	$00B4			MOVWF	_MSB
;Thermorelay.c,684 :: 		}
$0A16	$0008			RETURN
$0A17	$	_Obrabotka:
;Thermorelay.c,257 :: 		void Obrabotka () {   // Подпрограмма обработки ответа датчика температуры
;Thermorelay.c,262 :: 		LS = LSB << 4;
$0A17	$1303			BCF	STATUS, RP1
$0A18	$1283			BCF	STATUS, RP0
$0A19	$0833			MOVF	_LSB, 0
$0A1A	$00F1			MOVWF	STACK_1
$0A1B	$0DF1			RLF	STACK_1, 1
$0A1C	$1071			BCF	STACK_1, 0
$0A1D	$0DF1			RLF	STACK_1, 1
$0A1E	$1071			BCF	STACK_1, 0
$0A1F	$0DF1			RLF	STACK_1, 1
$0A20	$1071			BCF	STACK_1, 0
$0A21	$0DF1			RLF	STACK_1, 1
$0A22	$1071			BCF	STACK_1, 0
$0A23	$0871			MOVF	STACK_1, 0
$0A24	$00B5			MOVWF	_LS
;Thermorelay.c,263 :: 		LS >>= 4;       // теперь регистр хранит 4 бита десятых температуры
$0A25	$0871			MOVF	STACK_1, 0
$0A26	$00B5			MOVWF	_LS
$0A27	$0CB5			RRF	_LS, 1
$0A28	$13B5			BCF	_LS, 7
$0A29	$0CB5			RRF	_LS, 1
$0A2A	$13B5			BCF	_LS, 7
$0A2B	$0CB5			RRF	_LS, 1
$0A2C	$13B5			BCF	_LS, 7
$0A2D	$0CB5			RRF	_LS, 1
$0A2E	$13B5			BCF	_LS, 7
;Thermorelay.c,265 :: 		MS = MSB << 4;
$0A2F	$0834			MOVF	_MSB, 0
$0A30	$00F2			MOVWF	STACK_2
$0A31	$0DF2			RLF	STACK_2, 1
$0A32	$1072			BCF	STACK_2, 0
$0A33	$0DF2			RLF	STACK_2, 1
$0A34	$1072			BCF	STACK_2, 0
$0A35	$0DF2			RLF	STACK_2, 1
$0A36	$1072			BCF	STACK_2, 0
$0A37	$0DF2			RLF	STACK_2, 1
$0A38	$1072			BCF	STACK_2, 0
$0A39	$0872			MOVF	STACK_2, 0
$0A3A	$00B6			MOVWF	_MS
;Thermorelay.c,266 :: 		LSB >>= 4;
$0A3B	$0833			MOVF	_LSB, 0
$0A3C	$00F0			MOVWF	STACK_0
$0A3D	$0CF0			RRF	STACK_0, 1
$0A3E	$13F0			BCF	STACK_0, 7
$0A3F	$0CF0			RRF	STACK_0, 1
$0A40	$13F0			BCF	STACK_0, 7
$0A41	$0CF0			RRF	STACK_0, 1
$0A42	$13F0			BCF	STACK_0, 7
$0A43	$0CF0			RRF	STACK_0, 1
$0A44	$13F0			BCF	STACK_0, 7
$0A45	$0870			MOVF	STACK_0, 0
$0A46	$00B3			MOVWF	_LSB
;Thermorelay.c,267 :: 		MS = MS + LSB;  // теперь регистр хранит байт целых температуры
$0A47	$0872			MOVF	STACK_2, 0
$0A48	$07F0			ADDWF	STACK_0, 1
$0A49	$0870			MOVF	STACK_0, 0
$0A4A	$00B6			MOVWF	_MS
;Thermorelay.c,268 :: 		MScopy = MS;       // при индикации проверим этот оригинал на минус
$0A4B	$0870			MOVF	STACK_0, 0
$0A4C	$00A5			MOVWF	_MScopy
;Thermorelay.c,271 :: 		switch (LS) {           //расшифровываем 4 бита десятых
$0A4D	$2B2B			GOTO	L_Obrabotka_131
;Thermorelay.c,272 :: 		case 0     : if (MS.F7 == 0) edin = 0; else edin = 9; break;
$0A4E	$	L_Obrabotka_133:
$0A4E	$3000			MOVLW	0
$0A4F	$1BB6			BTFSC	_MS, 7
$0A50	$3001			MOVLW	1
$0A51	$00F1			MOVWF	STACK_1
$0A52	$0871			MOVF	STACK_1, 0
$0A53	$3A00			XORLW	0
$0A54	$1D03			BTFSS	STATUS, Z
$0A55	$2A58			GOTO	L_Obrabotka_134
$0A56	$01A0			CLRF	_edin, 1
$0A57	$2A5A			GOTO	L_Obrabotka_135
$0A58	$	L_Obrabotka_134:
$0A58	$3009			MOVLW	9
$0A59	$00A0			MOVWF	_edin
$0A5A	$	L_Obrabotka_135:
$0A5A	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,273 :: 		case 0b0001: if (MS.F7 == 0) edin = 0; else edin = 9; break;
$0A5B	$	L_Obrabotka_136:
$0A5B	$3000			MOVLW	0
$0A5C	$1BB6			BTFSC	_MS, 7
$0A5D	$3001			MOVLW	1
$0A5E	$00F1			MOVWF	STACK_1
$0A5F	$0871			MOVF	STACK_1, 0
$0A60	$3A00			XORLW	0
$0A61	$1D03			BTFSS	STATUS, Z
$0A62	$2A65			GOTO	L_Obrabotka_137
$0A63	$01A0			CLRF	_edin, 1
$0A64	$2A67			GOTO	L_Obrabotka_138
$0A65	$	L_Obrabotka_137:
$0A65	$3009			MOVLW	9
$0A66	$00A0			MOVWF	_edin
$0A67	$	L_Obrabotka_138:
$0A67	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,274 :: 		case 0b0010: if (MS.F7 == 0) edin = 1; else edin = 8; break;
$0A68	$	L_Obrabotka_139:
$0A68	$3000			MOVLW	0
$0A69	$1BB6			BTFSC	_MS, 7
$0A6A	$3001			MOVLW	1
$0A6B	$00F1			MOVWF	STACK_1
$0A6C	$0871			MOVF	STACK_1, 0
$0A6D	$3A00			XORLW	0
$0A6E	$1D03			BTFSS	STATUS, Z
$0A6F	$2A73			GOTO	L_Obrabotka_140
$0A70	$3001			MOVLW	1
$0A71	$00A0			MOVWF	_edin
$0A72	$2A75			GOTO	L_Obrabotka_141
$0A73	$	L_Obrabotka_140:
$0A73	$3008			MOVLW	8
$0A74	$00A0			MOVWF	_edin
$0A75	$	L_Obrabotka_141:
$0A75	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,275 :: 		case 0b0011: if (MS.F7 == 0) edin = 1; else edin = 8; break;
$0A76	$	L_Obrabotka_142:
$0A76	$3000			MOVLW	0
$0A77	$1BB6			BTFSC	_MS, 7
$0A78	$3001			MOVLW	1
$0A79	$00F1			MOVWF	STACK_1
$0A7A	$0871			MOVF	STACK_1, 0
$0A7B	$3A00			XORLW	0
$0A7C	$1D03			BTFSS	STATUS, Z
$0A7D	$2A81			GOTO	L_Obrabotka_143
$0A7E	$3001			MOVLW	1
$0A7F	$00A0			MOVWF	_edin
$0A80	$2A83			GOTO	L_Obrabotka_144
$0A81	$	L_Obrabotka_143:
$0A81	$3008			MOVLW	8
$0A82	$00A0			MOVWF	_edin
$0A83	$	L_Obrabotka_144:
$0A83	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,276 :: 		case 0b0100: if (MS.F7 == 0) edin = 2; else edin = 7; break;
$0A84	$	L_Obrabotka_145:
$0A84	$3000			MOVLW	0
$0A85	$1BB6			BTFSC	_MS, 7
$0A86	$3001			MOVLW	1
$0A87	$00F1			MOVWF	STACK_1
$0A88	$0871			MOVF	STACK_1, 0
$0A89	$3A00			XORLW	0
$0A8A	$1D03			BTFSS	STATUS, Z
$0A8B	$2A8F			GOTO	L_Obrabotka_146
$0A8C	$3002			MOVLW	2
$0A8D	$00A0			MOVWF	_edin
$0A8E	$2A91			GOTO	L_Obrabotka_147
$0A8F	$	L_Obrabotka_146:
$0A8F	$3007			MOVLW	7
$0A90	$00A0			MOVWF	_edin
$0A91	$	L_Obrabotka_147:
$0A91	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,277 :: 		case 0b0101: if (MS.F7 == 0) edin = 3; else edin = 6; break;
$0A92	$	L_Obrabotka_148:
$0A92	$3000			MOVLW	0
$0A93	$1BB6			BTFSC	_MS, 7
$0A94	$3001			MOVLW	1
$0A95	$00F1			MOVWF	STACK_1
$0A96	$0871			MOVF	STACK_1, 0
$0A97	$3A00			XORLW	0
$0A98	$1D03			BTFSS	STATUS, Z
$0A99	$2A9D			GOTO	L_Obrabotka_149
$0A9A	$3003			MOVLW	3
$0A9B	$00A0			MOVWF	_edin
$0A9C	$2A9F			GOTO	L_Obrabotka_150
$0A9D	$	L_Obrabotka_149:
$0A9D	$3006			MOVLW	6
$0A9E	$00A0			MOVWF	_edin
$0A9F	$	L_Obrabotka_150:
$0A9F	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,278 :: 		case 0b0110: if (MS.F7 == 0) edin = 3; else edin = 6; break;
$0AA0	$	L_Obrabotka_151:
$0AA0	$3000			MOVLW	0
$0AA1	$1BB6			BTFSC	_MS, 7
$0AA2	$3001			MOVLW	1
$0AA3	$00F1			MOVWF	STACK_1
$0AA4	$0871			MOVF	STACK_1, 0
$0AA5	$3A00			XORLW	0
$0AA6	$1D03			BTFSS	STATUS, Z
$0AA7	$2AAB			GOTO	L_Obrabotka_152
$0AA8	$3003			MOVLW	3
$0AA9	$00A0			MOVWF	_edin
$0AAA	$2AAD			GOTO	L_Obrabotka_153
$0AAB	$	L_Obrabotka_152:
$0AAB	$3006			MOVLW	6
$0AAC	$00A0			MOVWF	_edin
$0AAD	$	L_Obrabotka_153:
$0AAD	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,279 :: 		case 0b0111: if (MS.F7 == 0) edin = 4; else edin = 5; break;
$0AAE	$	L_Obrabotka_154:
$0AAE	$3000			MOVLW	0
$0AAF	$1BB6			BTFSC	_MS, 7
$0AB0	$3001			MOVLW	1
$0AB1	$00F1			MOVWF	STACK_1
$0AB2	$0871			MOVF	STACK_1, 0
$0AB3	$3A00			XORLW	0
$0AB4	$1D03			BTFSS	STATUS, Z
$0AB5	$2AB9			GOTO	L_Obrabotka_155
$0AB6	$3004			MOVLW	4
$0AB7	$00A0			MOVWF	_edin
$0AB8	$2ABB			GOTO	L_Obrabotka_156
$0AB9	$	L_Obrabotka_155:
$0AB9	$3005			MOVLW	5
$0ABA	$00A0			MOVWF	_edin
$0ABB	$	L_Obrabotka_156:
$0ABB	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,280 :: 		case 0b1000: if (MS.F7 == 0) edin = 5; else edin = 5; break;
$0ABC	$	L_Obrabotka_157:
$0ABC	$3000			MOVLW	0
$0ABD	$1BB6			BTFSC	_MS, 7
$0ABE	$3001			MOVLW	1
$0ABF	$00F1			MOVWF	STACK_1
$0AC0	$0871			MOVF	STACK_1, 0
$0AC1	$3A00			XORLW	0
$0AC2	$1D03			BTFSS	STATUS, Z
$0AC3	$2AC7			GOTO	L_Obrabotka_158
$0AC4	$3005			MOVLW	5
$0AC5	$00A0			MOVWF	_edin
$0AC6	$2AC9			GOTO	L_Obrabotka_159
$0AC7	$	L_Obrabotka_158:
$0AC7	$3005			MOVLW	5
$0AC8	$00A0			MOVWF	_edin
$0AC9	$	L_Obrabotka_159:
$0AC9	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,281 :: 		case 0b1001: if (MS.F7 == 0) edin = 5; else edin = 4; break;
$0ACA	$	L_Obrabotka_160:
$0ACA	$3000			MOVLW	0
$0ACB	$1BB6			BTFSC	_MS, 7
$0ACC	$3001			MOVLW	1
$0ACD	$00F1			MOVWF	STACK_1
$0ACE	$0871			MOVF	STACK_1, 0
$0ACF	$3A00			XORLW	0
$0AD0	$1D03			BTFSS	STATUS, Z
$0AD1	$2AD5			GOTO	L_Obrabotka_161
$0AD2	$3005			MOVLW	5
$0AD3	$00A0			MOVWF	_edin
$0AD4	$2AD7			GOTO	L_Obrabotka_162
$0AD5	$	L_Obrabotka_161:
$0AD5	$3004			MOVLW	4
$0AD6	$00A0			MOVWF	_edin
$0AD7	$	L_Obrabotka_162:
$0AD7	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,282 :: 		case 0b1010: if (MS.F7 == 0) edin = 6; else edin = 3; break;
$0AD8	$	L_Obrabotka_163:
$0AD8	$3000			MOVLW	0
$0AD9	$1BB6			BTFSC	_MS, 7
$0ADA	$3001			MOVLW	1
$0ADB	$00F1			MOVWF	STACK_1
$0ADC	$0871			MOVF	STACK_1, 0
$0ADD	$3A00			XORLW	0
$0ADE	$1D03			BTFSS	STATUS, Z
$0ADF	$2AE3			GOTO	L_Obrabotka_164
$0AE0	$3006			MOVLW	6
$0AE1	$00A0			MOVWF	_edin
$0AE2	$2AE5			GOTO	L_Obrabotka_165
$0AE3	$	L_Obrabotka_164:
$0AE3	$3003			MOVLW	3
$0AE4	$00A0			MOVWF	_edin
$0AE5	$	L_Obrabotka_165:
$0AE5	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,283 :: 		case 0b1011: if (MS.F7 == 0) edin = 6; else edin = 3; break;
$0AE6	$	L_Obrabotka_166:
$0AE6	$3000			MOVLW	0
$0AE7	$1BB6			BTFSC	_MS, 7
$0AE8	$3001			MOVLW	1
$0AE9	$00F1			MOVWF	STACK_1
$0AEA	$0871			MOVF	STACK_1, 0
$0AEB	$3A00			XORLW	0
$0AEC	$1D03			BTFSS	STATUS, Z
$0AED	$2AF1			GOTO	L_Obrabotka_167
$0AEE	$3006			MOVLW	6
$0AEF	$00A0			MOVWF	_edin
$0AF0	$2AF3			GOTO	L_Obrabotka_168
$0AF1	$	L_Obrabotka_167:
$0AF1	$3003			MOVLW	3
$0AF2	$00A0			MOVWF	_edin
$0AF3	$	L_Obrabotka_168:
$0AF3	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,284 :: 		case 0b1100: if (MS.F7 == 0) edin = 7; else edin = 2; break;
$0AF4	$	L_Obrabotka_169:
$0AF4	$3000			MOVLW	0
$0AF5	$1BB6			BTFSC	_MS, 7
$0AF6	$3001			MOVLW	1
$0AF7	$00F1			MOVWF	STACK_1
$0AF8	$0871			MOVF	STACK_1, 0
$0AF9	$3A00			XORLW	0
$0AFA	$1D03			BTFSS	STATUS, Z
$0AFB	$2AFF			GOTO	L_Obrabotka_170
$0AFC	$3007			MOVLW	7
$0AFD	$00A0			MOVWF	_edin
$0AFE	$2B01			GOTO	L_Obrabotka_171
$0AFF	$	L_Obrabotka_170:
$0AFF	$3002			MOVLW	2
$0B00	$00A0			MOVWF	_edin
$0B01	$	L_Obrabotka_171:
$0B01	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,285 :: 		case 0b1101: if (MS.F7 == 0) edin = 8; else edin = 1; break;
$0B02	$	L_Obrabotka_172:
$0B02	$3000			MOVLW	0
$0B03	$1BB6			BTFSC	_MS, 7
$0B04	$3001			MOVLW	1
$0B05	$00F1			MOVWF	STACK_1
$0B06	$0871			MOVF	STACK_1, 0
$0B07	$3A00			XORLW	0
$0B08	$1D03			BTFSS	STATUS, Z
$0B09	$2B0D			GOTO	L_Obrabotka_173
$0B0A	$3008			MOVLW	8
$0B0B	$00A0			MOVWF	_edin
$0B0C	$2B0F			GOTO	L_Obrabotka_174
$0B0D	$	L_Obrabotka_173:
$0B0D	$3001			MOVLW	1
$0B0E	$00A0			MOVWF	_edin
$0B0F	$	L_Obrabotka_174:
$0B0F	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,286 :: 		case 0b1110: if (MS.F7 == 0) edin = 8; else edin = 1; break;
$0B10	$	L_Obrabotka_175:
$0B10	$3000			MOVLW	0
$0B11	$1BB6			BTFSC	_MS, 7
$0B12	$3001			MOVLW	1
$0B13	$00F1			MOVWF	STACK_1
$0B14	$0871			MOVF	STACK_1, 0
$0B15	$3A00			XORLW	0
$0B16	$1D03			BTFSS	STATUS, Z
$0B17	$2B1B			GOTO	L_Obrabotka_176
$0B18	$3008			MOVLW	8
$0B19	$00A0			MOVWF	_edin
$0B1A	$2B1D			GOTO	L_Obrabotka_177
$0B1B	$	L_Obrabotka_176:
$0B1B	$3001			MOVLW	1
$0B1C	$00A0			MOVWF	_edin
$0B1D	$	L_Obrabotka_177:
$0B1D	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,287 :: 		case 0b1111: if (MS.F7 == 0) edin = 9; else edin = 0; break;
$0B1E	$	L_Obrabotka_178:
$0B1E	$3000			MOVLW	0
$0B1F	$1BB6			BTFSC	_MS, 7
$0B20	$3001			MOVLW	1
$0B21	$00F1			MOVWF	STACK_1
$0B22	$0871			MOVF	STACK_1, 0
$0B23	$3A00			XORLW	0
$0B24	$1D03			BTFSS	STATUS, Z
$0B25	$2B29			GOTO	L_Obrabotka_179
$0B26	$3009			MOVLW	9
$0B27	$00A0			MOVWF	_edin
$0B28	$2B2A			GOTO	L_Obrabotka_180
$0B29	$	L_Obrabotka_179:
$0B29	$01A0			CLRF	_edin, 1
$0B2A	$	L_Obrabotka_180:
$0B2A	$2B6B			GOTO	L_Obrabotka_132
;Thermorelay.c,288 :: 		}
$0B2B	$	L_Obrabotka_131:
$0B2B	$0835			MOVF	_LS, 0
$0B2C	$3A00			XORLW	0
$0B2D	$1903			BTFSC	STATUS, Z
$0B2E	$2A4E			GOTO	L_Obrabotka_133
$0B2F	$0835			MOVF	_LS, 0
$0B30	$3A01			XORLW	1
$0B31	$1903			BTFSC	STATUS, Z
$0B32	$2A5B			GOTO	L_Obrabotka_136
$0B33	$0835			MOVF	_LS, 0
$0B34	$3A02			XORLW	2
$0B35	$1903			BTFSC	STATUS, Z
$0B36	$2A68			GOTO	L_Obrabotka_139
$0B37	$0835			MOVF	_LS, 0
$0B38	$3A03			XORLW	3
$0B39	$1903			BTFSC	STATUS, Z
$0B3A	$2A76			GOTO	L_Obrabotka_142
$0B3B	$0835			MOVF	_LS, 0
$0B3C	$3A04			XORLW	4
$0B3D	$1903			BTFSC	STATUS, Z
$0B3E	$2A84			GOTO	L_Obrabotka_145
$0B3F	$0835			MOVF	_LS, 0
$0B40	$3A05			XORLW	5
$0B41	$1903			BTFSC	STATUS, Z
$0B42	$2A92			GOTO	L_Obrabotka_148
$0B43	$0835			MOVF	_LS, 0
$0B44	$3A06			XORLW	6
$0B45	$1903			BTFSC	STATUS, Z
$0B46	$2AA0			GOTO	L_Obrabotka_151
$0B47	$0835			MOVF	_LS, 0
$0B48	$3A07			XORLW	7
$0B49	$1903			BTFSC	STATUS, Z
$0B4A	$2AAE			GOTO	L_Obrabotka_154
$0B4B	$0835			MOVF	_LS, 0
$0B4C	$3A08			XORLW	8
$0B4D	$1903			BTFSC	STATUS, Z
$0B4E	$2ABC			GOTO	L_Obrabotka_157
$0B4F	$0835			MOVF	_LS, 0
$0B50	$3A09			XORLW	9
$0B51	$1903			BTFSC	STATUS, Z
$0B52	$2ACA			GOTO	L_Obrabotka_160
$0B53	$0835			MOVF	_LS, 0
$0B54	$3A0A			XORLW	10
$0B55	$1903			BTFSC	STATUS, Z
$0B56	$2AD8			GOTO	L_Obrabotka_163
$0B57	$0835			MOVF	_LS, 0
$0B58	$3A0B			XORLW	11
$0B59	$1903			BTFSC	STATUS, Z
$0B5A	$2AE6			GOTO	L_Obrabotka_166
$0B5B	$0835			MOVF	_LS, 0
$0B5C	$3A0C			XORLW	12
$0B5D	$1903			BTFSC	STATUS, Z
$0B5E	$2AF4			GOTO	L_Obrabotka_169
$0B5F	$0835			MOVF	_LS, 0
$0B60	$3A0D			XORLW	13
$0B61	$1903			BTFSC	STATUS, Z
$0B62	$2B02			GOTO	L_Obrabotka_172
$0B63	$0835			MOVF	_LS, 0
$0B64	$3A0E			XORLW	14
$0B65	$1903			BTFSC	STATUS, Z
$0B66	$2B10			GOTO	L_Obrabotka_175
$0B67	$0835			MOVF	_LS, 0
$0B68	$3A0F			XORLW	15
$0B69	$1903			BTFSC	STATUS, Z
$0B6A	$2B1E			GOTO	L_Obrabotka_178
$0B6B	$	L_Obrabotka_132:
;Thermorelay.c,289 :: 		CURRENT_TEMPERATURE = MS;  // Текущая температура будет всегда храниться здесь после каждого измерения
$0B6B	$0836			MOVF	_MS, 0
$0B6C	$00B7			MOVWF	_CURRENT_TEMPERATURE
;Thermorelay.c,291 :: 		if (MS.F7 == 1) {MS = ~ MS; MS +=1;} // обработка целой части, инверсия, если надо (мы выделяем модуль значения температуры
$0B6D	$3000			MOVLW	0
$0B6E	$1BB6			BTFSC	_MS, 7
$0B6F	$3001			MOVLW	1
$0B70	$00F1			MOVWF	STACK_1
$0B71	$0871			MOVF	STACK_1, 0
$0B72	$3A01			XORLW	1
$0B73	$1D03			BTFSS	STATUS, Z
$0B74	$2B7B			GOTO	L_Obrabotka_181
$0B75	$0936			COMF	_MS, W
$0B76	$00F0			MOVWF	STACK_0
$0B77	$0870			MOVF	STACK_0, 0
$0B78	$00B6			MOVWF	_MS
$0B79	$0A70			INCF	STACK_0, 0
$0B7A	$00B6			MOVWF	_MS
$0B7B	$	L_Obrabotka_181:
;Thermorelay.c,292 :: 		}                                      // для разбиения его на составные для индикации и корректируем + 1)
$0B7B	$0008			RETURN
$0B7C	$	_Relay:
;Thermorelay.c,703 :: 		void Relay () {  // Подпрограмма управления реле на основе сравнения текущей температуры и заданных пределов
;Thermorelay.c,708 :: 		if (MIN_TEMPERATURE <= MAX_TEMPERATURE) { if (MIN_TEMPERATURE == MAX_TEMPERATURE) {porta.f5 = 0; return;} // Отключаем реле
$0B7C	$3080			MOVLW	128
$0B7D	$1303			BCF	STATUS, RP1
$0B7E	$1283			BCF	STATUS, RP0
$0B7F	$0631			XORWF	_Max_Temperature, 0
$0B80	$00F0			MOVWF	STACK_0
$0B81	$3080			MOVLW	128
$0B82	$062F			XORWF	_Min_Temperature, 0
$0B83	$0270			SUBWF	STACK_0, 0
$0B84	$1C03			BTFSS	STATUS, C
$0B85	$2BD9			GOTO	L_Relay_310
$0B86	$082F			MOVF	_Min_Temperature, 0
$0B87	$0631			XORWF	_Max_Temperature, 0
$0B88	$1D03			BTFSS	STATUS, Z
$0B89	$2B8C			GOTO	L_Relay_311
$0B8A	$1285			BCF	PORTA, 5
$0B8B	$0008			RETURN
$0B8C	$	L_Relay_311:
;Thermorelay.c,709 :: 		if (MAX_TEMPERATURE <= CURRENT_TEMPERATURE) {porta.f5 = 0; Zakladka.F0 = 1; return;}// Отключаем реле. Выставляем закладку, при превышении или равенстве MAX предела по температуре
$0B8C	$3080			MOVLW	128
$0B8D	$0637			XORWF	_CURRENT_TEMPERATURE, 0
$0B8E	$00F0			MOVWF	STACK_0
$0B8F	$3080			MOVLW	128
$0B90	$0631			XORWF	_Max_Temperature, 0
$0B91	$0270			SUBWF	STACK_0, 0
$0B92	$1C03			BTFSS	STATUS, C
$0B93	$2B97			GOTO	L_Relay_312
$0B94	$1285			BCF	PORTA, 5
$0B95	$1438			BSF	_Zakladka, 0
$0B96	$0008			RETURN
$0B97	$	L_Relay_312:
;Thermorelay.c,710 :: 		if (CURRENT_TEMPERATURE <= MIN_TEMPERATURE - 1) {porta.f5 = 1; Zakladka.F0 = 0; return;}// Включаем реле. Сбрасываем закладку.
$0B97	$3001			MOVLW	1
$0B98	$022F			SUBWF	_Min_Temperature, 0
$0B99	$00F1			MOVWF	STACK_1
$0B9A	$01F2			CLRF	STACK_1+1
$0B9B	$1C03			BTFSS	STATUS, C
$0B9C	$03F2			DECF	STACK_1+1, 1
$0B9D	$30FF			MOVLW	255
$0B9E	$1FAF			BTFSS	_Min_Temperature, 7
$0B9F	$3000			MOVLW	0
$0BA0	$07F2			ADDWF	STACK_1+1, 1
$0BA1	$3080			MOVLW	128
$0BA2	$0672			XORWF	STACK_1+1, 0
$0BA3	$00F0			MOVWF	STACK_0
$0BA4	$3080			MOVLW	128
$0BA5	$1BB7			BTFSC	_CURRENT_TEMPERATURE, 7
$0BA6	$307F			MOVLW	127
$0BA7	$0270			SUBWF	STACK_0, 0
$0BA8	$1D03			BTFSS	STATUS, Z
$0BA9	$2BAC			GOTO	L_Relay_329
$0BAA	$0837			MOVF	_CURRENT_TEMPERATURE, 0
$0BAB	$0271			SUBWF	STACK_1, 0
$0BAC	$	L_Relay_329:
$0BAC	$1C03			BTFSS	STATUS, C
$0BAD	$2BB1			GOTO	L_Relay_313
$0BAE	$1685			BSF	PORTA, 5
$0BAF	$1038			BCF	_Zakladka, 0
$0BB0	$0008			RETURN
$0BB1	$	L_Relay_313:
;Thermorelay.c,711 :: 		if (MIN_TEMPERATURE - 1 <= CURRENT_TEMPERATURE && CURRENT_TEMPERATURE < MAX_TEMPERATURE && Zakladka.F0 == 0) {porta.f5 = 1; return;} // Включаем реле
$0BB1	$3001			MOVLW	1
$0BB2	$022F			SUBWF	_Min_Temperature, 0
$0BB3	$00F1			MOVWF	STACK_1
$0BB4	$01F2			CLRF	STACK_1+1
$0BB5	$1C03			BTFSS	STATUS, C
$0BB6	$03F2			DECF	STACK_1+1, 1
$0BB7	$30FF			MOVLW	255
$0BB8	$1FAF			BTFSS	_Min_Temperature, 7
$0BB9	$3000			MOVLW	0
$0BBA	$07F2			ADDWF	STACK_1+1, 1
$0BBB	$3080			MOVLW	128
$0BBC	$1BB7			BTFSC	_CURRENT_TEMPERATURE, 7
$0BBD	$307F			MOVLW	127
$0BBE	$00F0			MOVWF	STACK_0
$0BBF	$3080			MOVLW	128
$0BC0	$0672			XORWF	STACK_1+1, 0
$0BC1	$0270			SUBWF	STACK_0, 0
$0BC2	$1D03			BTFSS	STATUS, Z
$0BC3	$2BC6			GOTO	L_Relay_330
$0BC4	$0871			MOVF	STACK_1, 0
$0BC5	$0237			SUBWF	_CURRENT_TEMPERATURE, 0
$0BC6	$	L_Relay_330:
$0BC6	$1C03			BTFSS	STATUS, C
$0BC7	$2BD9			GOTO	L_Relay_316
$0BC8	$3080			MOVLW	128
$0BC9	$0637			XORWF	_CURRENT_TEMPERATURE, 0
$0BCA	$00F0			MOVWF	STACK_0
$0BCB	$3080			MOVLW	128
$0BCC	$0631			XORWF	_Max_Temperature, 0
$0BCD	$0270			SUBWF	STACK_0, 0
$0BCE	$1803			BTFSC	STATUS, C
$0BCF	$2BD9			GOTO	L_Relay_316
$0BD0	$3001			MOVLW	1
$0BD1	$0538			ANDWF	_Zakladka, 0
$0BD2	$00F1			MOVWF	STACK_1
$0BD3	$0871			MOVF	STACK_1, 0
$0BD4	$3A00			XORLW	0
$0BD5	$1D03			BTFSS	STATUS, Z
$0BD6	$2BD9			GOTO	L_Relay_316
$0BD7	$	L1645_ex_L_Relay_316:
$0BD7	$1685			BSF	PORTA, 5
$0BD8	$0008			RETURN
$0BD9	$	L_Relay_316:
;Thermorelay.c,712 :: 		}
$0BD9	$	L_Relay_310:
;Thermorelay.c,713 :: 		if (MIN_TEMPERATURE > MAX_TEMPERATURE) {
$0BD9	$3080			MOVLW	128
$0BDA	$0631			XORWF	_Max_Temperature, 0
$0BDB	$00F0			MOVWF	STACK_0
$0BDC	$3080			MOVLW	128
$0BDD	$062F			XORWF	_Min_Temperature, 0
$0BDE	$0270			SUBWF	STACK_0, 0
$0BDF	$1803			BTFSC	STATUS, C
$0BE0	$2C2E			GOTO	L_Relay_317
;Thermorelay.c,714 :: 		if (MAX_TEMPERATURE - 1 >= CURRENT_TEMPERATURE) {porta.f5 = 0; Zakladka.F0 = 1; return;}// Отключаем реле. Выставляем закладку, при превышении или равенстве MAX предела по температуре
$0BE1	$3001			MOVLW	1
$0BE2	$0231			SUBWF	_Max_Temperature, 0
$0BE3	$00F1			MOVWF	STACK_1
$0BE4	$01F2			CLRF	STACK_1+1
$0BE5	$1C03			BTFSS	STATUS, C
$0BE6	$03F2			DECF	STACK_1+1, 1
$0BE7	$30FF			MOVLW	255
$0BE8	$1FB1			BTFSS	_Max_Temperature, 7
$0BE9	$3000			MOVLW	0
$0BEA	$07F2			ADDWF	STACK_1+1, 1
$0BEB	$3080			MOVLW	128
$0BEC	$0672			XORWF	STACK_1+1, 0
$0BED	$00F0			MOVWF	STACK_0
$0BEE	$3080			MOVLW	128
$0BEF	$1BB7			BTFSC	_CURRENT_TEMPERATURE, 7
$0BF0	$307F			MOVLW	127
$0BF1	$0270			SUBWF	STACK_0, 0
$0BF2	$1D03			BTFSS	STATUS, Z
$0BF3	$2BF6			GOTO	L_Relay_331
$0BF4	$0837			MOVF	_CURRENT_TEMPERATURE, 0
$0BF5	$0271			SUBWF	STACK_1, 0
$0BF6	$	L_Relay_331:
$0BF6	$1C03			BTFSS	STATUS, C
$0BF7	$2BFB			GOTO	L_Relay_318
$0BF8	$1285			BCF	PORTA, 5
$0BF9	$1438			BSF	_Zakladka, 0
$0BFA	$0008			RETURN
$0BFB	$	L_Relay_318:
;Thermorelay.c,715 :: 		if (CURRENT_TEMPERATURE >= MIN_TEMPERATURE ) {porta.f5 = 1; Zakladka.F0 = 0; return;}// Включаем реле. Сбрасываем закладку.
$0BFB	$3080			MOVLW	128
$0BFC	$0637			XORWF	_CURRENT_TEMPERATURE, 0
$0BFD	$00F0			MOVWF	STACK_0
$0BFE	$3080			MOVLW	128
$0BFF	$062F			XORWF	_Min_Temperature, 0
$0C00	$0270			SUBWF	STACK_0, 0
$0C01	$1C03			BTFSS	STATUS, C
$0C02	$2C06			GOTO	L_Relay_319
$0C03	$1685			BSF	PORTA, 5
$0C04	$1038			BCF	_Zakladka, 0
$0C05	$0008			RETURN
$0C06	$	L_Relay_319:
;Thermorelay.c,716 :: 		if (MIN_TEMPERATURE >= CURRENT_TEMPERATURE && CURRENT_TEMPERATURE > MAX_TEMPERATURE - 1 && Zakladka.F0 == 0) {porta.f5 = 1; return;} // Включаем реле
$0C06	$3080			MOVLW	128
$0C07	$062F			XORWF	_Min_Temperature, 0
$0C08	$00F0			MOVWF	STACK_0
$0C09	$3080			MOVLW	128
$0C0A	$0637			XORWF	_CURRENT_TEMPERATURE, 0
$0C0B	$0270			SUBWF	STACK_0, 0
$0C0C	$1C03			BTFSS	STATUS, C
$0C0D	$2C2E			GOTO	L_Relay_322
$0C0E	$3001			MOVLW	1
$0C0F	$0231			SUBWF	_Max_Temperature, 0
$0C10	$00F1			MOVWF	STACK_1
$0C11	$01F2			CLRF	STACK_1+1
$0C12	$1C03			BTFSS	STATUS, C
$0C13	$03F2			DECF	STACK_1+1, 1
$0C14	$30FF			MOVLW	255
$0C15	$1FB1			BTFSS	_Max_Temperature, 7
$0C16	$3000			MOVLW	0
$0C17	$07F2			ADDWF	STACK_1+1, 1
$0C18	$3080			MOVLW	128
$0C19	$0672			XORWF	STACK_1+1, 0
$0C1A	$00F0			MOVWF	STACK_0
$0C1B	$3080			MOVLW	128
$0C1C	$1BB7			BTFSC	_CURRENT_TEMPERATURE, 7
$0C1D	$307F			MOVLW	127
$0C1E	$0270			SUBWF	STACK_0, 0
$0C1F	$1D03			BTFSS	STATUS, Z
$0C20	$2C23			GOTO	L_Relay_332
$0C21	$0837			MOVF	_CURRENT_TEMPERATURE, 0
$0C22	$0271			SUBWF	STACK_1, 0
$0C23	$	L_Relay_332:
$0C23	$1803			BTFSC	STATUS, C
$0C24	$2C2E			GOTO	L_Relay_322
$0C25	$3001			MOVLW	1
$0C26	$0538			ANDWF	_Zakladka, 0
$0C27	$00F1			MOVWF	STACK_1
$0C28	$0871			MOVF	STACK_1, 0
$0C29	$3A00			XORLW	0
$0C2A	$1D03			BTFSS	STATUS, Z
$0C2B	$2C2E			GOTO	L_Relay_322
$0C2C	$	L1680_ex_L_Relay_322:
$0C2C	$1685			BSF	PORTA, 5
$0C2D	$0008			RETURN
$0C2E	$	L_Relay_322:
;Thermorelay.c,717 :: 		}
$0C2E	$	L_Relay_317:
;Thermorelay.c,722 :: 		}
$0C2E	$0008			RETURN
$06F7	$	_T_S_D:
;Thermorelay.c,31 :: 		void T_S_D() {        // Подпрограмма разбиения целого числа по количеству десяток, сотен, тысяч
;Thermorelay.c,33 :: 		des = 0;
$06F7	$1303			BCF	STATUS, RP1
$06F8	$1283			BCF	STATUS, RP0
$06F9	$01A3			CLRF	_des, 1
;Thermorelay.c,34 :: 		sot = 0;
$06FA	$01A4			CLRF	_sot, 1
;Thermorelay.c,35 :: 		tis = 0;
$06FB	$01A7			CLRF	_tis, 1
;Thermorelay.c,37 :: 		while (MS >= 100) {
$06FC	$	L_T_S_D_0:
$06FC	$3064			MOVLW	100
$06FD	$0236			SUBWF	_MS, 0
$06FE	$1C03			BTFSS	STATUS, C
$06FF	$2F04			GOTO	L_T_S_D_1
;Thermorelay.c,38 :: 		MS = MS - 100;
$0700	$3064			MOVLW	100
$0701	$02B6			SUBWF	_MS, 1
;Thermorelay.c,39 :: 		tis+=1;
$0702	$0AA7			INCF	_tis, 1
;Thermorelay.c,40 :: 		}
$0703	$2EFC			GOTO	L_T_S_D_0
$0704	$	L_T_S_D_1:
;Thermorelay.c,41 :: 		while (MS >= 10) {
$0704	$	L_T_S_D_2:
$0704	$300A			MOVLW	10
$0705	$0236			SUBWF	_MS, 0
$0706	$1C03			BTFSS	STATUS, C
$0707	$2F0C			GOTO	L_T_S_D_3
;Thermorelay.c,42 :: 		MS = MS - 10;
$0708	$300A			MOVLW	10
$0709	$02B6			SUBWF	_MS, 1
;Thermorelay.c,43 :: 		sot+=1;
$070A	$0AA4			INCF	_sot, 1
;Thermorelay.c,44 :: 		}
$070B	$2F04			GOTO	L_T_S_D_2
$070C	$	L_T_S_D_3:
;Thermorelay.c,45 :: 		des = MS;
$070C	$0836			MOVF	_MS, 0
$070D	$00A3			MOVWF	_des
;Thermorelay.c,46 :: 		}
$070E	$0008			RETURN
$0C2F	$	_BUTTONS:
;Thermorelay.c,687 :: 		void BUTTONS () {  // Подпрограмма обработки кнопок
;Thermorelay.c,689 :: 		if (porta.f3 == 0) {  // Проверка кнопки ОК
$0C2F	$3000			MOVLW	0
$0C30	$1303			BCF	STATUS, RP1
$0C31	$1283			BCF	STATUS, RP0
$0C32	$1985			BTFSC	PORTA, 3
$0C33	$3001			MOVLW	1
$0C34	$00F1			MOVWF	STACK_1
$0C35	$0871			MOVF	STACK_1, 0
$0C36	$3A00			XORLW	0
$0C37	$1D03			BTFSS	STATUS, Z
$0C38	$2C65			GOTO	L_BUTTONS_308
;Thermorelay.c,690 :: 		delay_ms (5);
$0C39	$3007			MOVLW	7
$0C3A	$00FB			MOVWF	STACK_11
$0C3B	$30FF			MOVLW	255
$0C3C	$00FA			MOVWF	STACK_10
$0C3D	$0BFB			DECFSZ	STACK_11, F
$0C3E	$2C40			GOTO	$+2
$0C3F	$2C43			GOTO	$+4
$0C40	$0BFA			DECFSZ	STACK_10, F
$0C41	$2C40			GOTO	$-1
$0C42	$2C3D			GOTO	$-5
$0C43	$3078			MOVLW	120
$0C44	$00FA			MOVWF	STACK_10
$0C45	$0BFA			DECFSZ	STACK_10, F
$0C46	$2C45			GOTO	$-1
$0C47	$0000			NOP
$0C48	$0000			NOP
;Thermorelay.c,691 :: 		if (porta.f3 == 0) {OK_BUTTON ();edin = 10;
$0C49	$3000			MOVLW	0
$0C4A	$1985			BTFSC	PORTA, 3
$0C4B	$3001			MOVLW	1
$0C4C	$00F1			MOVWF	STACK_1
$0C4D	$0871			MOVF	STACK_1, 0
$0C4E	$3A00			XORLW	0
$0C4F	$1D03			BTFSS	STATUS, Z
$0C50	$2C65			GOTO	L_BUTTONS_309
$0C51	$2000			CALL	_OK_BUTTON
$0C52	$300A			MOVLW	10
$0C53	$1303			BCF	STATUS, RP1
$0C54	$1283			BCF	STATUS, RP0
$0C55	$00A0			MOVWF	_edin
;Thermorelay.c,692 :: 		des = 10;
$0C56	$300A			MOVLW	10
$0C57	$00A3			MOVWF	_des
;Thermorelay.c,693 :: 		sot = 10;
$0C58	$300A			MOVLW	10
$0C59	$00A4			MOVWF	_sot
;Thermorelay.c,694 :: 		tis = 10;
$0C5A	$300A			MOVLW	10
$0C5B	$00A7			MOVWF	_tis
;Thermorelay.c,696 :: 		x_edin = 191;
$0C5C	$30BF			MOVLW	191
$0C5D	$00A2			MOVWF	_x_edin
;Thermorelay.c,697 :: 		x_des =  191;
$0C5E	$30BF			MOVLW	191
$0C5F	$00A9			MOVWF	_x_des
;Thermorelay.c,698 :: 		x_sot =  191;
$0C60	$30BF			MOVLW	191
$0C61	$00A6			MOVWF	_x_sot
;Thermorelay.c,699 :: 		x_tis =  191; return;}};
$0C62	$30BF			MOVLW	191
$0C63	$00A8			MOVWF	_x_tis
$0C64	$0008			RETURN
$0C65	$	L_BUTTONS_309:
$0C65	$	L_BUTTONS_308:
;Thermorelay.c,701 :: 		}
$0C65	$0008			RETURN
$0C66	$	_main:
;Thermorelay.c,782 :: 		void main() {      // Основная программа, вход
;Thermorelay.c,784 :: 		Init_Main();    // Вызов подпрограммы инициализации
$0C66	$118A			BCF	PCLATH, 3
$0C67	$2667			CALL	_Init_Main
$0C68	$158A			BSF	PCLATH, 3
;Thermorelay.c,786 :: 		MIN_TEMPERATURE = EEPROM_READ (0x00);
$0C69	$1303			BCF	STATUS, RP1
$0C6A	$1283			BCF	STATUS, RP0
$0C6B	$01B9			CLRF	FARG_EEprom_read+0, 1
$0C6C	$118A			BCF	PCLATH, 3
$0C6D	$2679			CALL	_EEprom_read
$0C6E	$158A			BSF	PCLATH, 3
$0C6F	$0870			MOVF	STACK_0, 0
$0C70	$00AF			MOVWF	_Min_Temperature
;Thermorelay.c,787 :: 		MAX_TEMPERATURE = EEPROM_READ (0x01);
$0C71	$3001			MOVLW	1
$0C72	$00B9			MOVWF	FARG_EEprom_read+0
$0C73	$118A			BCF	PCLATH, 3
$0C74	$2679			CALL	_EEprom_read
$0C75	$158A			BSF	PCLATH, 3
$0C76	$0870			MOVF	STACK_0, 0
$0C77	$00B1			MOVWF	_Max_Temperature
;Thermorelay.c,789 :: 		Zastavka();      // Вызов подпрограммы заставки
$0C78	$20EA			CALL	_Zastavka
;Thermorelay.c,791 :: 		edin = 10;
$0C79	$300A			MOVLW	10
$0C7A	$00A0			MOVWF	_edin
;Thermorelay.c,792 :: 		des = 10;
$0C7B	$300A			MOVLW	10
$0C7C	$00A3			MOVWF	_des
;Thermorelay.c,793 :: 		sot = 10;
$0C7D	$300A			MOVLW	10
$0C7E	$00A4			MOVWF	_sot
;Thermorelay.c,794 :: 		tis = 10;
$0C7F	$300A			MOVLW	10
$0C80	$00A7			MOVWF	_tis
;Thermorelay.c,796 :: 		x_edin = 191;
$0C81	$30BF			MOVLW	191
$0C82	$00A2			MOVWF	_x_edin
;Thermorelay.c,797 :: 		x_des =  191;
$0C83	$30BF			MOVLW	191
$0C84	$00A9			MOVWF	_x_des
;Thermorelay.c,798 :: 		x_sot =  191;
$0C85	$30BF			MOVLW	191
$0C86	$00A6			MOVWF	_x_sot
;Thermorelay.c,799 :: 		x_tis =  191;
$0C87	$30BF			MOVLW	191
$0C88	$00A8			MOVWF	_x_tis
;Thermorelay.c,801 :: 		while (1) {
$0C89	$	L_main_327:
;Thermorelay.c,803 :: 		DS_present ();
$0C89	$1303			BCF	STATUS, RP1
$0C8A	$1283			BCF	STATUS, RP0
$0C8B	$118A			BCF	PCLATH, 3
$0C8C	$2685			CALL	_DS_present
$0C8D	$158A			BSF	PCLATH, 3
;Thermorelay.c,806 :: 		Zapros_TSensor();  // Запрос датчику температуры. Ответ может быть получен не раньше 800 мс
$0C8E	$118A			BCF	PCLATH, 3
$0C8F	$26D8			CALL	_Zapros_TSensor
$0C90	$158A			BSF	PCLATH, 3
;Thermorelay.c,808 :: 		x=40;              // Индикация на 800 мс
$0C91	$3028			MOVLW	40
$0C92	$1303			BCF	STATUS, RP1
$0C93	$1283			BCF	STATUS, RP0
$0C94	$00AD			MOVWF	_x
;Thermorelay.c,810 :: 		INDICATION_TEMPERATURE(); // Задержка и индикация температуры
$0C95	$118A			BCF	PCLATH, 3
$0C96	$238E			CALL	_INDICATION_TEMPERATURE
$0C97	$158A			BSF	PCLATH, 3
;Thermorelay.c,812 :: 		Otvet_TSensor();  // Ответ датчика температуры. Не обработанный.
$0C98	$21DA			CALL	_Otvet_TSensor
;Thermorelay.c,814 :: 		Obrabotka ();     // Вызов подпрограммы обработки ответа датчика температуры
$0C99	$2217			CALL	_Obrabotka
;Thermorelay.c,816 :: 		Relay ();         // На основе полученной температуры управляем реле
$0C9A	$237C			CALL	_Relay
;Thermorelay.c,818 :: 		T_S_D();          // Вызов подпрограммы разбиения числа на составные
$0C9B	$118A			BCF	PCLATH, 3
$0C9C	$26F7			CALL	_T_S_D
$0C9D	$158A			BSF	PCLATH, 3
;Thermorelay.c,820 :: 		x=20;             // Индикация на 400 мс
$0C9E	$3014			MOVLW	20
$0C9F	$1303			BCF	STATUS, RP1
$0CA0	$1283			BCF	STATUS, RP0
$0CA1	$00AD			MOVWF	_x
;Thermorelay.c,822 :: 		INDICATION_TEMPERATURE();
$0CA2	$118A			BCF	PCLATH, 3
$0CA3	$238E			CALL	_INDICATION_TEMPERATURE
$0CA4	$158A			BSF	PCLATH, 3
;Thermorelay.c,824 :: 		BUTTONS ();       // Проверка кнопки ОК
$0CA5	$242F			CALL	_BUTTONS
;Thermorelay.c,827 :: 		}
$0CA6	$2C89			GOTO	L_main_327
;Thermorelay.c,828 :: 		}
$0CA7	$2CA7			GOTO	$
