	.file "D:\\Projects\\FOCE\\SensorNode\\SensorNode\\sensorNodeMain\\SensorNodeMainStandalone\\..\\..\\modbus\\functions\\mbfuncdisc.c"
	.section	.debug_abbrev,info
.Ldebug_abbrev0:
	.section	.debug_info,info
.Ldebug_info0:
	.section	.debug_line,info
.Ldebug_line0:
	.section	.text,code
.Ltext0:
	.section	.text,code
	.align	2
	.global	_eMBFuncReadDiscreteInputs	; export
	.type	_eMBFuncReadDiscreteInputs,@function
_eMBFuncReadDiscreteInputs:
.LFB0:
.LSM0:
	.set ___PA___,1
	lnk	#16
	mov	w0,[w14+12]
	mov	w1,[w14+14]
.LSM1:
	clr	w4
	mov	w4,[w14+2]
.LSM2:
	mov	[w14+14],w4
	mov	[w4],w4
	sub	w4,#5,[w15]
	.set ___BP___,0
	bra	nz,.L2
.LSM3:
	mov	[w14+12],w4
	inc	w4,w4
	mov.b	[w4],w4
	ze	w4,w4
	sl	w4,#8,w4
	mov	w4,[w14+4]
.LSM4:
	mov	[w14+12],w4
	inc2	w4,w4
	mov.b	[w4],w4
	ze	w4,w4
	mov	[w14+4],w5
	ior	w5,w4,w4
	mov	w4,[w14+4]
.LSM5:
	mov	[w14+4],w4
	inc	w4,w4
	mov	w4,[w14+4]
.LSM6:
	mov	[w14+12],w4
	add	w4,#3,w4
	mov.b	[w4],w4
	ze	w4,w4
	sl	w4,#8,w4
	mov	w4,[w14+6]
.LSM7:
	mov	[w14+12],w4
	add	w4,#4,w4
	mov.b	[w4],w4
	ze	w4,w4
	mov	[w14+6],w5
	ior	w5,w4,w4
	mov	w4,[w14+6]
.LSM8:
	mov	[w14+6],w4
	sub	w4,#0,[w15]
	.set ___BP___,0
	bra	z,.L3
	mov	[w14+6],w5
	mov	#1999,w4
	sub	w5,w4,[w15]
	.set ___BP___,0
	bra	gtu,.L3
.LSM9:
	mov	[w14+12],w4
	mov	w4,[w14+8]
.LSM10:
	mov	[w14+14],w4
	clr	w5
	mov	w5,[w4]
.LSM11:
	mov	[w14+8],w5
	mov.b	#2,w4
	mov.b	w4,[w5]
	mov	[w14+8],w4
	inc	w4,w4
	mov	w4,[w14+8]
.LSM12:
	mov	[w14+14],w4
	mov	[w4],w4
	inc	w4,w5
	mov	[w14+14],w4
	mov	w5,[w4]
.LSM13:
	mov	[w14+6],w4
	and	w4,#7,w4
	sub	w4,#0,[w15]
	.set ___BP___,0
	bra	z,.L4
.LSM14:
	mov	[w14+6],w4
	lsr	w4,#3,w4
	mov.b	w4,w4
	inc.b	w4,[w14]
	bra	.L5
.L4:
.LSM15:
	mov	[w14+6],w4
	lsr	w4,#3,w4
	mov.b	w4,[w14]
.L5:
.LSM16:
	mov	[w14+8],w4
	mov.b	[w14],[w4]
	mov	[w14+8],w4
	inc	w4,w4
	mov	w4,[w14+8]
.LSM17:
	mov	[w14+14],w4
	mov	[w4],w4
	inc	w4,w5
	mov	[w14+14],w4
	mov	w5,[w4]
.LSM18:
	mov	[w14+6],w2
	mov	[w14+4],w1
	mov	[w14+8],w0
	rcall	_eMBRegDiscreteCB
	mov	w0,w4
	mov	w4,[w14+10]
.LSM19:
	mov	[w14+10],w4
	sub	w4,#0,[w15]
	.set ___BP___,0
	bra	z,.L6
.LSM20:
	mov	[w14+10],w0
	rcall	_prveMBError2Exception
	mov	w0,w4
	mov	w4,[w14+2]
.LSM21:
	bra	.L9
.L6:
.LSM22:
	mov	[w14+14],w4
	mov	[w4],w5
	mov.b	[w14],w6
	ze	w6,w4
	add	w5,w4,w5
	mov	[w14+14],w4
	mov	w5,[w4]
.LSM23:
	bra	.L9
.L3:
.LSM24:
	mov	#3,w4
	mov	w4,[w14+2]
	bra	.L9
.L2:
.LSM25:
	mov	#3,w4
	mov	w4,[w14+2]
.L9:
.LSM26:
	mov	[w14+2],w4
.LSM27:
	mov	w4,w0
	ulnk	
	return	
	.set ___PA___,0
.LFE0:
	.section	.debug_frame,info
.Lframe0:
	.4byte	.LECIE0-.LSCIE0
.LSCIE0:
	.4byte	0xffffffff
	.byte	0x1
	.byte	0
	.uleb128 0x1
	.sleb128 2
	.byte	0x25
	.byte	0x12
	.uleb128 0xf
	.sleb128 -2
	.byte	0x9
	.uleb128 0x25
	.uleb128 0xf
	.align	4
.LECIE0:
.LSFDE0:
	.4byte	.LEFDE0-.LASFDE0
.LASFDE0:
	.4byte	.Lframe0
	.4byte	.LFB0
	.4byte	.LFE0-.LFB0
	.align	4
.LEFDE0:
	.section	.text,code
.Letext0:
	.section	.debug_info,info
	.4byte	0x408
	.2byte	0x2
	.4byte	.Ldebug_abbrev0
	.byte	0x4
	.uleb128 0x1
	.asciz	"GNU C 4.5.1 (XC16, Microchip v1_20) (A) Build date: Sep 30 2013"
	.byte	0x1
	.asciz	"../../modbus/functions/mbfuncdisc.c"
	.ascii	"D:\\\\Projects\\\\FOCE\\\\SensorNode\\\\SensorNode\\\\sensorNodeMain"
	.asciz	"\\\\SensorNodeMainStandalone"
	.4byte	.Ltext0
	.4byte	.Letext0
	.4byte	.Ldebug_line0
	.uleb128 0x2
	.byte	0x2
	.byte	0x5
	.asciz	"int"
	.uleb128 0x2
	.byte	0x2
	.byte	0x7
	.asciz	"unsigned int"
	.uleb128 0x2
	.byte	0x2
	.byte	0x7
	.asciz	"short unsigned int"
	.uleb128 0x2
	.byte	0x4
	.byte	0x5
	.asciz	"long int"
	.uleb128 0x2
	.byte	0x4
	.byte	0x7
	.asciz	"long unsigned int"
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.asciz	"signed char"
	.uleb128 0x2
	.byte	0x2
	.byte	0x5
	.asciz	"short int"
	.uleb128 0x2
	.byte	0x8
	.byte	0x5
	.asciz	"long long int"
	.uleb128 0x2
	.byte	0x1
	.byte	0x8
	.asciz	"unsigned char"
	.uleb128 0x2
	.byte	0x8
	.byte	0x7
	.asciz	"long long unsigned int"
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.asciz	"char"
	.uleb128 0x3
	.asciz	"UCHAR"
	.byte	0x2
	.byte	0x2b
	.4byte	0x14d
	.uleb128 0x3
	.asciz	"USHORT"
	.byte	0x2
	.byte	0x31
	.4byte	0xe9
	.uleb128 0x4
	.byte	0x2
	.byte	0x3
	.byte	0x3b
	.4byte	0x299
	.uleb128 0x5
	.asciz	"MB_EX_NONE"
	.sleb128 0
	.uleb128 0x5
	.asciz	"MB_EX_ILLEGAL_FUNCTION"
	.sleb128 1
	.uleb128 0x5
	.asciz	"MB_EX_ILLEGAL_DATA_ADDRESS"
	.sleb128 2
	.uleb128 0x5
	.asciz	"MB_EX_ILLEGAL_DATA_VALUE"
	.sleb128 3
	.uleb128 0x5
	.asciz	"MB_EX_SLAVE_DEVICE_FAILURE"
	.sleb128 4
	.uleb128 0x5
	.asciz	"MB_EX_ACKNOWLEDGE"
	.sleb128 5
	.uleb128 0x5
	.asciz	"MB_EX_SLAVE_BUSY"
	.sleb128 6
	.uleb128 0x5
	.asciz	"MB_EX_MEMORY_PARITY_ERROR"
	.sleb128 8
	.uleb128 0x5
	.asciz	"MB_EX_GATEWAY_PATH_FAILED"
	.sleb128 10
	.uleb128 0x5
	.asciz	"MB_EX_GATEWAY_TGT_FAILED"
	.sleb128 11
	.byte	0x0
	.uleb128 0x3
	.asciz	"eMBException"
	.byte	0x3
	.byte	0x46
	.4byte	0x19b
	.uleb128 0x6
	.byte	0x2
	.4byte	0x180
	.uleb128 0x6
	.byte	0x2
	.4byte	0x18d
	.uleb128 0x4
	.byte	0x2
	.byte	0x4
	.byte	0x72
	.4byte	0x327
	.uleb128 0x5
	.asciz	"MB_ENOERR"
	.sleb128 0
	.uleb128 0x5
	.asciz	"MB_ENOREG"
	.sleb128 1
	.uleb128 0x5
	.asciz	"MB_EINVAL"
	.sleb128 2
	.uleb128 0x5
	.asciz	"MB_EPORTERR"
	.sleb128 3
	.uleb128 0x5
	.asciz	"MB_ENORES"
	.sleb128 4
	.uleb128 0x5
	.asciz	"MB_EIO"
	.sleb128 5
	.uleb128 0x5
	.asciz	"MB_EILLSTATE"
	.sleb128 6
	.uleb128 0x5
	.asciz	"MB_ETIMEDOUT"
	.sleb128 7
	.byte	0x0
	.uleb128 0x3
	.asciz	"eMBErrorCode"
	.byte	0x4
	.byte	0x7b
	.4byte	0x2b9
	.uleb128 0x7
	.byte	0x1
	.asciz	"eMBFuncReadDiscreteInputs"
	.byte	0x1
	.byte	0x31
	.byte	0x1
	.4byte	0x299
	.4byte	.LFB0
	.4byte	.LFE0
	.byte	0x1
	.byte	0x5e
	.uleb128 0x8
	.asciz	"pucFrame"
	.byte	0x1
	.byte	0x31
	.4byte	0x2ad
	.byte	0x2
	.byte	0x7e
	.sleb128 12
	.uleb128 0x8
	.asciz	"usLen"
	.byte	0x1
	.byte	0x31
	.4byte	0x2b3
	.byte	0x2
	.byte	0x7e
	.sleb128 14
	.uleb128 0x9
	.asciz	"usRegAddress"
	.byte	0x1
	.byte	0x33
	.4byte	0x18d
	.byte	0x2
	.byte	0x7e
	.sleb128 4
	.uleb128 0x9
	.asciz	"usDiscreteCnt"
	.byte	0x1
	.byte	0x34
	.4byte	0x18d
	.byte	0x2
	.byte	0x7e
	.sleb128 6
	.uleb128 0x9
	.asciz	"ucNBytes"
	.byte	0x1
	.byte	0x35
	.4byte	0x180
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.uleb128 0x9
	.asciz	"pucFrameCur"
	.byte	0x1
	.byte	0x36
	.4byte	0x2ad
	.byte	0x2
	.byte	0x7e
	.sleb128 8
	.uleb128 0x9
	.asciz	"eStatus"
	.byte	0x1
	.byte	0x38
	.4byte	0x299
	.byte	0x2
	.byte	0x7e
	.sleb128 2
	.uleb128 0x9
	.asciz	"eRegStatus"
	.byte	0x1
	.byte	0x39
	.4byte	0x327
	.byte	0x2
	.byte	0x7e
	.sleb128 10
	.byte	0x0
	.byte	0x0
	.section	.debug_abbrev,info
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0x8
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x1b
	.uleb128 0x8
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x10
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0x2
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x16
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0x4
	.byte	0x1
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0x28
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x1c
	.uleb128 0xd
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x7
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x8
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x9
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.section	.debug_pubnames,info
	.4byte	0x2c
	.2byte	0x2
	.4byte	.Ldebug_info0
	.4byte	0x40c
	.4byte	0x33b
	.asciz	"eMBFuncReadDiscreteInputs"
	.4byte	0x0
	.section	.debug_pubtypes,info
	.4byte	0x45
	.2byte	0x2
	.4byte	.Ldebug_info0
	.4byte	0x40c
	.4byte	0x180
	.asciz	"UCHAR"
	.4byte	0x18d
	.asciz	"USHORT"
	.4byte	0x299
	.asciz	"eMBException"
	.4byte	0x327
	.asciz	"eMBErrorCode"
	.4byte	0x0
	.section	.debug_aranges,info
	.4byte	0x14
	.2byte	0x2
	.4byte	.Ldebug_info0
	.byte	0x4
	.byte	0x0
	.2byte	0x0
	.2byte	0x0
	.4byte	0x0
	.4byte	0x0
	.section	.debug_line,info
	.4byte	.LELT0-.LSLT0
.LSLT0:
	.2byte	0x2
	.4byte	.LELTP0-.LASLTP0
.LASLTP0:
	.byte	0x1
	.byte	0x1
	.byte	0xf6
	.byte	0xf5
	.byte	0xa
	.byte	0x0
	.byte	0x1
	.byte	0x1
	.byte	0x1
	.byte	0x1
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.byte	0x1
	.ascii	"../../modbus/functions"
	.byte 0
	.ascii	"../../modbus/include"
	.byte 0
	.byte	0x0
	.asciz	"mbfuncdisc.c"
	.uleb128 0x1
	.uleb128 0x0
	.uleb128 0x0
	.asciz	"port.h"
	.uleb128 0x2
	.uleb128 0x0
	.uleb128 0x0
	.asciz	"mbproto.h"
	.uleb128 0x2
	.uleb128 0x0
	.uleb128 0x0
	.asciz	"mb.h"
	.uleb128 0x2
	.uleb128 0x0
	.uleb128 0x0
	.byte	0x0
.LELTP0:
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.Letext0
	.byte	0x0
	.uleb128 0x1
	.byte	0x1
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM0
	.byte	0x45
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM1
	.byte	0x1a
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM2
	.byte	0x17
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM3
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM4
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM5
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM6
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM7
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM8
	.byte	0x19
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM9
	.byte	0x18
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM10
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM11
	.byte	0x17
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM12
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM13
	.byte	0x18
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM14
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM15
	.byte	0x18
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM16
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM17
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM18
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM19
	.byte	0x18
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM20
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM21
	.byte	0x12
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM22
	.byte	0x1d
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM23
	.byte	0xb
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM24
	.byte	0x22
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM25
	.byte	0x1b
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM26
	.byte	0x16
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LSM27
	.byte	0x15
	.byte	0x0
	.uleb128 0x5
	.byte	0x2
	.4byte	.LFE0
	.byte	0x0
	.uleb128 0x1
	.byte	0x1
.LELT0:
	.section	.debug_str,info
	.section	.text,code

	.section __c30_signature, info, data
	.word 0x0001
	.word 0x0000
	.word 0x0000

; MCHP configuration words

	.set ___PA___,0
	.end
