	.file "X:\\902001_4K_ROVCameraDevelopment\\Software\\cameracontrol\\TopSideController.X\\..\\CommonCode\\byte_buffer.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	_bufPut	; export
	.type	_bufPut,@function
_bufPut:
.LFB0:
	.file 1 "../CommonCode/byte_buffer.c"
	.loc 1 12 0
	.set ___PA___,1
	lnk	#4
.LCFI0:
	mov.b	w0,[w14]
	inc2	w14,w0
	mov	w1,[w0]
	.loc 1 13 0
	inc2	w14,w0
	mov	[w0],w0
	rcall	_bufIsFull
	cp0	w0
	.set ___BP___,0
	bra	z,.L2
	.loc 1 15 0
	clr	w0
	bra	.L3
.L2:
	.loc 1 19 0
	inc2	w14,w0
	mov	[w0],w0
	mov	[w0],w1
	inc2	w14,w0
	mov	[w0],w0
	inc2	w0,w0
	mov	[w0],w0
	add	w1,w0,w0
	mov.b	[w14],[w0]
	.loc 1 20 0
	inc2	w14,w0
	mov	[w0],w0
	inc2	w0,w0
	mov	[w0],w0
	inc	w0,w0
	inc2	w14,w1
	mov	[w1],w1
	add	w1,#6,w1
	mov	[w1],w1
	and	w0,w1,w1
	inc2	w14,w0
	mov	[w0],w0
	inc2	w0,w0
	mov	w1,[w0]
	.loc 1 21 0
	mov	#1,w0
.L3:
	.loc 1 23 0
	ulnk	
	return	
	.set ___PA___,0
.LFE0:
	.size	_bufPut, .-_bufPut
	.align	2
	.global	_bufGet	; export
	.type	_bufGet,@function
_bufGet:
.LFB1:
	.loc 1 26 0
	.set ___PA___,1
	lnk	#4
.LCFI1:
	mov	w0,[w14]
	inc2	w14,w0
	mov	w1,[w0]
	.loc 1 27 0
	inc2	w14,w0
	mov	[w0],w0
	rcall	_bufIsEmpty
	cp0	w0
	.set ___BP___,0
	bra	z,.L5
	.loc 1 29 0
	mov	[w14],w1
	clr.b	w0
	mov.b	w0,[w1]
	.loc 1 30 0
	clr	w0
	bra	.L6
.L5:
	.loc 1 34 0
	inc2	w14,w0
	mov	[w0],w0
	mov	[w0],w1
	inc2	w14,w0
	mov	[w0],w0
	add	w0,#4,w0
	mov	[w0],w0
	add	w1,w0,w0
	mov.b	[w0],w0
	mov	[w14],w1
	mov.b	w0,[w1]
	.loc 1 35 0
	inc2	w14,w0
	mov	[w0],w0
	add	w0,#4,w0
	mov	[w0],w0
	inc	w0,w0
	inc2	w14,w1
	mov	[w1],w1
	add	w1,#6,w1
	mov	[w1],w1
	and	w0,w1,w1
	inc2	w14,w0
	mov	[w0],w0
	add	w0,#4,w0
	mov	w1,[w0]
	.loc 1 36 0
	mov	#1,w0
.L6:
	.loc 1 38 0
	ulnk	
	return	
	.set ___PA___,0
.LFE1:
	.size	_bufGet, .-_bufGet
	.align	2
	.global	_bufClear	; export
	.type	_bufClear,@function
_bufClear:
.LFB2:
	.loc 1 41 0
	.set ___PA___,1
	lnk	#2
.LCFI2:
	mov	w0,[w14]
	.loc 1 42 0
	mov	[w14],w0
	clr	w1
	add	w0,#4,w0
	mov	w1,[w0]
	.loc 1 43 0
	mov	[w14],w0
	clr	w1
	inc2	w0,w0
	mov	w1,[w0]
	.loc 1 44 0
	ulnk	
	return	
	.set ___PA___,0
.LFE2:
	.size	_bufClear, .-_bufClear
	.align	2
	.global	_bufIsFull	; export
	.type	_bufIsFull,@function
_bufIsFull:
.LFB3:
	.loc 1 47 0
	.set ___PA___,1
	lnk	#2
.LCFI3:
	mov	w0,[w14]
	.loc 1 48 0
	mov	[w14],w0
	inc2	w0,w0
	mov	[w0],w0
	inc	w0,w0
	mov	[w14],w1
	add	w1,#6,w1
	mov	[w1],w1
	and	w0,w1,w0
	mov	[w14],w1
	add	w1,#4,w1
	mov	[w1],w1
	sub	w0,w1,[w15]
	.set ___BP___,0
	bra	nz,.L9
	.loc 1 49 0
	mov	#1,w0
	bra	.L10
.L9:
	.loc 1 51 0
	clr	w0
.L10:
	.loc 1 52 0
	ulnk	
	return	
	.set ___PA___,0
.LFE3:
	.size	_bufIsFull, .-_bufIsFull
	.align	2
	.global	_bufIsEmpty	; export
	.type	_bufIsEmpty,@function
_bufIsEmpty:
.LFB4:
	.loc 1 55 0
	.set ___PA___,1
	lnk	#2
.LCFI4:
	mov	w0,[w14]
	.loc 1 56 0
	mov	[w14],w0
	add	w0,#4,w0
	mov	[w0],w1
	mov	[w14],w0
	inc2	w0,w0
	mov	[w0],w0
	sub	w1,w0,[w15]
	.set ___BP___,0
	bra	nz,.L12
	.loc 1 57 0
	mov	#1,w0
	bra	.L13
.L12:
	.loc 1 59 0
	clr	w0
.L13:
	.loc 1 60 0
	ulnk	
	return	
	.set ___PA___,0
.LFE4:
	.size	_bufIsEmpty, .-_bufIsEmpty
	.align	2
	.global	_bufAvailable	; export
	.type	_bufAvailable,@function
_bufAvailable:
.LFB5:
	.loc 1 63 0
	.set ___PA___,1
	lnk	#2
.LCFI5:
	mov	w0,[w14]
	.loc 1 64 0
	mov	[w14],w0
	inc2	w0,w0
	mov	[w0],w1
	mov	[w14],w0
	add	w0,#4,w0
	mov	[w0],w0
	sub	w1,w0,w0
	mov	[w14],w1
	add	w1,#6,w1
	mov	[w1],w1
	and	w0,w1,w0
	.loc 1 65 0
	ulnk	
	return	
	.set ___PA___,0
.LFE5:
	.size	_bufAvailable, .-_bufAvailable
	.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
	.byte	0x4
	.4byte	.LCFI0-.LFB0
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE0:
.LSFDE2:
	.4byte	.LEFDE2-.LASFDE2
.LASFDE2:
	.4byte	.Lframe0
	.4byte	.LFB1
	.4byte	.LFE1-.LFB1
	.byte	0x4
	.4byte	.LCFI1-.LFB1
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE2:
.LSFDE4:
	.4byte	.LEFDE4-.LASFDE4
.LASFDE4:
	.4byte	.Lframe0
	.4byte	.LFB2
	.4byte	.LFE2-.LFB2
	.byte	0x4
	.4byte	.LCFI2-.LFB2
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE4:
.LSFDE6:
	.4byte	.LEFDE6-.LASFDE6
.LASFDE6:
	.4byte	.Lframe0
	.4byte	.LFB3
	.4byte	.LFE3-.LFB3
	.byte	0x4
	.4byte	.LCFI3-.LFB3
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE6:
.LSFDE8:
	.4byte	.LEFDE8-.LASFDE8
.LASFDE8:
	.4byte	.Lframe0
	.4byte	.LFB4
	.4byte	.LFE4-.LFB4
	.byte	0x4
	.4byte	.LCFI4-.LFB4
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE8:
.LSFDE10:
	.4byte	.LEFDE10-.LASFDE10
.LASFDE10:
	.4byte	.Lframe0
	.4byte	.LFB5
	.4byte	.LFE5-.LFB5
	.byte	0x4
	.4byte	.LCFI5-.LFB5
	.byte	0x12
	.uleb128 0xe
	.sleb128 -3
	.byte	0x8e
	.uleb128 0x2
	.align	4
.LEFDE10:
	.section	.text,code
.Letext0:
	.file 2 "../CommonCode/byte_buffer.h"
	.section	.debug_info,info
	.4byte	0x26b
	.2byte	0x2
	.4byte	.Ldebug_abbrev0
	.byte	0x4
	.uleb128 0x1
	.asciz	"GNU C 4.5.1 (XC16, Microchip v2.00) (B) Build date: Jan 24 2022"
	.byte	0x1
	.asciz	"../CommonCode/byte_buffer.c"
	.ascii	"X:\\902001_4K_ROVCameraDevelopment\\Software\\cameracontrol\\TopSide"
	.asciz	"Controller.X"
	.4byte	.Ltext0
	.4byte	.Letext0
	.4byte	.Ldebug_line0
	.uleb128 0x2
	.byte	0x8
	.byte	0x2
	.byte	0x4
	.4byte	0x10b
	.uleb128 0x3
	.asciz	"data"
	.byte	0x2
	.byte	0x6
	.4byte	0x10b
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x3
	.asciz	"head"
	.byte	0x2
	.byte	0x7
	.4byte	0x122
	.byte	0x2
	.byte	0x23
	.uleb128 0x2
	.uleb128 0x3
	.asciz	"tail"
	.byte	0x2
	.byte	0x8
	.4byte	0x122
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.uleb128 0x3
	.asciz	"ptr_mask"
	.byte	0x2
	.byte	0x9
	.4byte	0x122
	.byte	0x2
	.byte	0x23
	.uleb128 0x6
	.byte	0x0
	.uleb128 0x4
	.byte	0x2
	.4byte	0x111
	.uleb128 0x5
	.byte	0x1
	.byte	0x8
	.asciz	"unsigned char"
	.uleb128 0x5
	.byte	0x2
	.byte	0x5
	.asciz	"int"
	.uleb128 0x6
	.asciz	"ByteBuffer"
	.byte	0x2
	.byte	0xa
	.4byte	0xc2
	.uleb128 0x7
	.byte	0x1
	.asciz	"bufPut"
	.byte	0x1
	.byte	0xb
	.byte	0x1
	.4byte	0x122
	.4byte	.LFB0
	.4byte	.LFE0
	.byte	0x1
	.byte	0x5e
	.4byte	0x174
	.uleb128 0x8
	.asciz	"b"
	.byte	0x1
	.byte	0xb
	.4byte	0x111
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0xb
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 2
	.byte	0x0
	.uleb128 0x4
	.byte	0x2
	.4byte	0x129
	.uleb128 0x7
	.byte	0x1
	.asciz	"bufGet"
	.byte	0x1
	.byte	0x19
	.byte	0x1
	.4byte	0x122
	.4byte	.LFB1
	.4byte	.LFE1
	.byte	0x1
	.byte	0x5e
	.4byte	0x1b3
	.uleb128 0x8
	.asciz	"b"
	.byte	0x1
	.byte	0x19
	.4byte	0x10b
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0x19
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 2
	.byte	0x0
	.uleb128 0xa
	.byte	0x1
	.asciz	"bufClear"
	.byte	0x1
	.byte	0x28
	.byte	0x1
	.4byte	.LFB2
	.4byte	.LFE2
	.byte	0x1
	.byte	0x5e
	.4byte	0x1de
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0x28
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.byte	0x0
	.uleb128 0x7
	.byte	0x1
	.asciz	"bufIsFull"
	.byte	0x1
	.byte	0x2e
	.byte	0x1
	.4byte	0x122
	.4byte	.LFB3
	.4byte	.LFE3
	.byte	0x1
	.byte	0x5e
	.4byte	0x20e
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0x2e
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.byte	0x0
	.uleb128 0x7
	.byte	0x1
	.asciz	"bufIsEmpty"
	.byte	0x1
	.byte	0x36
	.byte	0x1
	.4byte	0x122
	.4byte	.LFB4
	.4byte	.LFE4
	.byte	0x1
	.byte	0x5e
	.4byte	0x23f
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0x36
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.byte	0x0
	.uleb128 0xb
	.byte	0x1
	.asciz	"bufAvailable"
	.byte	0x1
	.byte	0x3e
	.byte	0x1
	.4byte	0x122
	.4byte	.LFB5
	.4byte	.LFE5
	.byte	0x1
	.byte	0x5e
	.uleb128 0x9
	.4byte	.LASF0
	.byte	0x1
	.byte	0x3e
	.4byte	0x174
	.byte	0x2
	.byte	0x7e
	.sleb128 0
	.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 0x13
	.byte	0x1
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.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 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
	.uleb128 0x1
	.uleb128 0x13
	.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 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xa
	.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 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0xa
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xb
	.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
	.byte	0x0
	.section	.debug_pubnames,info
	.4byte	0x5f
	.2byte	0x2
	.4byte	.Ldebug_info0
	.4byte	0x26f
	.4byte	0x13b
	.asciz	"bufPut"
	.4byte	0x17a
	.asciz	"bufGet"
	.4byte	0x1b3
	.asciz	"bufClear"
	.4byte	0x1de
	.asciz	"bufIsFull"
	.4byte	0x20e
	.asciz	"bufIsEmpty"
	.4byte	0x23f
	.asciz	"bufAvailable"
	.4byte	0x0
	.section	.debug_pubtypes,info
	.4byte	0x1d
	.2byte	0x2
	.4byte	.Ldebug_info0
	.4byte	0x26f
	.4byte	0x129
	.asciz	"ByteBuffer"
	.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_str,info
.LASF0:
	.asciz	"buff"
	.section	.text,code



	.section __c30_info, info, bss
__large_data_scalar:

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

; MCHP configuration words

	.set ___PA___,0
	.end
