; Archelon URCC C 3.17 2004/01/12
; MSP430 CIF 2003/10/23
; Compiled "E:\mmcrfio\usart1.c" Fri Feb 20 18:03:40 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 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);
; void gpioInit(void);
; void gpioSetLed(boolean);
; void gpioSetAttn(boolean);
; void gpioSetHiSide(boolean);
; void gpioSetGfTest(boolean);
; void gpioSetKvhPower(boolean);
; 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);
; int usart1Init(boolean spiMode);
; boolean usart1GetTxIntEnable(void);
; int usart1TxOne(char txCh);
; int usart1RxOne(char *pRxCh);
; static char rx1Queue[ (16) ];
; static int rx1Head;
; static int rx1Tail;
; static int rx1Len;
; static int rx1Errors;
; static int rx1CharsDropped;
; static char tx1Queue[ (16) ];
; static int tx1Head;
; static int tx1Tail;
; static int tx1Len;
; static int tx1CharsDropped;
; static boolean tx1IntEnable;
; int usart1Init(boolean spiMode)
DBG3:
	.long 0x0
	.long DBG10
	.long _usart1Init
	.long 0x44
	.long 0x1020001
	.long DBG1
	.long DBG7-DBG8
	.long DBG9
	.long DBG6
	.long 0x0
	.pseg usart1_code
DBG8:
	.dbgseg dbg_syms
DBG1:
	.long 0x66622e
	.long 0x0
	.long DBG8
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x19
	.long 0x0
	.long DBG11
	.long 0x0
	.dbgseg dbg_line
	.align 0x2
DBG9:
	.long DBG3
	.long 0x0
	.long _usart1Init
	.long 0x1
	.long DBG13
	.long 0x2
	.long DBG14
	.long 0x5
	.long DBG15
	.long 0x6
	.long DBG16
	.long 0x8
	.long DBG17
	.long 0x9
	.long DBG18
	.long 0xb
	.long DBG19
	.long 0xc
	.long DBG20
	.long 0xd
	.long DBG21
	.long 0xe
	.long DBG22
	.long 0xf
	.long DBG23
	.long 0x11
	.long DBG24
	.long 0x12
	.long DBG25
	.long 0x13
	.long DBG26
	.long 0x14
	.long DBG27
	.long 0x15
	.long DBG28
	.long 0x17
	.long DBG29
	.long 0x18
	.long DBG30
	.long 0x19
	.long DBG31
	.long 0x1a
	.long DBG32
	.long 0x1b
	.long DBG33
	.long 0x1c
	.long DBG34
	.long 0x1d
	.long DBG36
	.long 0x1e
	.long DBG37
	.long 0x1f
	.long DBG38
	.long 0x20
	.long DBG40
	.long 0x21
	.long DBG41
	.long 0x22
	.long DBG42
	.long 0x23
	.long DBG43
	.long 0x24
	.long DBG44
	.long 0x26
	.long DBG45
	.long 0x27
	.pseg usart1_code
	.global _usart1Init
_usart1Init:
; ENTRY
DBG12:
; spiMode at argloc 0 (0x0) in reg  size 2
; i in reg  size 2
; {
DBG13:
;   int i;
;   for(i=0;i< (16) ;i++)
DBG14:
	mov	#0x0,r13
usart1Init_L1:
;     rx1Queue[i] = 0x00;
DBG15:
	mov.b	#0x0,_rx1Queue(r13)
	add	#0x1,r13
	cmp	#0x10,r13
	jl	usart1Init_L1
DBG16:
;   for(i=0;i< (16) ;i++)
	mov	#0x0,r13
usart1Init_L2:
;     tx1Queue[i] = 0x00;
DBG17:
	mov.b	#0x0,_tx1Queue(r13)
	add	#0x1,r13
	cmp	#0x10,r13
	jl	usart1Init_L2
DBG18:
;   rx1Head = 0;
	mov	#0x0,&_rx1Head
DBG19:
;   rx1Tail = 0;
	mov	#0x0,&_rx1Tail
DBG20:
;   rx1Len = 0;
	mov	#0x0,&_rx1Len
DBG21:
;   rx1Errors = 0;
	mov	#0x0,&_rx1Errors
DBG22:
;   rx1CharsDropped = 0;
	mov	#0x0,&_rx1CharsDropped
DBG23:
;   tx1Head = 0;
	mov	#0x0,&_tx1Head
DBG24:
;   tx1Tail = 0;
	mov	#0x0,&_tx1Tail
DBG25:
;   tx1Len = 0;
	mov	#0x0,&_tx1Len
DBG26:
;   tx1CharsDropped = 0;
	mov	#0x0,&_tx1CharsDropped
DBG27:
;   tx1IntEnable = false;
	mov	#0x0,&_tx1IntEnable
DBG28:
;   U1CTL = (0x01) ; 
	mov.b	#0x1,&0x78
DBG29:
;   U1BR0 = 0x00;                         
	mov.b	#0x0,&0x7c
DBG30:
;   U1BR1 = 0x06;                         
	mov.b	#0x6,&0x7d
DBG31:
;   U1MCTL = 0x00;                        
	mov.b	#0x0,&0x7b
DBG32:
;   U1TCTL = (0x20) ;                       
	mov.b	#0x20,&0x79
DBG33:
;   ME2 = ME2 | ( (0x20)  | (0x10) );          
	mov.b	&0x5,r13
	bis.b	#0x30,r13
	mov.b	r13,&0x5
DBG34:
;   if (spiMode == false) {
	cmp	#0x0,r12
	jne	usart1Init_L3
DBG36:
DBG35:
;     U1CTL = (0x10) ;                       
	mov.b	#0x10,&0x78
DBG38:
DBG37:
;     }
	jmp	usart1Init_L4
usart1Init_L3:
;   else {
DBG39:
;     U1CTL = ( (0x10)  | (0x04) );              
DBG40:
	mov.b	#0x14,&0x78
DBG41:
usart1Init_L4:
;     }    
;   IE2 = IE2 | (0x10) ;                   
DBG42:
	mov.b	&0x1,r12
	bis.b	#0x10,r12
	mov.b	r12,&0x1
DBG43:
;   _EINT();
	eint
DBG44:
;   return 0;
	mov	#0x0,r12
DBG46:
DBG45:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x4d697073
	.long 0x65646f
	.long 0xc0102
	.long 0x4
	.long 0x11ffff
DBG2:
	.long 0x62622e
	.long 0x0
	.long DBG15
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG49
	.long 0x0
	.long 0x69
	.long 0x0
	.long 0xd0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG34
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1d
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG46
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x3f
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG7:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG10
	.long DBG7
	.long 0x0
	.long 0xff0001
; }
; int usart1TxOne(char txCh)
DBG6:
	.long 0x0
	.long DBG54
	.long _usart1TxOne
	.long 0x44
	.long 0x1020001
	.long DBG11
	.long DBG51-DBG52
	.long DBG53
	.long DBG50
	.long 0x0
	.pseg usart1_code
DBG52:
	.dbgseg dbg_syms
DBG11:
	.long 0x66622e
	.long 0x0
	.long DBG52
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x41
	.long 0x0
	.long DBG55
	.long 0x0
	.dbgseg dbg_line
DBG53:
	.long DBG6
	.long 0x0
	.long _usart1TxOne
	.long 0x1
	.long DBG57
	.long 0x2
	.long DBG58
	.long 0x3
	.long DBG59
	.long 0x5
	.long DBG61
	.long 0x6
	.long DBG62
	.long 0x7
	.long DBG63
	.long 0x8
	.long DBG64
	.long 0x9
	.long DBG65
	.long 0xa
	.long DBG66
	.long 0xb
	.long DBG67
	.long 0xc
	.long DBG68
	.long 0xd
	.long DBG70
	.long 0xe
	.long DBG71
	.long 0xf
	.long DBG72
	.long 0x11
	.long DBG74
	.long 0x19
	.long DBG75
	.long 0x1a
	.long DBG76
	.long 0x1b
	.long DBG77
	.long 0x1c
	.long DBG78
	.long 0x1d
	.long DBG79
	.long 0x1e
	.long DBG80
	.long 0x1f
	.long DBG81
	.long 0x20
	.long DBG82
	.long 0x21
	.long DBG83
	.long 0x23
	.long DBG84
	.long 0x24
	.pseg usart1_code
	.global _usart1TxOne
_usart1TxOne:
; ENTRY
DBG56:
; txCh at argloc 0 (0x0) in reg  size 1
; retVal in reg  size 2
; {
DBG57:
;   int retVal = -1;
DBG58:
	mov	#-0x1,r13
DBG59:
;   if (tx1Len != (16) ) {
	cmp	#0x10,&_tx1Len
	jeq	usart1TxOne_L1
DBG61:
DBG60:
;     tx1Queue[tx1Head] = txCh;
	mov	&_tx1Head,r13
	mov	r13,r14
	add	#_tx1Queue,r14
	mov.b	r12,0(r14)
DBG62:
;  ((tx1Head ==  ( (16) -1)) ? tx1Head= 0 : tx1Head++ ) ;
	cmp	#0xf,r13
	jne	usart1TxOne_LL2
	mov	#0x0,&_tx1Head
	jmp	usart1TxOne_LL3
usart1TxOne_LL2:
	add	#0x1,&_tx1Head
usart1TxOne_LL3:
;     _DINT();
DBG63:
	dint
DBG64:
;     tx1Len++;
	add	#0x1,&_tx1Len
DBG65:
;     _EINT();
	eint
DBG66:
;     retVal = 0;
	mov	#0x0,r13
DBG68:
DBG67:
;     }
	jmp	usart1TxOne_L2
usart1TxOne_L1:
;   else {
DBG69:
;     tx1CharsDropped++;
DBG70:
	add	#0x1,&_tx1CharsDropped
DBG71:
usart1TxOne_L2:
;     }
;   if (tx1IntEnable == false) {
DBG72:
	cmp	#0x0,&_tx1IntEnable
	jne	usart1TxOne_L3
DBG74:
DBG73:
;     while (( U1TCTL  & (0x01) ) == 0); 
usart1TxOne_L4:
	bit.b	#0x1,&0x79
	jeq	usart1TxOne_L4
usart1TxOne_L5:
;     U1TXBUF = tx1Queue[tx1Tail];
DBG75:
	mov	&_tx1Tail,r12
	mov.b	_tx1Queue(r12),&0x7f
DBG76:
;  ((tx1Tail ==  ( (16) -1)) ? tx1Tail= 0 : tx1Tail++ ) ;
	cmp	#0xf,r12
	jne	usart1TxOne_LL4
	mov	#0x0,&_tx1Tail
	jmp	usart1TxOne_LL5
usart1TxOne_LL4:
	add	#0x1,&_tx1Tail
usart1TxOne_LL5:
;     _DINT();
DBG77:
	dint
DBG78:
;     tx1Len--;
	sub	#0x1,&_tx1Len
DBG79:
;     tx1IntEnable = true;      
	mov	#0x1,&_tx1IntEnable
DBG80:
;     IE2 = IE2 | (0x20) ;
	mov.b	&0x1,r12
	bis.b	#0x20,r12
	mov.b	r12,&0x1
DBG81:
;     _EINT();
	eint
DBG83:
DBG82:
;     }
usart1TxOne_L3:
;   return retVal;
	mov	r13,r12
DBG85:
DBG84:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
DBG49:
	.long 0x62622e
	.long 0x0
	.long DBG56
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG86
	.long 0x0
	.long 0x68437874
	.long 0x0
	.long 0xc0102
	.long 0x2
	.long 0x11ffff
DBG86:
	.long 0x62622e
	.long 0x0
	.long DBG59
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG87
	.long 0x0
	.long 0x56746572
	.long 0x6c61
	.long 0xd0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG62
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long 0x0
	.long 0x0
DBG87:
	.long 0x62622e
	.long 0x0
	.long DBG67
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long DBG88
	.long 0x0
	.long 0x56746572
	.long 0x6c61
	.long 0xd0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG76
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1b
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG76
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1b
	.long 0x0
	.long 0x0
	.long 0x0
DBG88:
	.long 0x62622e
	.long 0x0
	.long DBG76
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1b
	.long 0x0
	.long DBG89
	.long 0x0
	.long 0x56746572
	.long 0x6c61
	.long 0xd0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG84
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x24
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG85
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x64
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG51:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG54
	.long DBG51
	.long 0x0
	.long 0xff0001
; }
; int usart1RxOne(char *pRxCh)
DBG50:
	.long 0x0
	.long DBG94
	.long _usart1RxOne
	.long 0x44
	.long 0x1020001
	.long DBG55
	.long DBG91-DBG92
	.long DBG93
	.long DBG90
	.long 0x0
	.pseg usart1_code
DBG92:
	.dbgseg dbg_syms
DBG55:
	.long 0x66622e
	.long 0x0
	.long DBG92
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x66
	.long 0x0
	.long DBG95
	.long 0x0
	.dbgseg dbg_line
DBG93:
	.long DBG50
	.long 0x0
	.long _usart1RxOne
	.long 0x1
	.long DBG97
	.long 0x2
	.long DBG98
	.long 0x3
	.long DBG99
	.long 0x4
	.long DBG100
	.long 0x6
	.long DBG101
	.long 0x7
	.long DBG102
	.long 0x8
	.long DBG103
	.long 0x9
	.long DBG104
	.long 0xa
	.long DBG105
	.long 0xc
	.long DBG106
	.long 0xd
	.pseg usart1_code
	.global _usart1RxOne
_usart1RxOne:
; ENTRY
DBG96:
; pRxCh at argloc 0 (0x0) in reg  size 2
; {
DBG97:
;   if (rx1Len == 0)
DBG98:
	cmp	#0x0,&_rx1Len
	jne	usart1RxOne_L1
DBG99:
;     return -1;
	mov	#-0x1,r12
	jmp	usart1RxOne_LL2
DBG100:
usart1RxOne_L1:
;   *pRxCh = rx1Queue[rx1Tail];
	mov	&_rx1Tail,r13
	mov.b	_rx1Queue(r13),0(r12)
DBG101:
;  ((rx1Tail ==  ( (16) -1)) ? rx1Tail= 0 : rx1Tail++ ) ;
	cmp	#0xf,r13
	jne	usart1RxOne_LL3
	mov	#0x0,&_rx1Tail
	jmp	usart1RxOne_LL4
usart1RxOne_LL3:
	add	#0x1,&_rx1Tail
usart1RxOne_LL4:
;   _DINT();
DBG102:
	dint
DBG103:
;   rx1Len--;
	sub	#0x1,&_rx1Len
DBG104:
;   _EINT();
	eint
DBG105:
;   return 0;
	mov	#0x0,r12
DBG106:
usart1RxOne_LL2:
; EXIT
DBG107:
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
DBG89:
	.long 0x62622e
	.long 0x0
	.long DBG96
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG108
	.long 0x0
	.long 0x43785270
	.long 0x68
	.long 0xc0102
	.long 0x22
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG100
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG108:
	.long 0x62622e
	.long 0x0
	.long DBG101
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long DBG109
	.long 0x0
	.long 0x43785270
	.long 0x68
	.long 0xc0102
	.long 0x22
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG106
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG107
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x72
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG91:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG94
	.long DBG91
	.long 0x0
	.long 0xff0001
; }
;  _INTERRUPT  [ (2 * 2)  ] void usart1TxIsr( void )
	.iseg usart1_ivec_4,abs=0xffe4
	.align 0x2
	.data _usart1TxIsr
	.dbgseg dbg_syms
DBG90:
	.long 0x0
	.long DBG114
	.long _usart1TxIsr
	.long 0x40
	.long 0x1020001
	.long DBG95
	.long DBG111-DBG112
	.long DBG113
	.long DBG110
	.long 0x0
	.pseg usart1_code
DBG112:
	.dbgseg dbg_syms
DBG95:
	.long 0x66622e
	.long 0x0
	.long DBG112
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x79
	.long 0x0
	.long DBG115
	.long 0x0
	.dbgseg dbg_line
DBG113:
	.long DBG90
	.long 0x0
	.long _usart1TxIsr
	.long 0x1
	.long DBG117
	.long 0x2
	.long DBG118
	.long 0x3
	.long DBG120
	.long 0x6
	.long DBG121
	.long 0x7
	.long DBG122
	.long 0x8
	.long DBG123
	.long 0x9
	.long DBG124
	.long 0xa
	.long DBG126
	.long 0xc
	.long DBG127
	.long 0xd
	.long DBG128
	.long 0xe
	.long DBG129
	.long 0xf
	.long DBG130
	.long 0x10
	.pseg usart1_code
	.global _usart1TxIsr
_usart1TxIsr:
	push	r12
DBG118:
DBG117:
DBG116:
; ENTRY
; {
;   if (tx1Len != 0) {
	cmp	#0x0,&_tx1Len
	jeq	usart1TxIsr_L1
DBG120:
DBG119:
;     U1TXBUF = tx1Queue[tx1Tail];
	mov	&_tx1Tail,r12
	mov.b	_tx1Queue(r12),&0x7f
DBG121:
;  ((tx1Tail ==  ( (16) -1)) ? tx1Tail= 0 : tx1Tail++ ) ;
	cmp	#0xf,r12
	jne	usart1TxIsr_LL2
	mov	#0x0,&_tx1Tail
	jmp	usart1TxIsr_LL3
usart1TxIsr_LL2:
	add	#0x1,&_tx1Tail
usart1TxIsr_LL3:
;     tx1Len--;
DBG122:
	sub	#0x1,&_tx1Len
DBG124:
DBG123:
;     }
	jmp	usart1TxIsr_L2
usart1TxIsr_L1:
;   else {
DBG125:
;     IE2 = IE2 & ~ (0x20) ;
DBG126:
	mov.b	&0x1,r12
	and.b	#0xdf,r12
	mov.b	r12,&0x1
DBG127:
;     tx1IntEnable = false;
	mov	#0x0,&_tx1IntEnable
DBG128:
usart1TxIsr_L2:
;     }
;   _EINT();
DBG129:
	eint
DBG131:
DBG130:
; EXIT
; .temp0 at stkloc 0 (0x0) size 2
	pop	r12
	reti
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG131
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x88
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG111:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG114
	.long DBG111
	.long 0x0
	.long 0xff0001
; }
; boolean usart1GetTxIntEnable(void)
DBG110:
	.long 0x0
	.long DBG136
	.long _usart1GetTxIntEnable
	.long 0x44
	.long 0x1020001
	.long DBG115
	.long DBG133-DBG134
	.long DBG135
	.long DBG132
	.long 0x0
	.pseg usart1_code
DBG134:
	.dbgseg dbg_syms
DBG115:
	.long 0x66622e
	.long 0x0
	.long DBG134
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x8a
	.long 0x0
	.long DBG137
	.long 0x0
	.dbgseg dbg_line
DBG135:
	.long DBG110
	.long 0x0
	.long _usart1GetTxIntEnable
	.long 0x1
	.long DBG139
	.long 0x2
	.long DBG140
	.long 0x3
	.long DBG141
	.long 0x4
	.pseg usart1_code
	.global _usart1GetTxIntEnable
_usart1GetTxIntEnable:
; ENTRY
DBG138:
; {
DBG139:
;   return tx1IntEnable;
DBG140:
	mov	&_tx1IntEnable,r12
DBG142:
DBG141:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG142
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x8d
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG133:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG136
	.long DBG133
	.long 0x0
	.long 0xff0001
; }
;  _INTERRUPT  [ (3 * 2)  ] void usart1RxIsr( void )
	.iseg usart1_ivec_6,abs=0xffe6
	.data _usart1RxIsr
	.dbgseg dbg_syms
DBG132:
	.long 0x0
	.long DBG147
	.long _usart1RxIsr
	.long 0x40
	.long 0x1020001
	.long DBG137
	.long DBG144-DBG145
	.long DBG146
	.long DBG143
	.long 0x0
	.pseg usart1_code
DBG145:
	.dbgseg dbg_syms
DBG137:
	.long 0x66622e
	.long 0x0
	.long DBG145
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x94
	.long 0x0
	.long DBG148
	.long 0x0
	.dbgseg dbg_line
DBG146:
	.long DBG132
	.long 0x0
	.long _usart1RxIsr
	.long 0x1
	.long DBG150
	.long 0x2
	.long DBG151
	.long 0x5
	.long DBG152
	.long 0x6
	.long DBG153
	.long 0x7
	.long DBG155
	.long 0x8
	.long DBG157
	.long 0x9
	.long DBG158
	.long 0xa
	.long DBG159
	.long 0xb
	.long DBG160
	.long 0xc
	.long DBG162
	.long 0xd
	.long DBG163
	.long 0xe
	.long DBG164
	.long 0xf
	.long DBG165
	.long 0x10
	.long DBG166
	.long 0x11
	.long DBG167
	.long 0x12
	.long DBG168
	.long 0x13
	.long DBG169
	.long 0x15
	.pseg usart1_code
	.global _usart1RxIsr
_usart1RxIsr:
	push	r12
	push	r13
	push	r14
	push	r15
DBG151:
DBG150:
DBG149:
; ENTRY
; dummy in reg  size 1
; {
;   char dummy;
;   if (rx1Len == (16) )
	cmp	#0x10,&_rx1Len
	jne	usart1RxIsr_L1
DBG152:
;     rx1CharsDropped++;
	add	#0x1,&_rx1CharsDropped
DBG153:
	jmp	usart1RxIsr_L2
usart1RxIsr_L1:
;   else {
DBG154:
;     if (U1RCTL & (0x01) ) {
DBG155:
	bit.b	#0x1,&0x7a
	jeq	usart1RxIsr_L3
DBG157:
DBG156:
;       rx1Errors++; 
	add	#0x1,&_rx1Errors
DBG158:
;       dummy = U1RXBUF; 
	mov.b	&0x7e,r12
DBG160:
DBG159:
;       }
	jmp	usart1RxIsr_L4
usart1RxIsr_L3:
;     else {
DBG161:
;       rx1Queue[rx1Head] = U1RXBUF;
DBG162:
	mov	&_rx1Head,r13
	mov	r13,r12
	add	#_rx1Queue,r12
	mov.b	&0x7e,0(r12)
DBG163:
;  ((rx1Head ==  ( (16) -1)) ? rx1Head= 0 : rx1Head++ ) ;
	cmp	#0xf,r13
	jne	usart1RxIsr_LL2
	mov	#0x0,&_rx1Head
	jmp	usart1RxIsr_LL3
usart1RxIsr_LL2:
	add	#0x1,&_rx1Head
usart1RxIsr_LL3:
;       rx1Len++;
DBG164:
	add	#0x1,&_rx1Len
DBG165:
usart1RxIsr_L4:
;     }
DBG166:
usart1RxIsr_L2:
;   }
;   eventqPut( (8) );
DBG167:
	mov	#0x8,r12
	call	#_eventqPut
DBG168:
;   _EINT();
	eint
DBG170:
DBG169:
; EXIT
; .temp1 at stkloc 0 (0x0) size 8
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	reti
	.dbgseg dbg_syms
	.long 0x0
	.long DBG47
	.long 0x8
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG48
	.long 0x2
	.long 0x0
	.long 0x10002
DBG109:
	.long 0x62622e
	.long 0x0
	.long DBG159
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb
	.long 0x0
	.long DBG171
	.long 0x0
	.long 0x6d6d7564
	.long 0x79
	.long 0xc0102
	.long 0x2
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG163
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG170
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xa8
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg usart1_code
DBG144:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG147
	.long DBG144
	.long 0x0
	.long 0xff0001
; }
	.dseg	usart1_bss
	.align 0x2
usart1_V13:
_rx1Queue:
	.bss 0x10
; rx1Queue size 16
_tx1Queue:
	.bss 0x10
; tx1Queue size 16
	.align 0x2
_rx1Tail:
	.bss 0x2
; rx1Tail size 2
	.align 0x2
_tx1Tail:
	.bss 0x2
; tx1Tail size 2
	.align 0x2
_rx1Head:
	.bss 0x2
; rx1Head size 2
	.align 0x2
_tx1IntEnable:
	.bss 0x2
; tx1IntEnable size 2
	.align 0x2
_tx1Head:
	.bss 0x2
; tx1Head size 2
	.align 0x2
_rx1Errors:
	.bss 0x2
; rx1Errors size 2
	.align 0x2
_rx1CharsDropped:
	.bss 0x2
; rx1CharsDropped size 2
	.align 0x2
_rx1Len:
	.bss 0x2
; rx1Len size 2
	.align 0x2
_tx1CharsDropped:
	.bss 0x2
; tx1CharsDropped size 2
	.align 0x2
_tx1Len:
	.bss 0x2
; tx1Len size 2
	.extern _eventqPut
	.dbgseg dbg_syms
.0fake_1:
DBG4:
	.long 0x6166302e
	.long 0x315f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x100000
	.long 0x0
	.long DBG172
	.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
DBG148:
DBG171:
DBG143:
DBG172:
	.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 0x51317872
	.long 0x65756575
	.long _rx1Queue
	.long 0x62
	.long 0x1030002
	.long 0x0
	.long 0x1000ac
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x51317874
	.long 0x65756575
	.long _tx1Queue
	.long 0x62
	.long 0x1030002
	.long 0x0
	.long 0x1000ac
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x54317872
	.long 0x6c6961
	.long _rx1Tail
	.long 0x4
	.long 0x30002
	.long 0x54317874
	.long 0x6c6961
	.long _tx1Tail
	.long 0x4
	.long 0x30002
	.long 0x48317872
	.long 0x646165
	.long _rx1Head
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG173
	.long _tx1IntEnable
	.long 0x4
	.long 0x30002
	.long 0x48317874
	.long 0x646165
	.long _tx1Head
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG174
	.long _rx1Errors
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG175
	.long _rx1CharsDropped
	.long 0x4
	.long 0x30002
	.long 0x4c317872
	.long 0x6e65
	.long _rx1Len
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG176
	.long _tx1CharsDropped
	.long 0x4
	.long 0x30002
	.long 0x4c317874
	.long 0x6e65
	.long _tx1Len
	.long 0x4
	.long 0x30002
	.long 0x0
	.long DBG177
	.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 0x657a6973
	.long 0x745f
	.long 0x0
	.long 0xe
	.long 0xdfffe
	.long 0x6c5f6176
	.long 0x747369
	.long 0x0
	.long 0x20
	.long 0xdfffe
	.long 0x0
	.long DBG178
	.long 0x0
	.long 0x2a4
	.long 0xdfffe
	.long 0x666f652e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67fffe
	.dbgseg dbg_strs
	.align 0x2
	.long 0xe8
DBG177:
	.long 0x6576656e
	.long 0x7448616e
	.long 0x646c6572
	.long 0x0
DBG47:
	.long 0x5f5f4652
	.long 0x414d4553
	.long 0x495a4500
DBG94:
	.long 0x75736172
	.long 0x74315278
	.long 0x4f6e6500
DBG54:
	.long 0x75736172
	.long 0x74315478
	.long 0x4f6e6500
DBG173:
	.long 0x74783149
	.long 0x6e74456e
	.long 0x61626c65
	.long 0x0
DBG10:
	.long 0x75736172
	.long 0x7431496e
	.long 0x69740000
DBG5:
	.long 0x453a5c6d
	.long 0x6d637266
	.long 0x696f5c75
	.long 0x73617274
	.long 0x312e6300
DBG48:
	.long 0x5f5f5341
	.long 0x5645445f
	.long 0x41524753
	.long 0x5f53495a
	.long 0x45000000
DBG174:
	.long 0x72783145
	.long 0x72726f72
	.long 0x73000000
DBG147:
	.long 0x75736172
	.long 0x74315278
	.long 0x49737200
DBG175:
	.long 0x72783143
	.long 0x68617273
	.long 0x44726f70
	.long 0x70656400
DBG114:
	.long 0x75736172
	.long 0x74315478
	.long 0x49737200
DBG176:
	.long 0x74783143
	.long 0x68617273
	.long 0x44726f70
	.long 0x70656400
DBG178:
	.long 0x636f6d6d
	.long 0x616e6448
	.long 0x616e646c
	.long 0x65720000
DBG136:
	.long 0x75736172
	.long 0x74314765
	.long 0x74547849
	.long 0x6e74456e
	.long 0x61626c65
	.long 0x0
	.iseg _idesc
	.align 0x2
	.data 0x0
	.data usart1_V13
	.data 0x34
