
_hw_init:
	BSF        CM0_bit+0, 0
	BSF        CM1_bit+0, 1
	BSF        CM2_bit+0, 2
	MOVLW      240
	MOVWF      TRISB+0
	CLRF       TRISA+0
	CLRF       PORTA+0
	BSF        PORTA+0, 4
	BSF        PORTA+0, 3
	BCF        RBIF_bit+0, 0
	BSF        RBIE_bit+0, 3
	BSF        TMR1IE_bit+0, 0
	BCF        TMR1CS_bit+0, 1
	BSF        T1CKPS0_bit+0, 4
	BSF        T1CKPS1_bit+0, 5
	BSF        T1CON+0, 2
	BSF        PEIE_bit+0, 6
	MOVLW      11
	MOVWF      TMR1H+0
	MOVLW      220
	MOVWF      TMR1L+0
	BCF        OPTION_REG+0, 7
	CALL       _Lcd_Init+0
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	MOVLW      12
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	BSF        GIE_bit+0, 7
	BSF        _actmin+0, BitPos(_actmin+0)
	BSF        _mode+0, BitPos(_mode+0)
	CALL       _beep+0
	RETURN
; end of _hw_init

_beep:
	BCF        PORTA+0, 4
	MOVLW      13
	MOVWF      R12+0
	MOVLW      251
	MOVWF      R13+0
L_beep0:
	DECFSZ     R13+0, 1
	GOTO       L_beep0
	DECFSZ     R12+0, 1
	GOTO       L_beep0
	NOP
	NOP
	BSF        PORTA+0, 4
	RETURN
; end of _beep

_store_time:
	CLRF       FARG_EEPROM_Write_Address+0
	MOVF       _minu+0, 0
	MOVWF      FARG_EEPROM_Write_data_+0
	CALL       _EEPROM_Write+0
	MOVLW      1
	MOVWF      FARG_EEPROM_Write_Address+0
	MOVF       _sec+0, 0
	MOVWF      FARG_EEPROM_Write_data_+0
	CALL       _EEPROM_Write+0
	RETURN
; end of _store_time

_load_time:
	CLRF       FARG_EEPROM_Read_Address+0
	CALL       _EEPROM_Read+0
	MOVF       R0+0, 0
	MOVWF      _minu+0
	MOVLW      1
	MOVWF      FARG_EEPROM_Read_Address+0
	CALL       _EEPROM_Read+0
	MOVF       R0+0, 0
	MOVWF      _sec+0
	RETURN
; end of _load_time

_show_time:
	MOVLW      10
	MOVWF      R4+0
	MOVF       _sec+0, 0
	MOVWF      R0+0
	CALL       _Div_8x8_U+0
	MOVF       R8+0, 0
	MOVWF      R0+0
	MOVLW      48
	ADDWF      R0+0, 0
	MOVWF      _time+4
	MOVLW      10
	MOVWF      R4+0
	MOVF       _sec+0, 0
	MOVWF      R0+0
	CALL       _Div_8x8_U+0
	MOVLW      10
	MOVWF      R4+0
	CALL       _Div_8x8_U+0
	MOVF       R8+0, 0
	MOVWF      R0+0
	MOVLW      48
	ADDWF      R0+0, 0
	MOVWF      _time+3
	MOVLW      10
	MOVWF      R4+0
	MOVF       _minu+0, 0
	MOVWF      R0+0
	CALL       _Div_8x8_U+0
	MOVF       R8+0, 0
	MOVWF      R0+0
	MOVLW      48
	ADDWF      R0+0, 0
	MOVWF      _time+1
	MOVLW      10
	MOVWF      R4+0
	MOVF       _minu+0, 0
	MOVWF      R0+0
	CALL       _Div_8x8_U+0
	MOVLW      10
	MOVWF      R4+0
	CALL       _Div_8x8_U+0
	MOVF       R8+0, 0
	MOVWF      R0+0
	MOVLW      48
	ADDWF      R0+0, 0
	MOVWF      _time+0
	MOVLW      2
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      6
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      _time+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	RETURN
; end of _show_time

_set_mode:
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr1_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
L_set_mode1:
	BTFSS      PORTB+0, 7
	GOTO       L_set_mode2
	BTFSC      PORTB+0, 6
	GOTO       L_set_mode3
	MOVLW
	XORWF      _mode+0, 1
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_set_mode4:
	DECFSZ     R13+0, 1
	GOTO       L_set_mode4
	DECFSZ     R12+0, 1
	GOTO       L_set_mode4
	DECFSZ     R11+0, 1
	GOTO       L_set_mode4
	NOP
L_set_mode3:
	BTFSS      _mode+0, BitPos(_mode+0)
	GOTO       L_set_mode5
	MOVLW      2
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      6
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr2_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	GOTO       L_set_mode6
L_set_mode5:
	MOVLW      2
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      6
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr3_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
L_set_mode6:
	GOTO       L_set_mode1
L_set_mode2:
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_set_mode7:
	DECFSZ     R13+0, 1
	GOTO       L_set_mode7
	DECFSZ     R12+0, 1
	GOTO       L_set_mode7
	DECFSZ     R11+0, 1
	GOTO       L_set_mode7
	NOP
	RETURN
; end of _set_mode

_ch_time:
	BTFSS      _actmin+0, BitPos(_actmin+0)
	GOTO       L_ch_time8
	BTFSS      _inc+0, BitPos(_inc+0)
	GOTO       L_ch_time9
	MOVF       _minu+0, 0
	XORLW      99
	BTFSS      STATUS+0, 2
	GOTO       L_ch_time10
	CLRF       _minu+0
	GOTO       L_ch_time11
L_ch_time10:
	INCF       _minu+0, 1
L_ch_time11:
	GOTO       L_ch_time12
L_ch_time9:
	MOVF       _minu+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_ch_time13
	DECF       _minu+0, 1
	GOTO       L_ch_time14
L_ch_time13:
	MOVLW      99
	MOVWF      _minu+0
L_ch_time14:
L_ch_time12:
	GOTO       L_ch_time15
L_ch_time8:
	BTFSS      _inc+0, BitPos(_inc+0)
	GOTO       L_ch_time16
	MOVLW      59
	SUBWF      _sec+0, 0
	BTFSS      STATUS+0, 0
	GOTO       L_ch_time17
	CLRF       _sec+0
	GOTO       L_ch_time18
L_ch_time17:
	INCF       _sec+0, 1
L_ch_time18:
	GOTO       L_ch_time19
L_ch_time16:
	MOVF       _sec+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_ch_time20
	DECF       _sec+0, 1
	GOTO       L_ch_time21
L_ch_time20:
	MOVLW      59
	MOVWF      _sec+0
L_ch_time21:
L_ch_time19:
L_ch_time15:
	RETURN
; end of _ch_time

_set_time:
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr4_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	CALL       _load_time+0
L_set_time22:
	BTFSS      PORTB+0, 7
	GOTO       L_set_time23
	BTFSC      PORTB+0, 4
	GOTO       L_set_time24
	BSF        _inc+0, BitPos(_inc+0)
	CALL       _ch_time+0
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_set_time25:
	DECFSZ     R13+0, 1
	GOTO       L_set_time25
	DECFSZ     R12+0, 1
	GOTO       L_set_time25
	DECFSZ     R11+0, 1
	GOTO       L_set_time25
	NOP
	GOTO       L_set_time26
L_set_time24:
	BTFSC      PORTB+0, 5
	GOTO       L_set_time27
	BCF        _inc+0, BitPos(_inc+0)
	CALL       _ch_time+0
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_set_time28:
	DECFSZ     R13+0, 1
	GOTO       L_set_time28
	DECFSZ     R12+0, 1
	GOTO       L_set_time28
	DECFSZ     R11+0, 1
	GOTO       L_set_time28
	NOP
	GOTO       L_set_time29
L_set_time27:
	BTFSC      PORTB+0, 6
	GOTO       L_set_time30
	MOVLW
	XORWF      _actmin+0, 1
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_set_time31:
	DECFSZ     R13+0, 1
	GOTO       L_set_time31
	DECFSZ     R12+0, 1
	GOTO       L_set_time31
	DECFSZ     R11+0, 1
	GOTO       L_set_time31
	NOP
L_set_time30:
L_set_time29:
L_set_time26:
	CALL       _show_time+0
	GOTO       L_set_time22
L_set_time23:
	CALL       _store_time+0
	RETURN
; end of _set_time

_tmr_decrement:
	MOVF       _sec+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_tmr_decrement32
	DECF       _sec+0, 1
	GOTO       L_tmr_decrement33
L_tmr_decrement32:
	MOVF       _minu+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_tmr_decrement34
	DECF       _minu+0, 1
	MOVLW      59
	MOVWF      _sec+0
	GOTO       L_tmr_decrement35
L_tmr_decrement34:
	BCF        TMR1IE_bit+0, 0
	BCF        TMR1ON_bit+0, 0
	BSF        _end+0, BitPos(_end+0)
L_tmr_decrement35:
L_tmr_decrement33:
	RETURN
; end of _tmr_decrement

_autom:
	BCF        _end+0, BitPos(_end+0)
	CALL       _set_time+0
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr5_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	BSF        TMR1IE_bit+0, 0
	BSF        TMR1ON_bit+0, 0
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_autom36:
	DECFSZ     R13+0, 1
	GOTO       L_autom36
	DECFSZ     R12+0, 1
	GOTO       L_autom36
	DECFSZ     R11+0, 1
	GOTO       L_autom36
	NOP
	BSF        PORTA+0, 2
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_autom37:
	DECFSZ     R13+0, 1
	GOTO       L_autom37
	DECFSZ     R12+0, 1
	GOTO       L_autom37
	DECFSZ     R11+0, 1
	GOTO       L_autom37
	NOP
L_autom38:
	BTFSC      _end+0, BitPos(_end+0)
	GOTO       L_autom39
	CALL       _show_time+0
	GOTO       L_autom38
L_autom39:
	CALL       _light_end+0
	RETURN
; end of _autom

_manual:
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
L_manual40:
	BTFSS      PORTB+0, 6
	GOTO       L_manual41
	BTFSC      PORTB+0, 7
	GOTO       L_manual42
	MOVLW      4
	XORWF      PORTA+0, 1
	MOVLW      2
	MOVWF      R11+0
	MOVLW      4
	MOVWF      R12+0
	MOVLW      186
	MOVWF      R13+0
L_manual43:
	DECFSZ     R13+0, 1
	GOTO       L_manual43
	DECFSZ     R12+0, 1
	GOTO       L_manual43
	DECFSZ     R11+0, 1
	GOTO       L_manual43
	NOP
L_manual42:
	BTFSS      PORTA+0, 2
	GOTO       L_manual44
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr6_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	GOTO       L_manual45
L_manual44:
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr7_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
L_manual45:
	GOTO       L_manual40
L_manual41:
	RETURN
; end of _manual

_light_end:
	BCF        TMR1IE_bit+0, 0
	BCF        TMR1ON_bit+0, 0
	BCF        PORTA+0, 2
	MOVLW      1
	MOVWF      FARG_Lcd_Cmd_out_char+0
	CALL       _Lcd_Cmd+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      2
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr8_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	CLRF       light_end_al_L0+0
L_light_end46:
	MOVLW      3
	SUBWF      light_end_al_L0+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_light_end47
	MOVLW      3
	MOVWF      R11+0
	MOVLW      138
	MOVWF      R12+0
	MOVLW      85
	MOVWF      R13+0
L_light_end49:
	DECFSZ     R13+0, 1
	GOTO       L_light_end49
	DECFSZ     R12+0, 1
	GOTO       L_light_end49
	DECFSZ     R11+0, 1
	GOTO       L_light_end49
	NOP
	NOP
	BSF        PORTA+0, 3
	BCF        PORTA+0, 4
	MOVLW      3
	MOVWF      R11+0
	MOVLW      138
	MOVWF      R12+0
	MOVLW      85
	MOVWF      R13+0
L_light_end50:
	DECFSZ     R13+0, 1
	GOTO       L_light_end50
	DECFSZ     R12+0, 1
	GOTO       L_light_end50
	DECFSZ     R11+0, 1
	GOTO       L_light_end50
	NOP
	NOP
	BCF        PORTA+0, 3
	BSF        PORTA+0, 4
	INCF       light_end_al_L0+0, 1
	GOTO       L_light_end46
L_light_end47:
	BSF        PORTA+0, 3
	BSF        PORTA+0, 4
L_light_end51:
	MOVLW      240
	SUBWF      PORTB+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_light_end52
	GOTO       L_light_end51
L_light_end52:
	RETURN
; end of _light_end

_main:
	CALL       _hw_init+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr9_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	MOVLW      2
	MOVWF      FARG_Lcd_Out_row+0
	MOVLW      1
	MOVWF      FARG_Lcd_Out_column+0
	MOVLW      ?lstr10_osvit+0
	MOVWF      FARG_Lcd_Out_text+0
	CALL       _Lcd_Out+0
	MOVLW      11
	MOVWF      R11+0
	MOVLW      38
	MOVWF      R12+0
	MOVLW      93
	MOVWF      R13+0
L_main53:
	DECFSZ     R13+0, 1
	GOTO       L_main53
	DECFSZ     R12+0, 1
	GOTO       L_main53
	DECFSZ     R11+0, 1
	GOTO       L_main53
	NOP
	NOP
___main_START:
	BCF        PORTA+0, 2
	CALL       _set_mode+0
	BTFSS      _mode+0, BitPos(_mode+0)
	GOTO       L_main54
	CALL       _autom+0
	GOTO       L_main55
L_main54:
	CALL       _manual+0
L_main55:
	BSF        PORTA+0, 4
	GOTO       ___main_START
	GOTO       $+0
; end of _main

_interrupt:
	MOVWF      R15+0
	SWAPF      STATUS+0, 0
	CLRF       STATUS+0
	MOVWF      ___saveSTATUS+0
	MOVF       PCLATH+0, 0
	MOVWF      ___savePCLATH+0
	CLRF       PCLATH+0
	BTFSS      TMR1IF_bit+0, 0
	GOTO       L_interrupt56
	BCF        TMR1IF_bit+0, 0
	MOVLW      11
	MOVWF      TMR1H+0
	MOVLW      220
	MOVWF      TMR1L+0
	MOVF       _del+0, 0
	MOVLW      1
	BTFSS      STATUS+0, 2
	MOVLW      0
	MOVWF      R0+0
	MOVF       R0+0, 0
	MOVWF      _del+0
	MOVF       R0+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_interrupt57
	CALL       _tmr_decrement+0
L_interrupt57:
	GOTO       L_interrupt58
L_interrupt56:
	BTFSS      RBIF_bit+0, 0
	GOTO       L_interrupt59
	MOVLW      26
	MOVWF      R12+0
	MOVLW      248
	MOVWF      R13+0
L_interrupt60:
	DECFSZ     R13+0, 1
	GOTO       L_interrupt60
	DECFSZ     R12+0, 1
	GOTO       L_interrupt60
	NOP
	MOVLW      240
	SUBWF      PORTB+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_interrupt61
	CALL       _beep+0
L_interrupt61:
	BCF        RBIF_bit+0, 0
L_interrupt59:
L_interrupt58:
L__interrupt62:
	MOVF       ___savePCLATH+0, 0
	MOVWF      PCLATH+0
	SWAPF      ___saveSTATUS+0, 0
	MOVWF      STATUS+0
	SWAPF      R15+0, 1
	SWAPF      R15+0, 0
	RETFIE
; end of _interrupt
