;/////////////////////////////////////////////////////////////////////////////////
;// Code Generator: BoostC Compiler - http://www.sourceboost.com
;// Version       : 6.95
;// License Type  : Full License
;// Limitations   : PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited, Non commercial use only
;/////////////////////////////////////////////////////////////////////////////////

	include "P16F877A.inc"
; Heap block 0, size:111 (0x00000110 - 0x0000017E)
__HEAP_BLOCK0_BANK               EQU	0x00000002
__HEAP_BLOCK0_START_OFFSET       EQU	0x00000010
__HEAP_BLOCK0_END_OFFSET         EQU	0x0000007E
; Heap block 1, size:96 (0x00000190 - 0x000001EF)
__HEAP_BLOCK1_BANK               EQU	0x00000003
__HEAP_BLOCK1_START_OFFSET       EQU	0x00000010
__HEAP_BLOCK1_END_OFFSET         EQU	0x0000006F
; Heap block 2, size:80 (0x000000A0 - 0x000000EF)
__HEAP_BLOCK2_BANK               EQU	0x00000001
__HEAP_BLOCK2_START_OFFSET       EQU	0x00000020
__HEAP_BLOCK2_END_OFFSET         EQU	0x0000006F
; Heap block 3, size:46 (0x00000042 - 0x0000006F)
__HEAP_BLOCK3_BANK               EQU	0x00000000
__HEAP_BLOCK3_START_OFFSET       EQU	0x00000042
__HEAP_BLOCK3_END_OFFSET         EQU	0x0000006F
gbl_status                       EQU	0x00000003 ; bytes:1
gbl_16_LSR                       EQU	0x00000020 ; bytes:4
gbl_float_detect_tininess        EQU	0x00000039 ; bytes:1
gbl_float_rounding_mode          EQU	0x0000003A ; bytes:1
gbl_float_exception_flags        EQU	0x0000003B ; bytes:1
gbl_17_gbl_aSig                  EQU	0x00000024 ; bytes:4
gbl_17_gbl_bSig                  EQU	0x00000028 ; bytes:4
gbl_17_gbl_zSig                  EQU	0x0000002C ; bytes:4
gbl_17_gbl_aExp                  EQU	0x0000003C ; bytes:1
gbl_17_gbl_bExp                  EQU	0x0000003D ; bytes:1
gbl_17_gbl_zExp                  EQU	0x00000037 ; bytes:2
gbl_17_gbl_aSign                 EQU	0x0000003E ; bytes:1
gbl_17_gbl_bSign                 EQU	0x0000003F ; bytes:1
gbl_17_gbl_zSign                 EQU	0x00000040 ; bytes:1
gbl_17_gbl_zSigZero              EQU	0x00000041 ; bytes:1
gbl_17_gbl_ret                   EQU	0x00000030 ; bytes:4
gbl_indf                         EQU	0x00000000 ; bytes:1
gbl_tmr0                         EQU	0x00000001 ; bytes:1
gbl_pcl                          EQU	0x00000002 ; bytes:1
gbl_fsr                          EQU	0x00000004 ; bytes:1
gbl_porta                        EQU	0x00000005 ; bytes:1
gbl_portb                        EQU	0x00000006 ; bytes:1
gbl_portc                        EQU	0x00000007 ; bytes:1
gbl_portd                        EQU	0x00000008 ; bytes:1
gbl_porte                        EQU	0x00000009 ; bytes:1
gbl_pclath                       EQU	0x0000000A ; bytes:1
gbl_intcon                       EQU	0x0000000B ; bytes:1
gbl_pir1                         EQU	0x0000000C ; bytes:1
gbl_pir2                         EQU	0x0000000D ; bytes:1
gbl_tmr1l                        EQU	0x0000000E ; bytes:1
gbl_tmr1h                        EQU	0x0000000F ; bytes:1
gbl_t1con                        EQU	0x00000010 ; bytes:1
gbl_tmr2                         EQU	0x00000011 ; bytes:1
gbl_t2con                        EQU	0x00000012 ; bytes:1
gbl_sspbuf                       EQU	0x00000013 ; bytes:1
gbl_sspcon                       EQU	0x00000014 ; bytes:1
gbl_ccpr1l                       EQU	0x00000015 ; bytes:1
gbl_ccpr1h                       EQU	0x00000016 ; bytes:1
gbl_ccp1con                      EQU	0x00000017 ; bytes:1
gbl_rcsta                        EQU	0x00000018 ; bytes:1
gbl_txreg                        EQU	0x00000019 ; bytes:1
gbl_rcreg                        EQU	0x0000001A ; bytes:1
gbl_ccpr2l                       EQU	0x0000001B ; bytes:1
gbl_ccpr2h                       EQU	0x0000001C ; bytes:1
gbl_ccp2con                      EQU	0x0000001D ; bytes:1
gbl_adresh                       EQU	0x0000001E ; bytes:1
gbl_adcon0                       EQU	0x0000001F ; bytes:1
gbl_option_reg                   EQU	0x00000081 ; bytes:1
gbl_trisa                        EQU	0x00000085 ; bytes:1
gbl_trisb                        EQU	0x00000086 ; bytes:1
gbl_trisc                        EQU	0x00000087 ; bytes:1
gbl_trisd                        EQU	0x00000088 ; bytes:1
gbl_trise                        EQU	0x00000089 ; bytes:1
gbl_pie1                         EQU	0x0000008C ; bytes:1
gbl_pie2                         EQU	0x0000008D ; bytes:1
gbl_pcon                         EQU	0x0000008E ; bytes:1
gbl_sspcon2                      EQU	0x00000091 ; bytes:1
gbl_pr2                          EQU	0x00000092 ; bytes:1
gbl_sspadd                       EQU	0x00000093 ; bytes:1
gbl_sspstat                      EQU	0x00000094 ; bytes:1
gbl_txsta                        EQU	0x00000098 ; bytes:1
gbl_spbrg                        EQU	0x00000099 ; bytes:1
gbl_cmcon                        EQU	0x0000009C ; bytes:1
gbl_cvrcon                       EQU	0x0000009D ; bytes:1
gbl_adresl                       EQU	0x0000009E ; bytes:1
gbl_adcon1                       EQU	0x0000009F ; bytes:1
gbl_eedata                       EQU	0x0000010C ; bytes:1
gbl_eeadr                        EQU	0x0000010D ; bytes:1
gbl_eedath                       EQU	0x0000010E ; bytes:1
gbl_eeadrh                       EQU	0x0000010F ; bytes:1
gbl_eecon1                       EQU	0x0000018C ; bytes:1
gbl_eecon2                       EQU	0x0000018D ; bytes:1
Int1Context                      EQU	0x0000007F ; bytes:1
Int1BContext                     EQU	0x00000034 ; bytes:3
	ORG 0x00000000
	GOTO	_startup
	ORG 0x00000004
	MOVWF Int1Context
	SWAPF STATUS, W
	BCF STATUS, RP0
	BCF STATUS, RP1
	MOVWF Int1BContext
	SWAPF PCLATH, W
	MOVWF Int1BContext+D'1'
	SWAPF FSR, W
	MOVWF Int1BContext+D'2'
	BCF PCLATH,3
	BCF PCLATH,4
	GOTO	interrupt
	ORG 0x00000010
main
; { main ; function begin
	MOVLW 0x07
	BSF STATUS, RP0
	BCF STATUS, RP1
	MOVWF gbl_adcon1
	MOVLW 0xC0
	MOVWF gbl_option_reg
	CLRF gbl_trisc
	CLRF gbl_trisc
	BCF STATUS, RP0
	CLRF gbl_portc
label1
	CLRF gbl_portc
	CLRF gbl_portc
	CLRF gbl_portc
	MOVLW 0x01
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0x02
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0x03
	MOVWF gbl_portc
	MOVLW 0x04
	MOVWF gbl_portc
	MOVLW 0x05
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0x06
	MOVWF gbl_portc
	MOVLW 0x07
	MOVWF gbl_portc
	MOVLW 0x09
	MOVWF gbl_portc
	MOVLW 0x0A
	MOVWF gbl_portc
	MOVLW 0x0B
	MOVWF gbl_portc
	MOVLW 0x0C
	MOVWF gbl_portc
	MOVLW 0x0E
	MOVWF gbl_portc
	MOVLW 0x0F
	MOVWF gbl_portc
	MOVLW 0x11
	MOVWF gbl_portc
	MOVLW 0x12
	MOVWF gbl_portc
	MOVLW 0x14
	MOVWF gbl_portc
	MOVLW 0x15
	MOVWF gbl_portc
	MOVLW 0x17
	MOVWF gbl_portc
	MOVLW 0x19
	MOVWF gbl_portc
	MOVLW 0x1B
	MOVWF gbl_portc
	MOVLW 0x1D
	MOVWF gbl_portc
	MOVLW 0x1F
	MOVWF gbl_portc
	MOVLW 0x21
	MOVWF gbl_portc
	MOVLW 0x23
	MOVWF gbl_portc
	MOVLW 0x25
	MOVWF gbl_portc
	MOVLW 0x28
	MOVWF gbl_portc
	MOVLW 0x2A
	MOVWF gbl_portc
	MOVLW 0x2C
	MOVWF gbl_portc
	MOVLW 0x2F
	MOVWF gbl_portc
	MOVLW 0x31
	MOVWF gbl_portc
	MOVLW 0x34
	MOVWF gbl_portc
	MOVLW 0x36
	MOVWF gbl_portc
	MOVLW 0x39
	MOVWF gbl_portc
	MOVLW 0x3B
	MOVWF gbl_portc
	MOVLW 0x3E
	MOVWF gbl_portc
	MOVLW 0x41
	MOVWF gbl_portc
	MOVLW 0x43
	MOVWF gbl_portc
	MOVLW 0x46
	MOVWF gbl_portc
	MOVLW 0x49
	MOVWF gbl_portc
	MOVLW 0x4C
	MOVWF gbl_portc
	MOVLW 0x4F
	MOVWF gbl_portc
	MOVLW 0x52
	MOVWF gbl_portc
	MOVLW 0x55
	MOVWF gbl_portc
	MOVLW 0x58
	MOVWF gbl_portc
	MOVLW 0x5A
	MOVWF gbl_portc
	MOVLW 0x5D
	MOVWF gbl_portc
	MOVLW 0x61
	MOVWF gbl_portc
	MOVLW 0x64
	MOVWF gbl_portc
	MOVLW 0x67
	MOVWF gbl_portc
	MOVLW 0x6A
	MOVWF gbl_portc
	MOVLW 0x6D
	MOVWF gbl_portc
	MOVLW 0x70
	MOVWF gbl_portc
	MOVLW 0x73
	MOVWF gbl_portc
	MOVLW 0x76
	MOVWF gbl_portc
	MOVLW 0x79
	MOVWF gbl_portc
	MOVLW 0x7C
	MOVWF gbl_portc
	MOVLW 0x80
	MOVWF gbl_portc
	MOVLW 0x83
	MOVWF gbl_portc
	MOVLW 0x86
	MOVWF gbl_portc
	MOVLW 0x89
	MOVWF gbl_portc
	MOVLW 0x8C
	MOVWF gbl_portc
	MOVLW 0x8F
	MOVWF gbl_portc
	MOVLW 0x92
	MOVWF gbl_portc
	MOVLW 0x95
	MOVWF gbl_portc
	MOVLW 0x98
	MOVWF gbl_portc
	MOVLW 0x9B
	MOVWF gbl_portc
	MOVLW 0x9E
	MOVWF gbl_portc
	MOVLW 0xA2
	MOVWF gbl_portc
	MOVLW 0xA5
	MOVWF gbl_portc
	MOVLW 0xA7
	MOVWF gbl_portc
	MOVLW 0xAA
	MOVWF gbl_portc
	MOVLW 0xAD
	MOVWF gbl_portc
	MOVLW 0xB0
	MOVWF gbl_portc
	MOVLW 0xB3
	MOVWF gbl_portc
	MOVLW 0xB6
	MOVWF gbl_portc
	MOVLW 0xB9
	MOVWF gbl_portc
	MOVLW 0xBC
	MOVWF gbl_portc
	MOVLW 0xBE
	MOVWF gbl_portc
	MOVLW 0xC1
	MOVWF gbl_portc
	MOVLW 0xC4
	MOVWF gbl_portc
	MOVLW 0xC6
	MOVWF gbl_portc
	MOVLW 0xC9
	MOVWF gbl_portc
	MOVLW 0xCB
	MOVWF gbl_portc
	MOVLW 0xCE
	MOVWF gbl_portc
	MOVLW 0xD0
	MOVWF gbl_portc
	MOVLW 0xD3
	MOVWF gbl_portc
	MOVLW 0xD5
	MOVWF gbl_portc
	MOVLW 0xD7
	MOVWF gbl_portc
	MOVLW 0xDA
	MOVWF gbl_portc
	MOVLW 0xDC
	MOVWF gbl_portc
	MOVLW 0xDE
	MOVWF gbl_portc
	MOVLW 0xE0
	MOVWF gbl_portc
	MOVLW 0xE2
	MOVWF gbl_portc
	MOVLW 0xE4
	MOVWF gbl_portc
	MOVLW 0xE6
	MOVWF gbl_portc
	MOVLW 0xE8
	MOVWF gbl_portc
	MOVLW 0xEA
	MOVWF gbl_portc
	MOVLW 0xEB
	MOVWF gbl_portc
	MOVLW 0xED
	MOVWF gbl_portc
	MOVLW 0xEE
	MOVWF gbl_portc
	MOVLW 0xF0
	MOVWF gbl_portc
	MOVLW 0xF1
	MOVWF gbl_portc
	MOVLW 0xF3
	MOVWF gbl_portc
	MOVLW 0xF4
	MOVWF gbl_portc
	MOVLW 0xF5
	MOVWF gbl_portc
	MOVLW 0xF6
	MOVWF gbl_portc
	MOVLW 0xF8
	MOVWF gbl_portc
	MOVLW 0xF9
	MOVWF gbl_portc
	MOVLW 0xFA
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFB
	MOVWF gbl_portc
	MOVLW 0xFC
	MOVWF gbl_portc
	MOVLW 0xFD
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFE
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFF
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFE
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFD
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xFC
	MOVWF gbl_portc
	MOVLW 0xFB
	MOVWF gbl_portc
	MOVLW 0xFA
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0xF9
	MOVWF gbl_portc
	MOVLW 0xF8
	MOVWF gbl_portc
	MOVLW 0xF6
	MOVWF gbl_portc
	MOVLW 0xF5
	MOVWF gbl_portc
	MOVLW 0xF4
	MOVWF gbl_portc
	MOVLW 0xF3
	MOVWF gbl_portc
	MOVLW 0xF1
	MOVWF gbl_portc
	MOVLW 0xF0
	MOVWF gbl_portc
	MOVLW 0xEE
	MOVWF gbl_portc
	MOVLW 0xED
	MOVWF gbl_portc
	MOVLW 0xEB
	MOVWF gbl_portc
	MOVLW 0xEA
	MOVWF gbl_portc
	MOVLW 0xE8
	MOVWF gbl_portc
	MOVLW 0xE6
	MOVWF gbl_portc
	MOVLW 0xE4
	MOVWF gbl_portc
	MOVLW 0xE2
	MOVWF gbl_portc
	MOVLW 0xE0
	MOVWF gbl_portc
	MOVLW 0xDE
	MOVWF gbl_portc
	MOVLW 0xDC
	MOVWF gbl_portc
	MOVLW 0xDA
	MOVWF gbl_portc
	MOVLW 0xD7
	MOVWF gbl_portc
	MOVLW 0xD5
	MOVWF gbl_portc
	MOVLW 0xD3
	MOVWF gbl_portc
	MOVLW 0xD0
	MOVWF gbl_portc
	MOVLW 0xCE
	MOVWF gbl_portc
	MOVLW 0xCB
	MOVWF gbl_portc
	MOVLW 0xC9
	MOVWF gbl_portc
	MOVLW 0xC6
	MOVWF gbl_portc
	MOVLW 0xC4
	MOVWF gbl_portc
	MOVLW 0xC1
	MOVWF gbl_portc
	MOVLW 0xBE
	MOVWF gbl_portc
	MOVLW 0xBC
	MOVWF gbl_portc
	MOVLW 0xB9
	MOVWF gbl_portc
	MOVLW 0xB6
	MOVWF gbl_portc
	MOVLW 0xB3
	MOVWF gbl_portc
	MOVLW 0xB0
	MOVWF gbl_portc
	MOVLW 0xAD
	MOVWF gbl_portc
	MOVLW 0xAA
	MOVWF gbl_portc
	MOVLW 0xA7
	MOVWF gbl_portc
	MOVLW 0xA5
	MOVWF gbl_portc
	MOVLW 0xA2
	MOVWF gbl_portc
	MOVLW 0x9E
	MOVWF gbl_portc
	MOVLW 0x9B
	MOVWF gbl_portc
	MOVLW 0x98
	MOVWF gbl_portc
	MOVLW 0x95
	MOVWF gbl_portc
	MOVLW 0x92
	MOVWF gbl_portc
	MOVLW 0x8F
	MOVWF gbl_portc
	MOVLW 0x8C
	MOVWF gbl_portc
	MOVLW 0x89
	MOVWF gbl_portc
	MOVLW 0x86
	MOVWF gbl_portc
	MOVLW 0x83
	MOVWF gbl_portc
	MOVLW 0x80
	MOVWF gbl_portc
	MOVLW 0x7C
	MOVWF gbl_portc
	MOVLW 0x79
	MOVWF gbl_portc
	MOVLW 0x76
	MOVWF gbl_portc
	MOVLW 0x73
	MOVWF gbl_portc
	MOVLW 0x70
	MOVWF gbl_portc
	MOVLW 0x6D
	MOVWF gbl_portc
	MOVLW 0x6A
	MOVWF gbl_portc
	MOVLW 0x67
	MOVWF gbl_portc
	MOVLW 0x64
	MOVWF gbl_portc
	MOVLW 0x61
	MOVWF gbl_portc
	MOVLW 0x5D
	MOVWF gbl_portc
	MOVLW 0x5A
	MOVWF gbl_portc
	MOVLW 0x58
	MOVWF gbl_portc
	MOVLW 0x55
	MOVWF gbl_portc
	MOVLW 0x52
	MOVWF gbl_portc
	MOVLW 0x4F
	MOVWF gbl_portc
	MOVLW 0x4C
	MOVWF gbl_portc
	MOVLW 0x49
	MOVWF gbl_portc
	MOVLW 0x46
	MOVWF gbl_portc
	MOVLW 0x43
	MOVWF gbl_portc
	MOVLW 0x41
	MOVWF gbl_portc
	MOVLW 0x3E
	MOVWF gbl_portc
	MOVLW 0x3B
	MOVWF gbl_portc
	MOVLW 0x39
	MOVWF gbl_portc
	MOVLW 0x36
	MOVWF gbl_portc
	MOVLW 0x34
	MOVWF gbl_portc
	MOVLW 0x31
	MOVWF gbl_portc
	MOVLW 0x2F
	MOVWF gbl_portc
	MOVLW 0x2C
	MOVWF gbl_portc
	MOVLW 0x2A
	MOVWF gbl_portc
	MOVLW 0x28
	MOVWF gbl_portc
	MOVLW 0x25
	MOVWF gbl_portc
	MOVLW 0x23
	MOVWF gbl_portc
	MOVLW 0x21
	MOVWF gbl_portc
	MOVLW 0x1F
	MOVWF gbl_portc
	MOVLW 0x1D
	MOVWF gbl_portc
	MOVLW 0x1B
	MOVWF gbl_portc
	MOVLW 0x19
	MOVWF gbl_portc
	MOVLW 0x17
	MOVWF gbl_portc
	MOVLW 0x15
	MOVWF gbl_portc
	MOVLW 0x14
	MOVWF gbl_portc
	MOVLW 0x12
	MOVWF gbl_portc
	MOVLW 0x11
	MOVWF gbl_portc
	MOVLW 0x0F
	MOVWF gbl_portc
	MOVLW 0x0E
	MOVWF gbl_portc
	MOVLW 0x0C
	MOVWF gbl_portc
	MOVLW 0x0B
	MOVWF gbl_portc
	MOVLW 0x0A
	MOVWF gbl_portc
	MOVLW 0x09
	MOVWF gbl_portc
	MOVLW 0x07
	MOVWF gbl_portc
	MOVLW 0x06
	MOVWF gbl_portc
	MOVLW 0x05
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0x04
	MOVWF gbl_portc
	MOVLW 0x03
	MOVWF gbl_portc
	MOVLW 0x02
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVLW 0x01
	MOVWF gbl_portc
	MOVWF gbl_portc
	MOVWF gbl_portc
	CLRF gbl_portc
	CLRF gbl_portc
	CLRF gbl_portc
	CLRF gbl_portc
	GOTO	label1
; } main function end

	ORG 0x000001FE
_startup
	MOVLW 0xD5
	BCF STATUS, RP0
	BCF STATUS, RP1
	MOVWF gbl_16_LSR
	MOVLW 0xC4
	MOVWF gbl_16_LSR+D'1'
	MOVLW 0xBB
	MOVWF gbl_16_LSR+D'2'
	MOVLW 0xDC
	MOVWF gbl_16_LSR+D'3'
	CLRF gbl_17_gbl_aSig
	CLRF gbl_17_gbl_aSig+D'1'
	CLRF gbl_17_gbl_aSig+D'2'
	CLRF gbl_17_gbl_aSig+D'3'
	CLRF gbl_17_gbl_bSig
	CLRF gbl_17_gbl_bSig+D'1'
	CLRF gbl_17_gbl_bSig+D'2'
	CLRF gbl_17_gbl_bSig+D'3'
	CLRF gbl_17_gbl_zSig
	CLRF gbl_17_gbl_zSig+D'1'
	CLRF gbl_17_gbl_zSig+D'2'
	CLRF gbl_17_gbl_zSig+D'3'
	CLRF gbl_17_gbl_aExp
	CLRF gbl_17_gbl_bExp
	CLRF gbl_17_gbl_zExp
	CLRF gbl_17_gbl_zExp+D'1'
	CLRF gbl_17_gbl_aSign
	CLRF gbl_17_gbl_bSign
	CLRF gbl_17_gbl_zSign
	CLRF gbl_17_gbl_zSigZero
	CLRF gbl_17_gbl_ret
	CLRF gbl_17_gbl_ret+D'1'
	CLRF gbl_17_gbl_ret+D'2'
	CLRF gbl_17_gbl_ret+D'3'
	CLRF gbl_float_rounding_mode
	CLRF gbl_float_exception_flags
	CLRF gbl_float_detect_tininess
	BCF PCLATH,3
	BCF PCLATH,4
	GOTO	main
	ORG 0x00000226
interrupt
; { interrupt ; function begin
	BCF STATUS, RP0
	BCF STATUS, RP1
	SWAPF Int1BContext+D'2', W
	MOVWF FSR
	SWAPF Int1BContext+D'1', W
	MOVWF PCLATH
	SWAPF Int1BContext, W
	MOVWF STATUS
	SWAPF Int1Context, F
	SWAPF Int1Context, W
	RETFIE
; } interrupt function end

	ORG 0x00002007
	DW 0x3F7A
	END
