; Archelon URCC C 3.17 2004/01/12
; MSP430 CIF 2003/10/23
; Compiled "E:\mmcrfio\kvh.c" Fri Feb 20 18:03:45 2004
; 
	.dbgseg dbg_syms
	.align 0x2
	.long 0x6c69662e
	.long 0x65
	.long 0x1
	.long 0x0
	.long 0x167fffe
	.long 0x0
	.long DBG5
	.long 0x0
	.long 0x0
	.long 0x0
; __builtin__ unsigned short _BIS_SR(unsigned short);
; __builtin__ unsigned short _BIC_SR(unsigned short);
; __builtin__ unsigned short _BIS_SR_IRQ(unsigned short);
; __builtin__ unsigned short _BIC_SR_IRQ(unsigned short);
;  __builtin__ void _DINT(void);
; __builtin__ void _EINT(void);
; __builtin__ void _NOP(void);
; __builtin__ void _OPC(const unsigned short op);
; __builtin__ short _SWPB(short);  
; __builtin__ long _SWPB_LONG(long);  
; __builtin__ float _SWPB_FLOAT(float);  
; sfrb    IE1               = (0x0000) ;
; sfrb    IFG1              = (0x0002) ;
; sfrb    ME1               = (0x0004) ;
; sfrb    IE2               = (0x0001) ;
; sfrb    IFG2              = (0x0003) ;
; sfrb    ME2               = (0x0005) ;
; sfrw    WDTCTL            = (0x0120) ;
; sfrw    MPY               = (0x0130) ;
; sfrw    MPYS              = (0x0132) ;
; sfrw    MAC               = (0x0134) ;
; sfrw    MACS              = (0x0136) ;
; sfrw    OP2               = (0x0138) ;
; sfrw    RESLO             = (0x013A) ;
; sfrw    RESHI             = (0x013C) ;
; const sfrw SUMEXT         = (0x013E) ;
; const sfrb P1IN           = (0x0020) ;
; sfrb    P1OUT             = (0x0021) ;
; sfrb    P1DIR             = (0x0022) ;
; sfrb    P1IFG             = (0x0023) ;
; sfrb    P1IES             = (0x0024) ;
; sfrb    P1IE              = (0x0025) ;
; sfrb    P1SEL             = (0x0026) ;
; const sfrb P2IN           = (0x0028) ;
; sfrb    P2OUT             = (0x0029) ;
; sfrb    P2DIR             = (0x002A) ;
; sfrb    P2IFG             = (0x002B) ;
; sfrb    P2IES             = (0x002C) ;
; sfrb    P2IE              = (0x002D) ;
; sfrb    P2SEL             = (0x002E) ;
; const sfrb P3IN           = (0x0018) ;
; sfrb    P3OUT             = (0x0019) ;
; sfrb    P3DIR             = (0x001A) ;
; sfrb    P3SEL             = (0x001B) ;
; const sfrb P4IN           = (0x001C) ;
; sfrb    P4OUT             = (0x001D) ;
; sfrb    P4DIR             = (0x001E) ;
; sfrb    P4SEL             = (0x001F) ;
; const sfrb P5IN           = (0x0030) ;
; sfrb    P5OUT             = (0x0031) ;
; sfrb    P5DIR             = (0x0032) ;
; sfrb    P5SEL             = (0x0033) ;
; const sfrb P6IN           = (0x0034) ;
; sfrb    P6OUT             = (0x0035) ;
; sfrb    P6DIR             = (0x0036) ;
; sfrb    P6SEL             = (0x0037) ;
; sfrb    U0CTL             = (0x0070) ;
; sfrb    U0TCTL            = (0x0071) ;
; sfrb    U0RCTL            = (0x0072) ;
; sfrb    U0MCTL            = (0x0073) ;
; sfrb    U0BR0             = (0x0074) ;
; sfrb    U0BR1             = (0x0075) ;
; const sfrb U0RXBUF        = (0x0076) ;
; sfrb    U0TXBUF           = (0x0077) ;
; sfrb    U1CTL             = (0x0078) ;
; sfrb    U1TCTL            = (0x0079) ;
; sfrb    U1RCTL            = (0x007A) ;
; sfrb    U1MCTL            = (0x007B) ;
; sfrb    U1BR0             = (0x007C) ;
; sfrb    U1BR1             = (0x007D) ;
; const sfrb U1RXBUF        = (0x007E) ;
; sfrb    U1TXBUF           = (0x007F) ;
; const sfrw TAIV           = (0x012E) ;
; sfrw    TACTL             = (0x0160) ;
; sfrw    TACCTL0           = (0x0162) ;
; sfrw    TACCTL1           = (0x0164) ;
; sfrw    TACCTL2           = (0x0166) ;
; sfrw    TAR               = (0x0170) ;
; sfrw    TACCR0            = (0x0172) ;
; sfrw    TACCR1            = (0x0174) ;
; sfrw    TACCR2            = (0x0176) ;
; const sfrw TBIV           = (0x011E) ;
; sfrw    TBCTL             = (0x0180) ;
; sfrw    TBCCTL0           = (0x0182) ;
; sfrw    TBCCTL1           = (0x0184) ;
; sfrw    TBCCTL2           = (0x0186) ;
; sfrw    TBCCTL3           = (0x0188) ;
; sfrw    TBCCTL4           = (0x018A) ;
; sfrw    TBCCTL5           = (0x018C) ;
; sfrw    TBCCTL6           = (0x018E) ;
; sfrw    TBR               = (0x0190) ;
; sfrw    TBCCR0            = (0x0192) ;
; sfrw    TBCCR1            = (0x0194) ;
; sfrw    TBCCR2            = (0x0196) ;
; sfrw    TBCCR3            = (0x0198) ;
; sfrw    TBCCR4            = (0x019A) ;
; sfrw    TBCCR5            = (0x019C) ;
; sfrw    TBCCR6            = (0x019E) ;
; sfrb    DCOCTL            = (0x0056) ;
; sfrb    BCSCTL1           = (0x0057) ;
; sfrb    BCSCTL2           = (0x0058) ;
; sfrw    FCTL1             = (0x0128) ;
; sfrw    FCTL2             = (0x012A) ;
; sfrw    FCTL3             = (0x012C) ;
; sfrb    CACTL1            = (0x0059) ;
; sfrb    CACTL2            = (0x005A) ;
; sfrb    CAPD              = (0x005B) ;
; sfrw    ADC12CTL0         = (0x01A0) ;
; sfrw    ADC12CTL1         = (0x01A2) ;
; sfrw    ADC12IFG          = (0x01A4) ;
; sfrw    ADC12IE           = (0x01A6) ;
; sfrw    ADC12IV           = (0x01A8) ;
; sfrw    ADC12MEM0         = (0x0140) ;
; sfrw    ADC12MEM1         = (0x0142) ;
; sfrw    ADC12MEM2         = (0x0144) ;
; sfrw    ADC12MEM3         = (0x0146) ;
; sfrw    ADC12MEM4         = (0x0148) ;
; sfrw    ADC12MEM5         = (0x014A) ;
; sfrw    ADC12MEM6         = (0x014C) ;
; sfrw    ADC12MEM7         = (0x014E) ;
; sfrw    ADC12MEM8         = (0x0150) ;
; sfrw    ADC12MEM9         = (0x0152) ;
; sfrw    ADC12MEM10        = (0x0154) ;
; sfrw    ADC12MEM11        = (0x0156) ;
; sfrw    ADC12MEM12        = (0x0158) ;
; sfrw    ADC12MEM13        = (0x015A) ;
; sfrw    ADC12MEM14        = (0x015C) ;
; sfrw    ADC12MEM15        = (0x015E) ;
; sfrb    ADC12MCTL0        = (0x0080) ;
; sfrb    ADC12MCTL1        = (0x0081) ;
; sfrb    ADC12MCTL2        = (0x0082) ;
; sfrb    ADC12MCTL3        = (0x0083) ;
; sfrb    ADC12MCTL4        = (0x0084) ;
; sfrb    ADC12MCTL5        = (0x0085) ;
; sfrb    ADC12MCTL6        = (0x0086) ;
; sfrb    ADC12MCTL7        = (0x0087) ;
; sfrb    ADC12MCTL8        = (0x0088) ;
; sfrb    ADC12MCTL9        = (0x0089) ;
; sfrb    ADC12MCTL10       = (0x008A) ;
; sfrb    ADC12MCTL11       = (0x008B) ;
; sfrb    ADC12MCTL12       = (0x008C) ;
; sfrb    ADC12MCTL13       = (0x008D) ;
; sfrb    ADC12MCTL14       = (0x008E) ;
; sfrb    ADC12MCTL15       = (0x008F) ;
; typedef unsigned int size_t;
; size_t size 2
; typedef void *va_list;
; va_list size 2
; typedef struct {
; 	unsigned char *_base;
; 	unsigned char *_end;
; 	unsigned char *_ptr;
; 	long int       _seek;
; 	int            _cnt;
; 	short          _flag;
; 	char           _file;
; 	unsigned char  _nbf;
; } FILE;
; FILE size 16
; int    sprintf( char *, const char *, ... );
; int    sscanf( const char *, const char *, ... );
; int    vsprintf( char *, const char *, va_list );
; typedef int wchar_t;
; wchar_t size 2
; typedef struct {
; 	int rem;
; 	int quot;
; } div_t;
; div_t size 4
; typedef struct {
; 	long rem;
; 	long quot;
; } ldiv_t;
; ldiv_t size 8
; double atof( const char * );
; int atoi( const char * );
; long int atol( const char * );
; double strtod( const char *, char ** );
; long int strtol( const char *, char **, int );
; unsigned long int strtoul( const char *, char **, int );
; int rand( void );
; void srand( unsigned int );
; int system( const char * );
; void *bsearch( const void *, const void *, size_t, size_t,
; 	int (*)(const void *, const void *) );
; void qsort( void *, size_t, size_t, int (*)(const void *, const void *) );
; int abs( int );
; div_t div( int, int );
; long int labs( long int );
; ldiv_t ldiv( long int, long int );
; int mblen( const char *, size_t );
; int mbtowc( wchar_t *, const char *, size_t );
; int wctomb( char *, wchar_t );
; size_t mbstowcs( wchar_t *, const char *, size_t );
; size_t wcstombs( char *, const wchar_t *, size_t );
; typedef int boolean;
; boolean size 2
; enum {false = 0, true = 1};
; enum {error = -1, success = 0};
; typedef void (*eventHandler)(void);
; eventHandler size 2
; int eventqInit(void);
; void eventqPut(int);
; void eventqUrgentPut(int);
; int eventqGet(void);
; int eventqRegisterHandler(int evType, eventHandler handler);
; int eventqGetHandler(int evType, eventHandler *pHandler);
; void eventqProcessEvents(void);
; typedef int (*sensorSampleMethod)(float *);
; sensorSampleMethod size 2
; typedef struct {
;   unsigned char curState;
;   unsigned char prevState;
;   unsigned char flags;
;   float levelHi;
;   float levelLo;
;   float lastValue;
;   sensorSampleMethod method;
; } sensorState;
; sensorState size 18
; int sensorInit(void);
; int sensorRegisterSampleMethod(int sensorId, unsigned char flags, sensorSampleMethod method);
; int sensorGetData(int sensorId, float * pValue);
; int sensorGetLevel(int levelId, float * pLevel);
; int sensorSetLevel(int levelId, float level);
; int sensorTriggerAlarm(int sensorId);
; void gpioInit(void);
; void gpioSetLed(boolean);
; void gpioSetAttn(boolean);
; void gpioSetHiSide(boolean);
; void gpioSetGfTest(boolean);
; void gpioSetKvhPower(boolean);
; void adc12Init(void);
; int adc12ScanEnable(void);
; int adc12ScanDisable(void);
; int adc12GetKvh(unsigned int *pResult);
; int adc12GetGfiHi(unsigned int *pResult);
; int adc12GetGfiLo(unsigned int *pResult);
; int usart1Init(boolean spiMode);
; boolean usart1GetTxIntEnable(void);
; int usart1TxOne(char txCh);
; int usart1RxOne(char *pRxCh);
; int outfmtInit(void);
; void outfmtSendAlarmInfo(int type, unsigned char alarms);
; void outfmtSendPrompt(void);
; void outfmtSendCrLf(void);
; void outfmtSendVersion(char *);
; void outfmtSendData(void);
; void outfmtSendLevels(void);
; void outfmtSendTime(int, int, int);
; void outfmtSendDate(int, int, int);
; void outfmtSendError(int);
; int outfmtGetBuffer(char **, int *);
; int outfmtSendBuffer(void);
; typedef int (*commandHandler)(char *);
; commandHandler size 2
; int cmdparseInit(void);
; void cmdparseShow(void);
; int cmdparseAddCommand(char * pCmdStr, char * pSubCmdStr, commandHandler handler);
; int cmdparseDoCommand(char * pCmdStr);
; char * errnumGetDesc(int errNum);
; void clearString(char *s, int len);
; void eatWhiteSpace(char **s);
; int grabArgument(char **srcStr, char *dstStr, int dstLen);
; void kvhInit(void);
; int kvhGetHandler(char *cmdStr);
; int kvhPutHandler(char *cmdStr);
; int kvhAnalogHandler(char *cmdStr);
; int kvhTurnsCounterSetHandler(char *cmdStr);
; void kvhReceiveHandler(void);
; void kvhRawAdcInHandler(void);
; int kvhGetHeading(float * pHeading);
; int kvhGetTurnsCounter(float *pTurns);
; static float currentHeading;
; static float previousHeading;
; static int clockwiseTurns;
; static int counterClockwiseTurns;
; static int netTurns;
; static int initialHighCount;
; static int initialLowCount;
; static int lowTurnThresholdCount;
; static int highTurnThresholdCount;
; static float lowTurnThresholdLevel;
; static float highTurnThresholdLevel;
; static unsigned int lastRawAdcSample;
; static unsigned int maxRawAdcSample;
; static unsigned int minRawAdcSample;
; static char * haltOutputStr = "h\n";
	.iseg kvh_idata
	.align 0x2
kvh_V15:
	.align 0x2
	.align 0x2
	.data kvh_V16
	.dseg	kvh_data
	.align 0x2
kvh_V17:
	.align 0x2
_haltOutputStr:
	.bss 0x2
; haltOutputStr size 2
; static char * analogLinearOutStr = "=at,0\n";
	.iseg kvh_idata
	.align 0x2
	.align 0x2
	.data kvh_V18
	.dseg	kvh_data
	.align 0x2
_analogLinearOutStr:
	.bss 0x2
; analogLinearOutStr size 2
; static float adcCountsToMvScale = (3300.0 / 4096.0);
	.iseg kvh_idata
	.align 0x2
	.align 0x2
	.long 0x3f4e4000
	.dseg	kvh_data
	.align 0x2
_adcCountsToMvScale:
	.bss 0x4
; adcCountsToMvScale size 4
; static void initVars(void)
	.dbgseg dbg_syms
DBG3:
	.long 0x74696e69
	.long 0x73726156
	.long _initVars
	.long 0x40
	.long 0x1030001
	.long DBG1
	.long DBG7-DBG8
	.long DBG9
	.long DBG6
	.long 0x0
	.pseg kvh_code
DBG8:
	.dbgseg dbg_syms
DBG1:
	.long 0x66622e
	.long 0x0
	.long DBG8
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x4b
	.long 0x0
	.long DBG10
	.long 0x0
	.dbgseg dbg_line
	.align 0x2
DBG9:
	.long DBG3
	.long 0x0
	.long _initVars
	.long 0x1
	.long DBG12
	.long 0x2
	.long DBG13
	.long 0x3
	.long DBG14
	.long 0x4
	.long DBG15
	.long 0x5
	.long DBG16
	.long 0x6
	.long DBG17
	.long 0x7
	.long DBG18
	.long 0x8
	.long DBG19
	.long 0x9
	.long DBG20
	.long 0xa
	.long DBG21
	.long 0xb
	.long DBG22
	.long 0xc
	.long DBG23
	.long 0xd
	.long DBG24
	.long 0xf
	.long DBG25
	.long 0x10
	.long DBG26
	.long 0x11
	.pseg kvh_code
_initVars:
; ENTRY
DBG11:
; {
DBG12:
;   currentHeading = -1.0;
DBG13:
	mov	&__fcons1,&_currentHeading
	mov	&__fcons1+0x2,&_currentHeading+0x2
DBG14:
;   previousHeading = -1.0;
	mov	&__fcons1,&_previousHeading
	mov	&__fcons1+0x2,&_previousHeading+0x2
DBG15:
;   lowTurnThresholdCount = 0;
	mov	#0x0,&_lowTurnThresholdCount
DBG16:
;   highTurnThresholdCount = 0;
	mov	#0x0,&_highTurnThresholdCount
DBG17:
;   lowTurnThresholdLevel = (30.0) ;
	mov	&__fcons2,&_lowTurnThresholdLevel
	mov	&__fcons2+0x2,&_lowTurnThresholdLevel+0x2
DBG18:
;   highTurnThresholdLevel = (330.0) ;
	mov	&__fcons3,&_highTurnThresholdLevel
	mov	&__fcons3+0x2,&_highTurnThresholdLevel+0x2
DBG19:
;   clockwiseTurns = 0;
	mov	#0x0,&_clockwiseTurns
DBG20:
;   counterClockwiseTurns = 0;
	mov	#0x0,&_counterClockwiseTurns
DBG21:
;   netTurns = 0;
	mov	#0x0,&_netTurns
DBG22:
;   initialHighCount = 2;
	mov	#0x2,&_initialHighCount
DBG23:
;   initialLowCount = 2;
	mov	#0x2,&_initialLowCount
DBG24:
;   minRawAdcSample = 65535U;
	mov	#0xffff,&_minRawAdcSample
DBG25:
;   maxRawAdcSample = 0;
	mov	#0x0,&_maxRawAdcSample
DBG27:
DBG26:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG27
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5b
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG7:
	.dbgseg dbg_syms
	.long 0x74696e69
	.long 0x73726156
	.long DBG7
	.long 0x0
	.long 0xff0001
; }
; static void initHardware(void)
DBG6:
	.long 0x0
	.long DBG34
	.long _initHardware
	.long 0x40
	.long 0x1030001
	.long DBG10
	.long DBG31-DBG32
	.long DBG33
	.long DBG30
	.long 0x0
	.pseg kvh_code
DBG32:
	.dbgseg dbg_syms
DBG10:
	.long 0x66622e
	.long 0x0
	.long DBG32
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5d
	.long 0x0
	.long DBG35
	.long 0x0
	.dbgseg dbg_line
DBG33:
	.long DBG6
	.long 0x0
	.long _initHardware
	.long 0x1
	.long DBG37
	.long 0x2
	.long DBG38
	.long 0x3
	.long DBG39
	.long 0x9
	.pseg kvh_code
_initHardware:
; ENTRY
DBG36:
; {
DBG37:
;   gpioSetKvhPower(true);
DBG38:
	mov	#0x1,r12
	call	#_gpioSetKvhPower
DBG40:
DBG39:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG40
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x65
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG31:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG34
	.long DBG31
	.long 0x0
	.long 0xff0001
; }
; void kvhInit(void)
DBG30:
	.long 0x4968766b
	.long 0x74696e
	.long _kvhInit
	.long 0x40
	.long 0x1020001
	.long DBG35
	.long DBG42-DBG43
	.long DBG44
	.long DBG41
	.long 0x0
	.pseg kvh_code
DBG43:
	.dbgseg dbg_syms
DBG35:
	.long 0x66622e
	.long 0x0
	.long DBG43
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x67
	.long 0x0
	.long DBG45
	.long 0x0
	.dbgseg dbg_line
DBG44:
	.long DBG30
	.long 0x0
	.long _kvhInit
	.long 0x1
	.long DBG47
	.long 0x2
	.long DBG48
	.long 0x3
	.long DBG49
	.long 0x5
	.long DBG50
	.long 0x7
	.long DBG51
	.long 0x8
	.long DBG52
	.long 0x9
	.long DBG53
	.long 0xa
	.long DBG54
	.long 0xe
	.long DBG55
	.long 0x12
	.long DBG56
	.long 0x14
	.long DBG57
	.long 0x16
	.long DBG58
	.long 0x18
	.pseg kvh_code
	.global _kvhInit
_kvhInit:
	push	r4
DBG48:
DBG47:
DBG46:
; ENTRY
; {
;   initVars();
	call	#_initVars
DBG49:
;   initHardware();
	call	#_initHardware
DBG50:
;   cmdparseAddCommand("kvh", "get", kvhGetHandler);
	mov	#_kvhGetHandler,r14
	mov	#kvh_V23,r13
	mov	#kvh_V22,r12
	call	#_cmdparseAddCommand
DBG51:
;   cmdparseAddCommand("kvh", "put", kvhPutHandler);
	mov	#_kvhPutHandler,r14
	mov	#kvh_V24,r13
	mov	#kvh_V22,r12
	call	#_cmdparseAddCommand
DBG52:
;   cmdparseAddCommand("kvh", "analog", kvhAnalogHandler);
	mov	#_kvhAnalogHandler,r14
	mov	#kvh_V25,r13
	mov	#kvh_V22,r12
	call	#_cmdparseAddCommand
DBG53:
;   cmdparseAddCommand("set", "turns",  kvhTurnsCounterSetHandler);
	mov	#_kvhTurnsCounterSetHandler,r14
	mov	#kvh_V27,r13
	mov	#kvh_V26,r12
	call	#_cmdparseAddCommand
DBG54:
;   sensorRegisterSampleMethod( (5) ,
;                              0,
	mov	#_kvhGetHeading,r14
	mov.b	#0x0,r4
	mov	r4,r13
	mov	#0x5,r12
	call	#_sensorRegisterSampleMethod
DBG55:
;                              kvhGetHeading);
;   sensorRegisterSampleMethod( (6) ,
;                              0,
	mov	#_kvhGetTurnsCounter,r14
	mov	r4,r13
	mov	#0x6,r12
	call	#_sensorRegisterSampleMethod
DBG56:
;                              kvhGetTurnsCounter);
;   eventqRegisterHandler( (8) , kvhReceiveHandler);
	mov	#_kvhReceiveHandler,r13
	mov	#0x8,r12
	call	#_eventqRegisterHandler
DBG57:
;   eventqRegisterHandler( (9) , kvhRawAdcInHandler);
	mov	#_kvhRawAdcInHandler,r13
	mov	#0x9,r12
	call	#_eventqRegisterHandler
DBG59:
DBG58:
; EXIT
; .temp0 at stkloc 0 (0x0) size 2
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG59
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x7e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG42:
	.dbgseg dbg_syms
	.long 0x4968766b
	.long 0x74696e
	.long DBG42
	.long 0x0
	.long 0xff0001
; }
; int kvhGetHeading(float * pHeading)
DBG41:
	.long 0x0
	.long DBG64
	.long _kvhGetHeading
	.long 0x44
	.long 0x1020001
	.long DBG45
	.long DBG61-DBG62
	.long DBG63
	.long DBG60
	.long 0x0
	.pseg kvh_code
DBG62:
	.dbgseg dbg_syms
DBG45:
	.long 0x66622e
	.long 0x0
	.long DBG62
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x80
	.long 0x0
	.long DBG65
	.long 0x0
	.dbgseg dbg_line
DBG63:
	.long DBG41
	.long 0x0
	.long _kvhGetHeading
	.long 0x1
	.long DBG67
	.long 0x2
	.long DBG68
	.long 0x3
	.long DBG69
	.long 0x4
	.long DBG70
	.long 0x6
	.long DBG71
	.long 0x7
	.long DBG72
	.long 0x8
	.pseg kvh_code
	.global _kvhGetHeading
_kvhGetHeading:
; ENTRY
DBG66:
; pHeading at argloc 0 (0x0) in reg  size 2
; {
DBG67:
;   if (pHeading == ((void *) 0) )
DBG68:
	cmp	#0x0,r12
	jne	kvhGetHeading_L1
DBG69:
;     return -1;
	mov	#-0x1,r12
	jmp	kvhGetHeading_LL2
DBG70:
kvhGetHeading_L1:
;   *pHeading = currentHeading;
	mov	&_currentHeading,0(r12)
	mov	&_currentHeading+0x2,0x2(r12)
DBG71:
;   return 0;
	mov	#0x0,r12
DBG72:
kvhGetHeading_LL2:
; EXIT
DBG73:
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
DBG2:
	.long 0x62622e
	.long 0x0
	.long DBG66
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG74
	.long 0x0
	.long 0x61654870
	.long 0x676e6964
	.long 0xc0102
	.long 0x26
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG70
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG74:
	.long 0x62622e
	.long 0x0
	.long DBG71
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long DBG75
	.long 0x0
	.long 0x61654870
	.long 0x676e6964
	.long 0xc0102
	.long 0x26
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG72
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG73
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x87
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG61:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG64
	.long DBG61
	.long 0x0
	.long 0xff0001
; }
; int kvhGetTurnsCounter(float *pTurns)
DBG60:
	.long 0x0
	.long DBG80
	.long _kvhGetTurnsCounter
	.long 0x44
	.long 0x1020001
	.long DBG65
	.long DBG77-DBG78
	.long DBG79
	.long DBG76
	.long 0x0
	.pseg kvh_code
DBG78:
	.dbgseg dbg_syms
DBG65:
	.long 0x66622e
	.long 0x0
	.long DBG78
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x89
	.long 0x0
	.long DBG81
	.long 0x0
	.dbgseg dbg_line
DBG79:
	.long DBG60
	.long 0x0
	.long _kvhGetTurnsCounter
	.long 0x1
	.long DBG83
	.long 0x2
	.long DBG84
	.long 0x3
	.long DBG85
	.long 0x4
	.long DBG86
	.long 0x6
	.long DBG87
	.long 0x7
	.long DBG88
	.long 0x8
	.pseg kvh_code
	.global _kvhGetTurnsCounter
_kvhGetTurnsCounter:
	push	r4
DBG82:
; ENTRY
	mov	r12,r4
DBG84:
DBG83:
; pTurns at argloc 0 (0x0) in reg  size 2
; {
;   if (pTurns == ((void *) 0) )
	cmp	#0x0,r4
	jne	kvhGetTurnsCounter_L1
DBG85:
;     return -1;
	mov	#-0x1,r12
	jmp	kvhGetTurnsCounter_LL2
DBG86:
kvhGetTurnsCounter_L1:
;   *pTurns = ((float)netTurns);
	mov	&_netTurns,r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	kvhGetTurnsCounter_LL3
	mov	#-0x1,r12
kvhGetTurnsCounter_LL3:
DBG89:
	call	#__l_to_s
DBG90:
	mov	r13,0(r4)
	mov	r12,0x2(r4)
DBG87:
;   return 0;
	mov	#0x0,r12
DBG88:
kvhGetTurnsCounter_LL2:
; EXIT
; .temp1 at stkloc 0 (0x0) size 2
DBG91:
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
DBG75:
	.long 0x62622e
	.long 0x0
	.long DBG82
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG92
	.long 0x0
	.long 0x72755470
	.long 0x736e
	.long 0xc0102
	.long 0x26
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG83
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG92:
	.long 0x62622e
	.long 0x0
	.long DBG83
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG93
	.long 0x0
	.long 0x72755470
	.long 0x736e
	.long 0x40102
	.long 0x26
	.long 0x11ffff
DBG93:
	.long 0x62622e
	.long 0x0
	.long DBG89
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long DBG94
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG90
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG88
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG91
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x90
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG77:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG80
	.long DBG77
	.long 0x0
	.long 0xff0001
; }
; void kvhReceiveHandler(void)
DBG76:
	.long 0x0
	.long DBG100
	.long _kvhReceiveHandler
	.long 0x40
	.long 0x1020001
	.long DBG81
	.long DBG97-DBG98
	.long DBG99
	.long DBG96
	.long 0x0
	.pseg kvh_code
DBG98:
	.dbgseg dbg_syms
DBG81:
	.long 0x66622e
	.long 0x0
	.long DBG98
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x97
	.long 0x0
	.long DBG101
	.long 0x0
	.dbgseg dbg_line
DBG99:
	.long DBG76
	.long 0x0
	.long _kvhReceiveHandler
	.long 0x1
	.long DBG103
	.long 0x2
	.long DBG104
	.long 0x3
	.pseg kvh_code
	.global _kvhReceiveHandler
_kvhReceiveHandler:
; ENTRY
DBG102:
; {
DBG103:
DBG104:
; EXIT
DBG105:
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x99
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG97:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG100
	.long DBG97
	.long 0x0
	.long 0xff0001
; }
; static __inline__ int convertAnalog(unsigned int adcCounts, float *pDegrees)
; }
; static __inline__ void updateHeading(float newHeading)
; }
; void kvhRawAdcInHandler(void)
DBG96:
	.long 0x0
	.long DBG110
	.long _kvhRawAdcInHandler
	.long 0x40
	.long 0x1020001
	.long DBG101
	.long DBG107-DBG108
	.long DBG109
	.long DBG106
	.long 0x0
	.pseg kvh_code
DBG108:
	.dbgseg dbg_syms
DBG101:
	.long 0x66622e
	.long 0x0
	.long DBG108
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xdb
	.long 0x0
	.long DBG111
	.long 0x0
	.dbgseg dbg_line
DBG109:
	.long DBG96
	.long 0x0
	.long _kvhRawAdcInHandler
	.long 0x1
	.long DBG113
	.long 0x2
	.long DBG114
	.long 0x7
	.long DBG116
	.long 0x8
	.long DBG117
	.long 0x9
	.long DBG118
	.long 0xa
	.long DBG119
	.long 0xb
	.long DBG120
	.long 0xc
	.long DBG121
	.long 0xd
	.long DBG138
	.long 0xe
	.long DBG168
	.long 0xf
	.long DBG169
	.long 0x10
	.long DBG171
	.long 0x11
	.pseg kvh_code
	.global _kvhRawAdcInHandler
_kvhRawAdcInHandler:
	push	r4
	push	r5
	push	r6
	push	r7
	push	r8
	sub	#0x6,sp
DBG114:
DBG113:
DBG112:
; ENTRY
; newHeading at stkloc 0 (0x0) size 4
; rawSample at stkloc 4 (0x4) size 2
; pDegrees in reg  size 2
; tmpHead in reg  size 4
; {
;   float newHeading;
;   unsigned int rawSample;
;   while (adc12GetKvh(&rawSample) != -1) {
kvhRawAdcInHandler_L1:
	mov	sp,r12
	add	#0x4,r12
	call	#_adc12GetKvh
	cmp	#-0x1,r12
	jeq	kvhRawAdcInHandler_L2
DBG116:
DBG115:
;     lastRawAdcSample = rawSample;
	mov	0x4(sp),r12
	mov	r12,&_lastRawAdcSample
DBG117:
;     if (rawSample > maxRawAdcSample)
	cmp	r12,&_maxRawAdcSample
	jc	kvhRawAdcInHandler_L3
DBG118:
;       maxRawAdcSample = rawSample;
	mov	r12,&_maxRawAdcSample
DBG119:
kvhRawAdcInHandler_L3:
;     if (rawSample < minRawAdcSample)
	cmp	&_minRawAdcSample,r12
	jc	kvhRawAdcInHandler_L4
DBG120:
;       minRawAdcSample = rawSample;
	mov	r12,&_minRawAdcSample
DBG121:
kvhRawAdcInHandler_L4:
;     if (convertAnalog(rawSample, &newHeading) != -1) {
; {
DBG122:
	mov	sp,r8
DBG123:
;   float tmpHead;
;   if (pDegrees == ((void *) 0) )
	cmp	#0x0,r8
	jne	kvhRawAdcInHandler_L5
DBG124:
;     return -1;
	mov	#-0x1,r12
	jmp	kvhRawAdcInHandler_LL2
DBG125:
kvhRawAdcInHandler_L5:
;   tmpHead = ( ( ( ((float)adcCounts) * adcCountsToMvScale) - 100.0) / 5.0);
	mov	0x4(sp),r13
	mov	#0x0,r12
DBG172:
	call	#__u_to_s
DBG173:
	mov	&_adcCountsToMvScale,r15
	mov	&_adcCountsToMvScale+0x2,r14
DBG174:
	call	#__s_mul
DBG175:
	mov	&__fcons4,r15
	mov	&__fcons4+0x2,r14
DBG176:
	call	#__s_sub
DBG177:
	mov	&__fcons5,r15
	mov	&__fcons5+0x2,r14
DBG178:
	call	#__s_div
DBG179:
	mov	r13,r5
	mov	r12,r4
DBG126:
;   if (tmpHead < 0.0) {
	mov	&__fconsf0,r7
	mov	&__fconsf0+0x2,r6
	mov	r5,r13
	mov	r4,r12
	mov	r7,r15
	mov	r6,r14
DBG180:
	call	#__s_cmp
DBG181:
	cmp	#0x0,r12
	jge	kvhRawAdcInHandler_L6
DBG128:
DBG127:
;     tmpHead = 0.0;
	mov	r7,r5
	mov	r6,r4
DBG130:
DBG129:
;     }
kvhRawAdcInHandler_L6:
;   if (tmpHead > 360.0) {
	mov	&__fcons6,r6
	mov	&__fcons6+0x2,r7
	mov	r5,r13
	mov	r4,r12
	mov	r6,r15
	mov	r7,r14
DBG182:
	call	#__s_cmp
DBG183:
	mov	#0x0,r13
	cmp	r12,r13
	jge	kvhRawAdcInHandler_L7
DBG132:
DBG131:
;     tmpHead = 360.0;
	mov	r6,r5
	mov	r7,r4
DBG134:
DBG133:
;     }
kvhRawAdcInHandler_L7:
;   *pDegrees = tmpHead;
	mov	r5,0(r8)
	mov	r4,0x2(r8)
DBG135:
;   return 0;
	mov	#0x0,r12
DBG136:
kvhRawAdcInHandler_LL2:
	cmp	#-0x1,r12
	jeq	kvhRawAdcInHandler_L1
DBG140:
DBG139:
DBG138:
DBG137:
;       updateHeading(newHeading);
; {
;   previousHeading = currentHeading;
	mov	&_currentHeading,&_previousHeading
	mov	&_currentHeading+0x2,&_previousHeading+0x2
DBG141:
;   currentHeading = newHeading;
	mov	0x0(sp),r13
	mov	0x2(sp),r12
	mov	r13,&_currentHeading
	mov	r12,&_currentHeading+0x2
DBG142:
;   if (currentHeading >= highTurnThresholdLevel) {
	mov	&_highTurnThresholdLevel,r15
	mov	&_highTurnThresholdLevel+0x2,r14
DBG184:
	call	#__s_cmp
DBG185:
	cmp	#0x0,r12
	jl	kvhRawAdcInHandler_L9
DBG144:
DBG143:
;     if (lowTurnThresholdCount > 0) {
	mov	#0x0,r12
	cmp	&_lowTurnThresholdCount,r12
	jge	kvhRawAdcInHandler_L10
DBG146:
DBG145:
;       counterClockwiseTurns++;
	add	#0x1,&_counterClockwiseTurns
DBG147:
;       lowTurnThresholdCount = 0;
	mov	#0x0,&_lowTurnThresholdCount
DBG149:
DBG148:
;       }
kvhRawAdcInHandler_L10:
;     highTurnThresholdCount = initialHighCount;
	mov	&_initialHighCount,&_highTurnThresholdCount
DBG151:
DBG150:
;     }
	jmp	kvhRawAdcInHandler_L11
kvhRawAdcInHandler_L9:
;   else if (currentHeading <= lowTurnThresholdLevel) {
	mov	&_currentHeading,r13
	mov	&_currentHeading+0x2,r12
	mov	&_lowTurnThresholdLevel,r15
	mov	&_lowTurnThresholdLevel+0x2,r14
DBG186:
	call	#__s_cmp
DBG187:
	mov	#0x0,r13
	cmp	r12,r13
	jl	kvhRawAdcInHandler_L12
DBG153:
DBG152:
;     if (highTurnThresholdCount > 0) {
	mov	#0x0,r12
	cmp	&_highTurnThresholdCount,r12
	jge	kvhRawAdcInHandler_L13
DBG155:
DBG154:
;       clockwiseTurns++;
	add	#0x1,&_clockwiseTurns
DBG156:
;       highTurnThresholdCount = 0;
	mov	#0x0,&_highTurnThresholdCount
DBG158:
DBG157:
;       }
kvhRawAdcInHandler_L13:
;     lowTurnThresholdCount = initialLowCount;
	mov	&_initialLowCount,&_lowTurnThresholdCount
DBG160:
DBG159:
;     }
	jmp	kvhRawAdcInHandler_L14
kvhRawAdcInHandler_L12:
;   else {
DBG161:
;    if (highTurnThresholdCount > 0) highTurnThresholdCount--;
DBG162:
	mov	#0x0,r12
	cmp	&_highTurnThresholdCount,r12
	jge	kvhRawAdcInHandler_L15
	sub	#0x1,&_highTurnThresholdCount
DBG163:
kvhRawAdcInHandler_L15:
;    if (lowTurnThresholdCount > 0) lowTurnThresholdCount--;
	mov	#0x0,r12
	cmp	&_lowTurnThresholdCount,r12
	jge	kvhRawAdcInHandler_L16
	sub	#0x1,&_lowTurnThresholdCount
DBG164:
kvhRawAdcInHandler_L16:
DBG165:
kvhRawAdcInHandler_L14:
kvhRawAdcInHandler_L11:
;    }
;   netTurns = clockwiseTurns - counterClockwiseTurns;
DBG166:
	mov	&_clockwiseTurns,r12
	sub	&_counterClockwiseTurns,r12
	mov	r12,&_netTurns
DBG169:
DBG168:
DBG167:
;       }
kvhRawAdcInHandler_L8:
DBG170:
	jmp	kvhRawAdcInHandler_L1
kvhRawAdcInHandler_L2:
;     }
DBG171:
; EXIT
; .temp2 at stkloc 6 (0x6) size 10
DBG188:
	add	#0x6,sp
	pop	r8
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x10
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG189
	.long 0x4
	.long 0xe
	.long 0x10002
	.long 0x0
	.long DBG190
	.long 0x0
	.long 0x6
	.long 0x10002
DBG94:
	.long 0x62622e
	.long 0x0
	.long DBG123
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffc8
	.long 0x0
	.long DBG191
	.long 0x0
	.long 0x67654470
	.long 0x73656572
	.long 0x80102
	.long 0x26
	.long 0x4ffff
DBG191:
	.long 0x62622e
	.long 0x0
	.long DBG172
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG192
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG173
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long 0x0
	.long 0x0
DBG192:
	.long 0x62622e
	.long 0x0
	.long DBG174
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG193
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG175
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long 0x0
	.long 0x0
DBG193:
	.long 0x62622e
	.long 0x0
	.long DBG176
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG194
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG177
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long 0x0
	.long 0x0
DBG194:
	.long 0x62622e
	.long 0x0
	.long DBG178
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG195
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG179
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long 0x0
	.long 0x0
DBG195:
	.long 0x62622e
	.long 0x0
	.long DBG126
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG196
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG196:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long DBG197
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG181
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffce
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG129
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd0
	.long 0x0
	.long 0x0
	.long 0x0
DBG197:
	.long 0x62622e
	.long 0x0
	.long DBG129
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd0
	.long 0x0
	.long DBG198
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG198:
	.long 0x62622e
	.long 0x0
	.long DBG182
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd2
	.long 0x0
	.long DBG199
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG183
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG133
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd4
	.long 0x0
	.long 0x0
	.long 0x0
DBG199:
	.long 0x62622e
	.long 0x0
	.long DBG133
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffd4
	.long 0x0
	.long DBG200
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG200:
	.long 0x62622e
	.long 0x0
	.long DBG184
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffeb
	.long 0x0
	.long DBG201
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG185
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffeb
	.long 0x0
	.long 0x0
	.long 0x0
DBG201:
	.long 0x62622e
	.long 0x0
	.long DBG186
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff2
	.long 0x0
	.long DBG202
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG187
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG171
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG171
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG188
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xeb
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG107:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG110
	.long DBG107
	.long 0x0
	.long 0xff0001
; }
; int kvhTurnsCounterSetHandler(char *cmdStr)
DBG106:
	.long 0x0
	.long DBG207
	.long _kvhTurnsCounterSetHandler
	.long 0x44
	.long 0x1020001
	.long DBG111
	.long DBG204-DBG205
	.long DBG206
	.long DBG203
	.long 0x0
	.pseg kvh_code
DBG205:
	.dbgseg dbg_syms
DBG111:
	.long 0x66622e
	.long 0x0
	.long DBG205
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xed
	.long 0x0
	.long DBG208
	.long 0x0
	.dbgseg dbg_line
DBG206:
	.long DBG106
	.long 0x0
	.long _kvhTurnsCounterSetHandler
	.long 0x1
	.long DBG210
	.long 0x2
	.long DBG211
	.long 0x5
	.long DBG212
	.long 0x6
	.long DBG213
	.long 0x8
	.long DBG214
	.long 0x9
	.long DBG215
	.long 0xb
	.long DBG217
	.long 0xc
	.long DBG218
	.long 0xd
	.long DBG219
	.long 0xe
	.long DBG220
	.long 0xf
	.long DBG222
	.long 0x10
	.long DBG223
	.long 0x11
	.long DBG224
	.long 0x12
	.long DBG225
	.long 0x14
	.long DBG226
	.long 0x16
	.long DBG227
	.long 0x17
	.pseg kvh_code
	.global _kvhTurnsCounterSetHandler
_kvhTurnsCounterSetHandler:
	sub	#0x4,sp
DBG209:
; ENTRY
	mov	r12,0(sp)
DBG211:
DBG210:
; cmdStr at stkloc 0 (0x0) size 2
; retVal in reg  size 2
; setTurns at stkloc 2 (0x2) size 2
; {
;   int retVal, setTurns;
;   eatWhiteSpace(&cmdStr);
	mov	sp,r12
	call	#_eatWhiteSpace
DBG212:
;   retVal = sscanf(cmdStr, "%d", &setTurns);
	mov	sp,r12
	add	#0x2,r12
	push	r12
	push	#kvh_V32
	mov	sp,r12
	add	#0x4,r12
	push	@r12
DBG228:
	call	#_sscanf
DBG229:
	add	#0x6,sp
DBG213:
;   if (retVal != 1)
	cmp	#0x1,r12
	jeq	kvhTurnsCounterSetHandler_L1
DBG214:
;     return (2) ;
	mov	#0x2,r12
	jmp	kvhTurnsCounterSetHandler_LL2
DBG215:
kvhTurnsCounterSetHandler_L1:
;   if (setTurns < 0) {
	mov	0x2(sp),r12
	cmp	#0x0,r12
	jge	kvhTurnsCounterSetHandler_L2
DBG217:
DBG216:
;     counterClockwiseTurns = abs(setTurns);  
	call	#_abs
	mov	r12,&_counterClockwiseTurns
DBG218:
;     clockwiseTurns = 0;
	mov	#0x0,&_clockwiseTurns
DBG220:
DBG219:
;     }
	jmp	kvhTurnsCounterSetHandler_L3
kvhTurnsCounterSetHandler_L2:
;   else {
DBG221:
;     clockwiseTurns = setTurns;  
DBG222:
	mov	r12,&_clockwiseTurns
DBG223:
;     counterClockwiseTurns = 0;
	mov	#0x0,&_counterClockwiseTurns
DBG224:
kvhTurnsCounterSetHandler_L3:
;     }
;   netTurns = clockwiseTurns - counterClockwiseTurns;
DBG225:
	mov	&_clockwiseTurns,r12
	sub	&_counterClockwiseTurns,r12
	mov	r12,&_netTurns
DBG226:
;   return 0;  
	mov	#0x0,r12
DBG227:
kvhTurnsCounterSetHandler_LL2:
; EXIT
DBG230:
	add	#0x4,sp
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x4
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x54746573
	.long 0x736e7275
	.long 0x2
	.long 0x4
	.long 0x10002
	.long 0x53646d63
	.long 0x7274
	.long 0x0
	.long 0x22
	.long 0x10002
DBG202:
	.long 0x62622e
	.long 0x0
	.long DBG228
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG231
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x6
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG229
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
DBG231:
	.long 0x62622e
	.long 0x0
	.long DBG213
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG232
	.long 0x0
	.long 0x56746572
	.long 0x6c61
	.long 0xc0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG215
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG230
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x103
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG204:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG207
	.long DBG204
	.long 0x0
	.long 0xff0001
; }
; int kvhPutHandler(char *cmdStr)
DBG203:
	.long 0x0
	.long DBG237
	.long _kvhPutHandler
	.long 0x44
	.long 0x1020001
	.long DBG208
	.long DBG234-DBG235
	.long DBG236
	.long DBG233
	.long 0x0
	.pseg kvh_code
DBG235:
	.dbgseg dbg_syms
DBG208:
	.long 0x66622e
	.long 0x0
	.long DBG235
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x106
	.long 0x0
	.long DBG238
	.long 0x0
	.dbgseg dbg_line
DBG236:
	.long DBG203
	.long 0x0
	.long _kvhPutHandler
	.long 0x1
	.long DBG240
	.long 0x2
	.long DBG241
	.long 0x5
	.long DBG242
	.long 0x7
	.long DBG244
	.long 0x8
	.long DBG245
	.long 0x9
	.long DBG246
	.long 0xa
	.long DBG247
	.long 0xc
	.long DBG248
	.long 0xe
	.long DBG249
	.long 0xf
	.pseg kvh_code
	.global _kvhPutHandler
_kvhPutHandler:
	push	r4
	sub	#0x2,sp
DBG239:
; ENTRY
	mov	r12,0(sp)
DBG241:
DBG240:
; cmdStr at stkloc 0 (0x0) size 2
; ch in reg  size 1
; {
;   char ch;
;   eatWhiteSpace(&cmdStr);
	mov	sp,r12
	call	#_eatWhiteSpace
DBG242:
;   while (*cmdStr != 0x00) {
kvhPutHandler_L1:
	mov	0x0(sp),r12
	cmp.b	#0x0,0(r12)
	jeq	kvhPutHandler_L2
DBG244:
DBG243:
;     ch = *cmdStr++;
	mov	0x0(sp),r12
	add	#0x1,0(sp)
	mov.b	@r12,r4
	sxt	r4
DBG245:
;     while (usart1TxOne(ch) != 0);
kvhPutHandler_L3:
	mov.b	r4,r12
	call	#_usart1TxOne
	cmp	#0x0,r12
	jne	kvhPutHandler_L3
kvhPutHandler_L4:
DBG246:
	jmp	kvhPutHandler_L1
kvhPutHandler_L2:
;     }
;   usart1TxOne(0x0d); 
DBG247:
	mov.b	#0xd,r12
	call	#_usart1TxOne
DBG248:
;   return 0;
	mov	#0x0,r12
DBG250:
DBG249:
; EXIT
; .temp3 at stkloc 2 (0x2) size 2
	add	#0x2,sp
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x4
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x53646d63
	.long 0x7274
	.long 0x0
	.long 0x22
	.long 0x10002
DBG232:
	.long 0x62622e
	.long 0x0
	.long DBG245
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG251
	.long 0x0
	.long 0x6863
	.long 0x0
	.long 0x40102
	.long 0x2
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG249
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG250
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x114
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG234:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG237
	.long DBG234
	.long 0x0
	.long 0xff0001
; }
; int kvhGetHandler(char *cmdStr)
DBG233:
	.long 0x0
	.long DBG256
	.long _kvhGetHandler
	.long 0x44
	.long 0x1020001
	.long DBG238
	.long DBG253-DBG254
	.long DBG255
	.long DBG252
	.long 0x0
	.pseg kvh_code
DBG254:
	.dbgseg dbg_syms
DBG238:
	.long 0x66622e
	.long 0x0
	.long DBG254
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x116
	.long 0x0
	.long DBG257
	.long 0x0
	.dbgseg dbg_line
DBG255:
	.long DBG233
	.long 0x0
	.long _kvhGetHandler
	.long 0x1
	.long DBG259
	.long 0x2
	.long DBG260
	.long 0x8
	.long DBG261
	.long 0x9
	.long DBG262
	.long 0xa
	.long DBG263
	.long 0xc
	.long DBG264
	.long 0xe
	.long DBG265
	.long 0xf
	.long DBG266
	.long 0x11
	.long DBG267
	.long 0x13
	.long DBG268
	.long 0x15
	.long DBG269
	.long 0x16
	.pseg kvh_code
	.global _kvhGetHandler
_kvhGetHandler:
	push	r4
	sub	#0x6,sp
DBG260:
DBG259:
DBG258:
; ENTRY
; ch at stkloc 0 (0x0) size 1
; pBuf at stkloc 2 (0x2) size 2
; bufSize at stkloc 4 (0x4) size 2
; bufIdx in reg  size 2
; {
;   char ch;
;   char *pBuf;
;   int bufSize;
;   int bufIdx;
;   bufIdx = 0;
	mov	#0x0,r4
DBG261:
;   if (outfmtGetBuffer(&pBuf,&bufSize) != 0)
	mov	sp,r13
	add	#0x4,r13
	mov	sp,r12
	add	#0x2,r12
	call	#_outfmtGetBuffer
	cmp	#0x0,r12
	jeq	kvhGetHandler_L1
DBG262:
;     return -1;
	mov	#-0x1,r12
	jmp	kvhGetHandler_LL2
DBG263:
kvhGetHandler_L1:
;   bufSize--; 
	sub	#0x1,0x4(sp)
DBG264:
;   while ((usart1RxOne(&ch) == 0) && (bufIdx < bufSize))
kvhGetHandler_L2:
	mov	sp,r12
	call	#_usart1RxOne
	cmp	#0x0,r12
	jne	kvhGetHandler_L3
	cmp	0x4(sp),r4
	jge	kvhGetHandler_L3
DBG265:
;     pBuf[bufIdx++] = ch;
	mov	r4,r12
	add	#0x1,r4
	add	0x2(sp),r12
	mov.b	0x0(sp),0(r12)
	jmp	kvhGetHandler_L2
kvhGetHandler_L3:
;   pBuf[bufIdx] = 0x00;
DBG266:
	mov	0x2(sp),r12
	add	r4,r12
	mov.b	#0x0,0(r12)
DBG267:
;   outfmtSendBuffer();
	call	#_outfmtSendBuffer
DBG268:
;   return 0;
	mov	#0x0,r12
DBG269:
kvhGetHandler_LL2:
; EXIT
; .temp4 at stkloc 6 (0x6) size 2
DBG270:
	add	#0x6,sp
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x8
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x53667562
	.long 0x657a69
	.long 0x4
	.long 0x4
	.long 0x10002
	.long 0x66754270
	.long 0x0
	.long 0x2
	.long 0x22
	.long 0x10002
	.long 0x6863
	.long 0x0
	.long 0x0
	.long 0x2
	.long 0x10002
DBG251:
	.long 0x62622e
	.long 0x0
	.long DBG261
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG271
	.long 0x0
	.long 0x49667562
	.long 0x7864
	.long 0x40102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG269
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x16
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG270
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x12b
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG253:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG256
	.long DBG253
	.long 0x0
	.long 0xff0001
; }
; ****** Warning: Symbol ``cmdStr'' (function kvhGetHandler) was defined, but not used
; int kvhAnalogHandler(char *cmdStr)
DBG252:
	.long 0x0
	.long DBG276
	.long _kvhAnalogHandler
	.long 0x44
	.long 0x1020001
	.long DBG257
	.long DBG273-DBG274
	.long DBG275
	.long DBG272
	.long 0x0
	.pseg kvh_code
DBG274:
	.dbgseg dbg_syms
DBG257:
	.long 0x66622e
	.long 0x0
	.long DBG274
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x12d
	.long 0x0
	.long DBG277
	.long 0x0
	.dbgseg dbg_line
DBG275:
	.long DBG252
	.long 0x0
	.long _kvhAnalogHandler
	.long 0x1
	.long DBG279
	.long 0x2
	.long DBG280
	.long 0x5
	.long DBG281
	.long 0x8
	.long DBG282
	.long 0x9
	.long DBG283
	.long 0xb
	.long DBG284
	.long 0xd
	.long DBG300
	.long 0xf
	.long DBG301
	.long 0x11
	.long DBG302
	.long 0x13
	.long DBG303
	.long 0x14
	.pseg kvh_code
	.global _kvhAnalogHandler
_kvhAnalogHandler:
	push	r4
	push	r5
	push	r6
	push	r7
	push	r8
	sub	#0x8,sp
DBG281:
DBG280:
DBG279:
DBG278:
; ENTRY
; pBuf at stkloc 0 (0x0) size 2
; bufSize at stkloc 2 (0x2) size 2
; temp in reg  size 2
; kvhResult at stkloc 4 (0x4) size 4
; pDegrees in reg  size 2
; tmpHead in reg  size 4
; {
;   char *pBuf;
;   int bufSize;
;   unsigned int temp = 0;
;   float kvhResult;
;   if (outfmtGetBuffer(&pBuf,&bufSize) != 0)
	mov	sp,r13
	add	#0x2,r13
	mov	sp,r12
	call	#_outfmtGetBuffer
	cmp	#0x0,r12
	jeq	kvhAnalogHandler_L1
DBG282:
;     return -1;
	mov	#-0x1,r12
	jmp	kvhAnalogHandler_LL2
DBG283:
kvhAnalogHandler_L1:
;   bufSize--; 
	sub	#0x1,0x2(sp)
DBG285:
DBG284:
;   convertAnalog(lastRawAdcSample, &kvhResult);
; {
	mov	sp,r8
;   float tmpHead;
;   if (pDegrees == ((void *) 0) )
	add	#0x4,r8
DBG286:
	jne	kvhAnalogHandler_L2
DBG287:
;     return -1;
	jmp	kvhAnalogHandler_LL3
DBG288:
kvhAnalogHandler_L2:
;   tmpHead = ( ( ( ((float)adcCounts) * adcCountsToMvScale) - 100.0) / 5.0);
	mov	&_lastRawAdcSample,r13
	mov	#0x0,r12
DBG304:
	call	#__u_to_s
DBG305:
	mov	&_adcCountsToMvScale,r15
	mov	&_adcCountsToMvScale+0x2,r14
DBG306:
	call	#__s_mul
DBG307:
	mov	&__fcons4,r15
	mov	&__fcons4+0x2,r14
DBG308:
	call	#__s_sub
DBG309:
	mov	&__fcons5,r15
	mov	&__fcons5+0x2,r14
DBG310:
	call	#__s_div
DBG311:
	mov	r13,r5
	mov	r12,r4
DBG289:
;   if (tmpHead < 0.0) {
	mov	&__fconsf0,r6
	mov	&__fconsf0+0x2,r7
	mov	r5,r13
	mov	r4,r12
	mov	r6,r15
	mov	r7,r14
DBG312:
	call	#__s_cmp
DBG313:
	cmp	#0x0,r12
	jge	kvhAnalogHandler_L3
DBG291:
DBG290:
;     tmpHead = 0.0;
	mov	r6,r5
	mov	r7,r4
DBG293:
DBG292:
;     }
kvhAnalogHandler_L3:
;   if (tmpHead > 360.0) {
	mov	&__fcons6,r7
	mov	&__fcons6+0x2,r6
	mov	r5,r13
	mov	r4,r12
	mov	r7,r15
	mov	r6,r14
DBG314:
	call	#__s_cmp
DBG315:
	mov	#0x0,r13
	cmp	r12,r13
	jge	kvhAnalogHandler_L4
DBG295:
DBG294:
;     tmpHead = 360.0;
	mov	r7,r5
	mov	r6,r4
DBG297:
DBG296:
;     }
kvhAnalogHandler_L4:
;   *pDegrees = tmpHead;
	mov	r5,0(r8)
	mov	r4,0x2(r8)
DBG299:
DBG298:
;   return 0;
kvhAnalogHandler_LL3:
;   sprintf(pBuf, "\nKVH Hdg[%4.2f] ADC: cur[%u] min[%u] max[%u]\n\x00", 
DBG300:
	push	&_maxRawAdcSample
	push	&_minRawAdcSample
	push	&_lastRawAdcSample
	sub	#0x4,sp
	mov	0xe(sp),0(sp)
	mov	0x10(sp),0x2(sp)
	push	#kvh_V33
	mov	sp,r12
	add	#0xc,r12
	push	@r12
DBG316:
	call	#_sprintf
DBG317:
	add	#0xe,sp
DBG301:
;     kvhResult, lastRawAdcSample, minRawAdcSample, maxRawAdcSample);
;   outfmtSendBuffer();
	call	#_outfmtSendBuffer
DBG302:
;   return 0;
	mov	#0x0,r12
DBG303:
kvhAnalogHandler_LL2:
; EXIT
; .temp5 at stkloc 8 (0x8) size 10
DBG318:
	add	#0x8,sp
	pop	r8
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG28
	.long 0x12
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG29
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG319
	.long 0x4
	.long 0x6
	.long 0x10002
	.long 0x53667562
	.long 0x657a69
	.long 0x2
	.long 0x4
	.long 0x10002
	.long 0x66754270
	.long 0x0
	.long 0x0
	.long 0x22
	.long 0x10002
DBG271:
	.long 0x62622e
	.long 0x0
	.long DBG286
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff76
	.long 0x0
	.long DBG320
	.long 0x0
	.long 0x67654470
	.long 0x73656572
	.long 0x80102
	.long 0x26
	.long 0x4ffff
DBG320:
	.long 0x62622e
	.long 0x0
	.long DBG304
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG321
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG305
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long 0x0
	.long 0x0
DBG321:
	.long 0x62622e
	.long 0x0
	.long DBG306
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG322
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG307
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long 0x0
	.long 0x0
DBG322:
	.long 0x62622e
	.long 0x0
	.long DBG308
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG323
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG309
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long 0x0
	.long 0x0
DBG323:
	.long 0x62622e
	.long 0x0
	.long DBG310
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG324
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG311
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long 0x0
	.long 0x0
DBG324:
	.long 0x62622e
	.long 0x0
	.long DBG289
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG325
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG325:
	.long 0x62622e
	.long 0x0
	.long DBG312
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long DBG326
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG313
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7c
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG292
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7e
	.long 0x0
	.long 0x0
	.long 0x0
DBG326:
	.long 0x62622e
	.long 0x0
	.long DBG292
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff7e
	.long 0x0
	.long DBG327
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG327:
	.long 0x62622e
	.long 0x0
	.long DBG314
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff80
	.long 0x0
	.long DBG328
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG315
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff80
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG296
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff82
	.long 0x0
	.long 0x0
	.long 0x0
DBG328:
	.long 0x62622e
	.long 0x0
	.long DBG296
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xff82
	.long 0x0
	.long DBG329
	.long 0x0
	.long 0x48706d74
	.long 0x646165
	.long 0x200
	.long 0x6
	.long 0x204ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x40102
	.long 0x6
	.long 0x104ffff
	.long 0x48706d74
	.long 0x646165
	.long 0x50102
	.long 0x6
	.long 0x4ffff
DBG329:
	.long 0x62622e
	.long 0x0
	.long DBG316
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long DBG330
	.long 0x0
	.long 0x0
	.long DBG95
	.long 0xe
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG317
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG303
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG303
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG318
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x140
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg kvh_code
DBG273:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG276
	.long DBG273
	.long 0x0
	.long 0xff0001
; }
; ****** Warning: Symbol ``cmdStr'' (function kvhAnalogHandler) was defined, but not used
	.dseg	kvh_bss
	.align 0x2
kvh_V34:
	.align 0x2
_lowTurnThresholdLevel:
	.bss 0x4
; lowTurnThresholdLevel size 4
	.align 0x2
_counterClockwiseTurns:
	.bss 0x2
; counterClockwiseTurns size 2
	.align 0x2
_clockwiseTurns:
	.bss 0x2
; clockwiseTurns size 2
	.align 0x2
_netTurns:
	.bss 0x2
; netTurns size 2
	.align 0x2
_initialLowCount:
	.bss 0x2
; initialLowCount size 2
	.align 0x2
_lastRawAdcSample:
	.bss 0x2
; lastRawAdcSample size 2
	.align 0x2
_previousHeading:
	.bss 0x4
; previousHeading size 4
	.align 0x2
_highTurnThresholdLevel:
	.bss 0x4
; highTurnThresholdLevel size 4
	.align 0x2
_lowTurnThresholdCount:
	.bss 0x2
; lowTurnThresholdCount size 2
	.align 0x2
_initialHighCount:
	.bss 0x2
; initialHighCount size 2
	.align 0x2
_currentHeading:
	.bss 0x4
; currentHeading size 4
	.align 0x2
_minRawAdcSample:
	.bss 0x2
; minRawAdcSample size 2
	.align 0x2
_maxRawAdcSample:
	.bss 0x2
; maxRawAdcSample size 2
	.align 0x2
_highTurnThresholdCount:
	.bss 0x2
; highTurnThresholdCount size 2
	.extern _sensorRegisterSampleMethod
	.extern _outfmtSendBuffer
	.extern _sprintf
	.extern _eatWhiteSpace
	.extern __u_to_s
	.extern _usart1RxOne
	.extern _usart1TxOne
	.extern __s_cmp
	.extern _gpioSetKvhPower
	.extern __s_div
	.extern _adc12GetKvh
	.extern _eventqRegisterHandler
	.extern _abs
	.extern _cmdparseAddCommand
	.extern _outfmtGetBuffer
	.extern __s_sub
	.extern _sscanf
	.extern __s_mul
	.extern __l_to_s
	.dbgseg dbg_syms
.0fake_1:
DBG4:
	.long 0x6166302e
	.long 0x315f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x100000
	.long 0x0
	.long DBG331
	.long 0x0
	.long 0x7361625f
	.long 0x65
	.long 0x0
	.long 0x2c
	.long 0x8ffff
	.long 0x646e655f
	.long 0x0
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x7274705f
	.long 0x0
	.long 0x4
	.long 0x2c
	.long 0x8ffff
	.long 0x6565735f
	.long 0x6b
	.long 0x6
	.long 0x5
	.long 0x8ffff
	.long 0x746e635f
	.long 0x0
	.long 0xa
	.long 0x4
	.long 0x8ffff
	.long 0x616c665f
	.long 0x67
	.long 0xc
	.long 0x3
	.long 0x8ffff
	.long 0x6c69665f
	.long 0x65
	.long 0xe
	.long 0x2
	.long 0x8ffff
	.long 0x66626e5f
	.long 0x0
	.long 0xf
	.long 0xc
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x10
	.long 0x0
	.long 0x166ffff
	.long DBG4
	.long 0x100000
	.long 0x0
	.long 0x0
	.long 0x0
.2fake_2:
DBG331:
	.long 0x6166322e
	.long 0x325f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x80000
	.long 0x0
	.long DBG332
	.long 0x0
	.long 0x6d6572
	.long 0x0
	.long 0x0
	.long 0x5
	.long 0x8ffff
	.long 0x746f7571
	.long 0x0
	.long 0x4
	.long 0x5
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x166ffff
	.long DBG331
	.long 0x80000
	.long 0x0
	.long 0x0
	.long 0x0
.1fake_3:
DBG332:
	.long 0x6166312e
	.long 0x335f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x40000
	.long 0x0
	.long DBG333
	.long 0x0
	.long 0x6d6572
	.long 0x0
	.long 0x0
	.long 0x4
	.long 0x8ffff
	.long 0x746f7571
	.long 0x0
	.long 0x2
	.long 0x4
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x4
	.long 0x0
	.long 0x166ffff
	.long DBG332
	.long 0x40000
	.long 0x0
	.long 0x0
	.long 0x0
.5fake_4:
DBG333:
	.long 0x6166352e
	.long 0x345f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x120000
	.long 0x0
	.long DBG334
	.long 0x0
	.long 0x53727563
	.long 0x65746174
	.long 0x0
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG335
	.long 0x1
	.long 0xc
	.long 0x8ffff
	.long 0x67616c66
	.long 0x73
	.long 0x2
	.long 0xc
	.long 0x8ffff
	.long 0x6576656c
	.long 0x69486c
	.long 0x4
	.long 0x6
	.long 0x8ffff
	.long 0x6576656c
	.long 0x6f4c6c
	.long 0x8
	.long 0x6
	.long 0x8ffff
	.long 0x0
	.long DBG336
	.long 0xc
	.long 0x6
	.long 0x8ffff
	.long 0x6874656d
	.long 0x646f
	.long 0x10
	.long 0x2a4
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x12
	.long 0x0
	.long 0x166ffff
	.long DBG333
	.long 0x120000
	.long 0x0
	.long 0x0
	.long 0x0
DBG277:
DBG330:
DBG272:
DBG334:
	.long 0x7073
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x16cfffe
	.long 0x0
	.long 0x100001
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x52
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x16cfffe
	.long 0x0
	.long 0x100010
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG337
	.long _lowTurnThresholdLevel
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG338
	.long _counterClockwiseTurns
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG339
	.long _clockwiseTurns
	.long 0x4
	.long 0x30002
	.long 0x5474656e
	.long 0x736e7275
	.long _netTurns
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG340
	.long _initialLowCount
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG341
	.long _lastRawAdcSample
	.long 0xe
	.long 0x30002
	.long 0x6f63665f
	.long 0x31736e
	.long __fcons1
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x32736e
	.long __fcons2
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x33736e
	.long __fcons3
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x34736e
	.long __fcons4
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x35736e
	.long __fcons5
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG342
	.long _previousHeading
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x36736e
	.long __fcons6
	.long 0x6
	.long 0x30002
	.long 0x6f63665f
	.long 0x3066736e
	.long __fconsf0
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG343
	.long _highTurnThresholdLevel
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG344
	.long _lowTurnThresholdCount
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG345
	.long _adcCountsToMvScale
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG346
	.long _haltOutputStr
	.long 0x22
	.long 0x30002
	.long 0x0
	.long DBG347
	.long _initialHighCount
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG348
	.long _currentHeading
	.long 0x6
	.long 0x30002
	.long 0x0
	.long DBG349
	.long _minRawAdcSample
	.long 0xe
	.long 0x30002
	.long 0x0
	.long DBG350
	.long _maxRawAdcSample
	.long 0xe
	.long 0x30002
	.long 0x0
	.long DBG351
	.long _analogLinearOutStr
	.long 0x22
	.long 0x30002
	.long 0x0
	.long DBG352
	.long _highTurnThresholdCount
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG353
	.long 0x0
	.long 0x2a0
	.long 0xdfffe
	.long 0x6c6f6f62
	.long 0x6e6165
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x454c4946
	.long 0x0
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .0fake_1
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x7669646c
	.long 0x745f
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .2fake_2
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x61686377
	.long 0x745f72
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x657a6973
	.long 0x745f
	.long 0x0
	.long 0xe
	.long 0xdfffe
	.long 0x6c5f6176
	.long 0x747369
	.long 0x0
	.long 0x20
	.long 0xdfffe
	.long 0x5f766964
	.long 0x74
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .1fake_3
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG354
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .5fake_4
	.long 0x12
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG355
	.long 0x0
	.long 0x2a4
	.long 0xdfffe
	.long 0x0
	.long DBG356
	.long 0x0
	.long 0x2a4
	.long 0xdfffe
	.iseg kvh_data_const
	.align 0x2
	.align 0x2
__fcons6:
	.long 0x43b40000
	.align 0x2
__fconsf0:
	.long 0x0
	.align 0x2
__fcons5:
	.long 0x40a00000
	.align 0x2
__fcons4:
	.long 0x42c80000
	.align 0x2
__fcons3:
	.long 0x43a50000
	.align 0x2
__fcons2:
	.long 0x41f00000
	.align 0x2
__fcons1:
	.long -0x40800000
	.iseg kvh_istrings_const
kvh_V23:
	.byte 0x67
	.byte 0x65
	.byte 0x74
	.byte 0x0
kvh_V32:
	.byte 0x25
	.byte 0x64
	.byte 0x0
kvh_V22:
	.byte 0x6b
	.byte 0x76
	.byte 0x68
	.byte 0x0
kvh_V26:
	.byte 0x73
	.byte 0x65
	.byte 0x74
	.byte 0x0
kvh_V33:
	.byte 0xa
	.byte 0x4b
	.byte 0x56
	.byte 0x48
	.byte 0x20
	.byte 0x48
	.byte 0x64
	.byte 0x67
	.byte 0x5b
	.byte 0x25
	.byte 0x34
	.byte 0x2e
	.byte 0x32
	.byte 0x66
	.byte 0x5d
	.byte 0x20
	.byte 0x41
	.byte 0x44
	.byte 0x43
	.byte 0x3a
	.byte 0x20
	.byte 0x63
	.byte 0x75
	.byte 0x72
	.byte 0x5b
	.byte 0x25
	.byte 0x75
	.byte 0x5d
	.byte 0x20
	.byte 0x6d
	.byte 0x69
	.byte 0x6e
	.byte 0x5b
	.byte 0x25
	.byte 0x75
	.byte 0x5d
	.byte 0x20
	.byte 0x6d
	.byte 0x61
	.byte 0x78
	.byte 0x5b
	.byte 0x25
	.byte 0x75
	.byte 0x5d
	.byte 0xa
	.byte 0x0
	.byte 0x0
kvh_V24:
	.byte 0x70
	.byte 0x75
	.byte 0x74
	.byte 0x0
kvh_V25:
	.byte 0x61
	.byte 0x6e
	.byte 0x61
	.byte 0x6c
	.byte 0x6f
	.byte 0x67
	.byte 0x0
kvh_V16:
	.byte 0x68
	.byte 0xa
	.byte 0x0
kvh_V18:
	.byte 0x3d
	.byte 0x61
	.byte 0x74
	.byte 0x2c
	.byte 0x30
	.byte 0xa
	.byte 0x0
kvh_V27:
	.byte 0x74
	.byte 0x75
	.byte 0x72
	.byte 0x6e
	.byte 0x73
	.byte 0x0
	.dbgseg dbg_syms
	.long 0x666f652e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67fffe
	.dbgseg dbg_strs
	.align 0x2
	.long 0x2a8
DBG353:
	.long 0x6576656e
	.long 0x7448616e
	.long 0x646c6572
	.long 0x0
DBG339:
	.long 0x636c6f63
	.long 0x6b776973
	.long 0x65547572
	.long 0x6e730000
DBG338:
	.long 0x636f756e
	.long 0x74657243
	.long 0x6c6f636b
	.long 0x77697365
	.long 0x5475726e
	.long 0x73000000
DBG337:
	.long 0x6c6f7754
	.long 0x75726e54
	.long 0x68726573
	.long 0x686f6c64
	.long 0x4c657665
	.long 0x6c000000
DBG237:
	.long 0x6b766850
	.long 0x75744861
	.long 0x6e646c65
	.long 0x72000000
DBG34:
	.long 0x696e6974
	.long 0x48617264
	.long 0x77617265
	.long 0x0
DBG28:
	.long 0x5f5f4652
	.long 0x414d4553
	.long 0x495a4500
DBG340:
	.long 0x696e6974
	.long 0x69616c4c
	.long 0x6f77436f
	.long 0x756e7400
DBG80:
	.long 0x6b766847
	.long 0x65745475
	.long 0x726e7343
	.long 0x6f756e74
	.long 0x65720000
DBG256:
	.long 0x6b766847
	.long 0x65744861
	.long 0x6e646c65
	.long 0x72000000
DBG341:
	.long 0x6c617374
	.long 0x52617741
	.long 0x64635361
	.long 0x6d706c65
	.long 0x0
DBG319:
	.long 0x6b766852
	.long 0x6573756c
	.long 0x74000000
DBG100:
	.long 0x6b766852
	.long 0x65636569
	.long 0x76654861
	.long 0x6e646c65
	.long 0x72000000
DBG189:
	.long 0x72617753
	.long 0x616d706c
	.long 0x65000000
DBG342:
	.long 0x70726576
	.long 0x696f7573
	.long 0x48656164
	.long 0x696e6700
DBG95:
	.long 0x5f5f5641
	.long 0x525f4152
	.long 0x47535f53
	.long 0x495a4500
DBG343:
	.long 0x68696768
	.long 0x5475726e
	.long 0x54687265
	.long 0x73686f6c
	.long 0x644c6576
	.long 0x656c0000
DBG207:
	.long 0x6b766854
	.long 0x75726e73
	.long 0x436f756e
	.long 0x74657253
	.long 0x65744861
	.long 0x6e646c65
	.long 0x72000000
DBG110:
	.long 0x6b766852
	.long 0x61774164
	.long 0x63496e48
	.long 0x616e646c
	.long 0x65720000
DBG344:
	.long 0x6c6f7754
	.long 0x75726e54
	.long 0x68726573
	.long 0x686f6c64
	.long 0x436f756e
	.long 0x74000000
DBG336:
	.long 0x6c617374
	.long 0x56616c75
	.long 0x65000000
DBG345:
	.long 0x61646343
	.long 0x6f756e74
	.long 0x73546f4d
	.long 0x76536361
	.long 0x6c650000
DBG348:
	.long 0x63757272
	.long 0x656e7448
	.long 0x65616469
	.long 0x6e670000
DBG347:
	.long 0x696e6974
	.long 0x69616c48
	.long 0x69676843
	.long 0x6f756e74
	.long 0x0
DBG346:
	.long 0x68616c74
	.long 0x4f757470
	.long 0x75745374
	.long 0x72000000
DBG29:
	.long 0x5f5f5341
	.long 0x5645445f
	.long 0x41524753
	.long 0x5f53495a
	.long 0x45000000
DBG349:
	.long 0x6d696e52
	.long 0x61774164
	.long 0x6353616d
	.long 0x706c6500
DBG276:
	.long 0x6b766841
	.long 0x6e616c6f
	.long 0x6748616e
	.long 0x646c6572
	.long 0x0
DBG64:
	.long 0x6b766847
	.long 0x65744865
	.long 0x6164696e
	.long 0x67000000
DBG350:
	.long 0x6d617852
	.long 0x61774164
	.long 0x6353616d
	.long 0x706c6500
DBG190:
	.long 0x6e657748
	.long 0x65616469
	.long 0x6e670000
DBG354:
	.long 0x73656e73
	.long 0x6f725374
	.long 0x61746500
DBG356:
	.long 0x73656e73
	.long 0x6f725361
	.long 0x6d706c65
	.long 0x4d657468
	.long 0x6f640000
DBG355:
	.long 0x636f6d6d
	.long 0x616e6448
	.long 0x616e646c
	.long 0x65720000
DBG351:
	.long 0x616e616c
	.long 0x6f674c69
	.long 0x6e656172
	.long 0x4f757453
	.long 0x74720000
DBG335:
	.long 0x70726576
	.long 0x53746174
	.long 0x65000000
DBG5:
	.long 0x453a5c6d
	.long 0x6d637266
	.long 0x696f5c6b
	.long 0x76682e63
	.long 0x0
DBG352:
	.long 0x68696768
	.long 0x5475726e
	.long 0x54687265
	.long 0x73686f6c
	.long 0x64436f75
	.long 0x6e740000
	.iseg _idesc
	.align 0x2
	.data kvh_V15
	.data kvh_V17
	.data 0x8
	.data 0x0
	.data kvh_V34
	.data 0x24
