; Archelon URCC C 3.20 2005/02/20
; MSP430 CIF 2005/01/21
; Compiled "C:\svn\MOOS\MSP430\Quadravox\mmcrfio\timer.c" Thu Apr 07 21:34:39 2005
; 
	.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 void (*__appendfunc_ptr) (char, void *);
; __appendfunc_ptr 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    snprintf( char *, size_t, const char *, ... );
; int    sscanf( const char *, const char *, ... );
; int    vsprintf( char *, const char *, va_list );
; int    vsnprintf( char *, size_t, const char *, va_list );
; int    __vpprintf( __appendfunc_ptr, void *, const char *, va_list );
; int    __pprintf( __appendfunc_ptr, void *, const char *, ... );
; typedef int boolean;
; boolean size 2
; enum {false = 0, true = 1};
; enum {error = -1, success = 0};
; char * errnumGetDesc(int errNum);
; 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 clearString(char *s, int len);
; void eatWhiteSpace(char **s);
; int grabArgument(char **srcStr, char *dstStr, int dstLen);
; 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);
; typedef struct Timer {
;   struct Timer *next;
;   unsigned char flags;
;   int period; 
;   int delay; 
;   int evType;
;   } Timer, *pTimer;
; Timer size 10
; pTimer size 2
; int timerInit(void);
; pTimer timerCreate(unsigned char flags, int period, int evType);
; void timerModify(pTimer modTimer, unsigned char flags, int period);
; void timerCancel(pTimer cancelTimer);
; int timerGetPeriodMs(void);
; void timerShow(void);
; void timerTickHandler(void);
; static Timer timers[ (10) ];
; static int freeTimerIdx = 0;
	.iseg timer_idata
	.align 0x2
timer_V2:
	.align 0x2
	.align 0x2
	.data 0x0
	.dseg	timer_data
	.align 0x2
timer_V3:
	.align 0x2
_freeTimerIdx:
	.bss 0x2
; freeTimerIdx size 2
; static pTimer timerList = ((void *) 0) ;
	.iseg timer_idata
	.align 0x2
	.align 0x2
	.data 0x0
	.dseg	timer_data
	.align 0x2
_timerList:
	.bss 0x2
; timerList size 2
; static pTimer freeList = ((void *) 0) ;
	.iseg timer_idata
	.align 0x2
	.align 0x2
	.data 0x0
	.dseg	timer_data
	.align 0x2
_freeList:
	.bss 0x2
; freeList size 2
; static unsigned int numTicks = 0;
	.iseg timer_idata
	.align 0x2
	.align 0x2
	.data 0x0
	.dseg	timer_data
	.align 0x2
_numTicks:
	.bss 0x2
; numTicks size 2
; void timerShow(void)
	.dbgseg dbg_syms
DBG3:
	.long 0x0
	.long DBG10
	.long _timerShow
	.long 0x40
	.long 0x1020001
	.long DBG1
	.long DBG7-DBG8
	.long DBG9
	.long DBG6
	.long 0x0
	.pseg timer_code
DBG8:
	.dbgseg dbg_syms
DBG1:
	.long 0x66622e
	.long 0x0
	.long DBG8
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long DBG11
	.long 0x0
	.dbgseg dbg_line
	.align 0x2
DBG9:
	.long DBG3
	.long 0x0
	.long _timerShow
	.long 0x1
	.long DBG13
	.long 0x2
	.long DBG14
	.long 0x3
	.long DBG15
	.long 0x4
	.long DBG16
	.long 0x6
	.long DBG18
	.long 0x7
	.long DBG19
	.long 0xa
	.long DBG20
	.long 0xb
	.long DBG21
	.long 0xd
	.pseg timer_code
	.global _timerShow
_timerShow:
; ENTRY
DBG12:
; cumDelay in reg  size 2
; showTimer in reg  size 2
; {
DBG13:
;   int cumDelay = 0;
DBG14:
	mov	#0x0,r13
DBG15:
;   pTimer showTimer = timerList;
	mov	&_timerList,r12
DBG16:
;   while (showTimer != ((void *) 0) ) {
timerShow_L1:
	cmp	#0x0,r12
	jeq	timerShow_L2
DBG18:
DBG17:
;     cumDelay += showTimer->delay;
	add	0x6(r12),r13
DBG19:
;     showTimer = showTimer->next;
	mov	@r12,r12
DBG20:
	jmp	timerShow_L1
timerShow_L2:
;     }
DBG21:
; EXIT
DBG22:
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
DBG2:
	.long 0x62622e
	.long 0x0
	.long DBG15
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG25
	.long 0x0
	.long 0x446d7563
	.long 0x79616c65
	.long 0xd0102
	.long 0x4
	.long 0x4ffff
DBG25:
	.long 0x62622e
	.long 0x0
	.long DBG16
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG26
	.long 0x0
Timer_1:
DBG4:
	.long 0x656d6954
	.long 0x315f72
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xa0000
	.long 0x0
	.long DBG27
	.long 0x0
	.long 0x7478656e
	.long 0x0
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67616c66
	.long 0x73
	.long 0x2
	.long 0xc
	.long 0x8ffff
	.long 0x69726570
	.long 0x646f
	.long 0x4
	.long 0x4
	.long 0x8ffff
	.long 0x616c6564
	.long 0x79
	.long 0x6
	.long 0x4
	.long 0x8ffff
	.long 0x79547665
	.long 0x6570
	.long 0x8
	.long 0x4
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x166ffff
	.long DBG4
	.long 0xa0000
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG28
	.long 0xc0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG21
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG21
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG22
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x28
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG7:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG10
	.long DBG7
	.long 0x0
	.long 0xff0001
; }
; int showTimerHandler(char * cmdStr)
DBG6:
	.long 0x0
	.long DBG33
	.long _showTimerHandler
	.long 0x44
	.long 0x1020001
	.long DBG11
	.long DBG30-DBG31
	.long DBG32
	.long DBG29
	.long 0x0
	.pseg timer_code
DBG31:
	.dbgseg dbg_syms
DBG11:
	.long 0x66622e
	.long 0x0
	.long DBG31
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x2a
	.long 0x0
	.long DBG34
	.long 0x0
	.dbgseg dbg_line
DBG32:
	.long DBG6
	.long 0x0
	.long _showTimerHandler
	.long 0x1
	.long DBG36
	.long 0x2
	.long DBG37
	.long 0x3
	.long DBG38
	.long 0x4
	.long DBG39
	.long 0x5
	.pseg timer_code
	.global _showTimerHandler
_showTimerHandler:
; ENTRY
DBG35:
; {
DBG36:
;   timerShow();
DBG37:
	call	#_timerShow
DBG38:
;   return 0;
	mov	#0x0,r12
DBG40:
DBG39:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG40
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x2e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG30:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG33
	.long DBG30
	.long 0x0
	.long 0xff0001
; }
; ****** Warning: Symbol ``cmdStr'' (function showTimerHandler) was defined, but not used
; static  pTimer allocTimer(void)
DBG29:
	.long 0x0
	.long DBG45
	.long _allocTimer
	.long 0x148
	.long 0x1030001
	.long Timer_1
	.long DBG42-DBG43
	.long DBG44
	.long DBG41
	.long 0x0
	.pseg timer_code
DBG43:
	.dbgseg dbg_syms
DBG34:
	.long 0x66622e
	.long 0x0
	.long DBG43
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x34
	.long 0x0
	.long DBG46
	.long 0x0
	.dbgseg dbg_line
DBG44:
	.long DBG29
	.long 0x0
	.long _allocTimer
	.long 0x1
	.long DBG48
	.long 0x2
	.long DBG49
	.long 0x3
	.long DBG50
	.long 0x5
	.long DBG52
	.long 0x6
	.long DBG53
	.long 0x7
	.long DBG54
	.long 0x8
	.long DBG55
	.long 0x9
	.long DBG57
	.long 0xd
	.long DBG59
	.long 0xe
	.long DBG60
	.long 0xf
	.long DBG61
	.long 0x10
	.long DBG62
	.long 0x12
	.long DBG64
	.long 0x13
	.long DBG65
	.long 0x14
	.pseg timer_code
_allocTimer:
; ENTRY
DBG47:
; pRetTimer in reg  size 2
; {
DBG48:
;   pTimer pRetTimer = ((void *) 0) ;
DBG49:
	mov	#0x0,r14
DBG50:
;   if (freeList != ((void *) 0) ) {
	mov	&_freeList,r13
	cmp	#0x0,r13
	jeq	allocTimer_L1
DBG53:
DBG52:
DBG51:
;     pRetTimer = freeList;
;     freeList = freeList->next;
	mov	@r13,&_freeList
DBG55:
DBG54:
;     }
	jmp	allocTimer_L2
allocTimer_L1:
;   else {
DBG56:
;     if (freeTimerIdx < (10) ) {
DBG57:
	mov	&_freeTimerIdx,r12
	mov	#0xa,r15
	mov	r14,r13
	cmp	r15,r12
	jge	allocTimer_L3
DBG59:
DBG58:
;       pRetTimer = &(timers[freeTimerIdx]);
	mov	r15,r13
DBG66:
	call	#__smult16hw
DBG67:
	add	#_timers,r12
DBG60:
;       freeTimerIdx++;
	add	#0x1,&_freeTimerIdx
	mov	r12,r13
DBG62:
DBG61:
;       }
allocTimer_L3:
DBG63:
allocTimer_L2:
;     }  
;   return pRetTimer;
DBG64:
	mov	r13,r12
DBG68:
DBG65:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
DBG26:
	.long 0x62622e
	.long 0x0
	.long DBG50
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG69
	.long 0x0
	.long 0x0
	.long DBG70
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG69:
	.long 0x62622e
	.long 0x0
	.long DBG66
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long DBG71
	.long 0x0
	.long 0x0
	.long DBG72
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG67
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG60
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
DBG71:
	.long 0x62622e
	.long 0x0
	.long DBG60
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long DBG73
	.long 0x0
	.long 0x0
	.long DBG70
	.long 0xc0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG65
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG68
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x47
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG42:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG45
	.long DBG42
	.long 0x0
	.long 0xff0001
; }
; static  void recycleTimer(pTimer pFreeTimer)
DBG41:
	.long 0x0
	.long DBG78
	.long _recycleTimer
	.long 0x40
	.long 0x1030001
	.long DBG46
	.long DBG75-DBG76
	.long DBG77
	.long DBG74
	.long 0x0
	.pseg timer_code
DBG76:
	.dbgseg dbg_syms
DBG46:
	.long 0x66622e
	.long 0x0
	.long DBG76
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x4d
	.long 0x0
	.long DBG79
	.long 0x0
	.dbgseg dbg_line
DBG77:
	.long DBG41
	.long 0x0
	.long _recycleTimer
	.long 0x1
	.long DBG81
	.long 0x2
	.long DBG82
	.long 0x3
	.long DBG83
	.long 0x4
	.long DBG84
	.long 0x6
	.long DBG85
	.long 0x7
	.long DBG86
	.long 0x8
	.long DBG87
	.long 0x9
	.pseg timer_code
_recycleTimer:
; ENTRY
DBG80:
; pFreeTimer at argloc 0 (0x0) in reg  size 2
; {
DBG81:
;   if (pFreeTimer == ((void *) 0) )
DBG82:
	cmp	#0x0,r12
	jne	recycleTimer_L1
DBG83:
;     return;
	jmp	recycleTimer_LL2
DBG84:
recycleTimer_L1:
;   pFreeTimer->flags = 0;  
	mov.b	#0x0,0x2(r12)
DBG85:
;   pFreeTimer->next = freeList;
	mov	&_freeList,0(r12)
DBG86:
;   freeList = pFreeTimer;
	mov	r12,&_freeList
DBG87:
recycleTimer_LL2:
; EXIT
DBG88:
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x1
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG89
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG90
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG88
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x55
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG75:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG78
	.long DBG75
	.long 0x0
	.long 0xff0001
; }
; static  pTimer findTimer(pTimer findTimer)
DBG74:
	.long 0x0
	.long DBG95
	.long _findTimer
	.long 0x148
	.long 0x1030001
	.long Timer_1
	.long DBG92-DBG93
	.long DBG94
	.long DBG91
	.long 0x0
	.pseg timer_code
DBG93:
	.dbgseg dbg_syms
DBG79:
	.long 0x66622e
	.long 0x0
	.long DBG93
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5b
	.long 0x0
	.long DBG96
	.long 0x0
	.dbgseg dbg_line
DBG94:
	.long DBG74
	.long 0x0
	.long _findTimer
	.long 0x1
	.long DBG98
	.long 0x2
	.long DBG99
	.long 0x3
	.long DBG100
	.long 0x5
	.long DBG102
	.long 0x6
	.long DBG104
	.long 0x7
	.long DBG105
	.long 0x8
	.long DBG106
	.long 0x9
	.long DBG107
	.long 0xa
	.long DBG108
	.long 0xc
	.long DBG109
	.long 0xd
	.pseg timer_code
_findTimer:
; ENTRY
DBG97:
; findTimer at argloc 0 (0x0) in reg  size 2
; current in reg  size 2
; {
DBG98:
;   pTimer current = timerList;
DBG99:
	mov	&_timerList,r13
DBG100:
;   while (current != ((void *) 0) ) {
findTimer_L1:
	cmp	#0x0,r13
	jeq	findTimer_L2
DBG102:
DBG101:
;     if (current == findTimer) {
	cmp	r12,r13
	jne	findTimer_L3
DBG104:
DBG103:
;       break;
	jmp	findTimer_L2
DBG106:
DBG105:
;       }
findTimer_L3:
;     current = current-> next;
	mov	@r13,r13
DBG107:
	jmp	findTimer_L1
findTimer_L2:
;     }
;   return current;
DBG108:
	mov	r13,r12
DBG110:
DBG109:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x1
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG111
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG95
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG73:
	.long 0x62622e
	.long 0x0
	.long DBG100
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG112
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG109
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG110
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x67
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG92:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG95
	.long DBG92
	.long 0x0
	.long 0xff0001
; }
; static  pTimer detachTimer(pTimer detachTimer)
DBG91:
	.long 0x0
	.long DBG117
	.long _detachTimer
	.long 0x148
	.long 0x1030001
	.long Timer_1
	.long DBG114-DBG115
	.long DBG116
	.long DBG113
	.long 0x0
	.pseg timer_code
DBG115:
	.dbgseg dbg_syms
DBG96:
	.long 0x66622e
	.long 0x0
	.long DBG115
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x6d
	.long 0x0
	.long DBG118
	.long 0x0
	.dbgseg dbg_line
DBG116:
	.long DBG91
	.long 0x0
	.long _detachTimer
	.long 0x1
	.long DBG120
	.long 0x2
	.long DBG121
	.long 0x3
	.long DBG122
	.long 0x4
	.long DBG123
	.long 0x6
	.long DBG125
	.long 0x7
	.long DBG127
	.long 0x8
	.long DBG128
	.long 0x9
	.long DBG129
	.long 0xa
	.long DBG130
	.long 0xb
	.long DBG131
	.long 0xc
	.long DBG132
	.long 0xe
	.long DBG134
	.long 0xf
	.long DBG136
	.long 0x11
	.long DBG137
	.long 0x12
	.long DBG138
	.long 0x13
	.long DBG140
	.long 0x14
	.long DBG141
	.long 0x15
	.long DBG142
	.long 0x17
	.long DBG144
	.long 0x18
	.long DBG145
	.long 0x19
	.long DBG146
	.long 0x1a
	.long DBG148
	.long 0x1c
	.long DBG149
	.long 0x1d
	.pseg timer_code
_detachTimer:
; ENTRY
DBG119:
; detachTimer at argloc 0 (0x0) in reg  size 2
; current in reg  size 2
; prev in reg  size 2
; {
DBG120:
;   pTimer current = timerList;
DBG121:
	mov	&_timerList,r13
DBG122:
;   pTimer prev = ((void *) 0) ;
	mov	#0x0,r14
DBG123:
;   while (current != ((void *) 0) ) {
detachTimer_L1:
	cmp	#0x0,r13
	jeq	detachTimer_L2
DBG125:
DBG124:
;     if (current == detachTimer) {
	cmp	r12,r13
	jne	detachTimer_L3
DBG127:
DBG126:
;       break;
	jmp	detachTimer_L2
DBG129:
DBG128:
;       }
detachTimer_L3:
;     prev = current;
;     current = current->next;
DBG130:
	mov	@r13,r15
	mov	r13,r14
	mov	r15,r13
DBG131:
	jmp	detachTimer_L1
detachTimer_L2:
;     }
;   if (current != ((void *) 0) ) {
DBG132:
	cmp	#0x0,r13
	jeq	detachTimer_L4
DBG134:
DBG133:
;     if (prev == ((void *) 0) ) {
	cmp	#0x0,r14
	jne	detachTimer_L5
DBG136:
DBG135:
;       timerList = current->next;
	mov	@r13,&_timerList
DBG138:
DBG137:
;       }
	jmp	detachTimer_L6
detachTimer_L5:
;     else {
DBG139:
;       prev->next = current->next;
DBG140:
	mov	@r13,0(r14)
DBG141:
detachTimer_L6:
;       }
;      if ((current->delay > 0) && (current->next != ((void *) 0) )) {
DBG142:
	mov	#0x0,r12
	cmp	0x6(r13),r12
	jge	detachTimer_L7
	mov	@r13,r12
	cmp	#0x0,r12
	jeq	detachTimer_L7
DBG144:
DBG143:
;       current->next->delay += current->delay;
	add	0x6(r13),0x6(r12)
DBG146:
DBG145:
;       }
detachTimer_L7:
DBG147:
;     }
DBG148:
detachTimer_L4:
;   return current;
	mov	r13,r12
DBG150:
DBG149:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x1
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG151
	.long 0x0
	.long 0x0
	.long 0x10002
DBG112:
	.long 0x62622e
	.long 0x0
	.long DBG119
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG152
	.long 0x0
	.long 0x0
	.long DBG117
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG152:
	.long 0x62622e
	.long 0x0
	.long DBG122
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG153
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG153:
	.long 0x62622e
	.long 0x0
	.long DBG123
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG154
	.long 0x0
	.long 0x76657270
	.long 0x0
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG131
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG131
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
DBG154:
	.long 0x62622e
	.long 0x0
	.long DBG131
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long DBG155
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xf0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x76657270
	.long 0x0
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG143
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG143
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long 0x0
	.long 0x0
DBG155:
	.long 0x62622e
	.long 0x0
	.long DBG143
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long DBG156
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xf0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x76657270
	.long 0x0
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG149
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1d
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG150
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x89
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG114:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG117
	.long DBG114
	.long 0x0
	.long 0xff0001
; }
; static  void insertTimer(pTimer newTimer)
DBG113:
	.long 0x0
	.long DBG161
	.long _insertTimer
	.long 0x40
	.long 0x1030001
	.long DBG118
	.long DBG158-DBG159
	.long DBG160
	.long DBG157
	.long 0x0
	.pseg timer_code
DBG159:
	.dbgseg dbg_syms
DBG118:
	.long 0x66622e
	.long 0x0
	.long DBG159
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x8f
	.long 0x0
	.long DBG162
	.long 0x0
	.dbgseg dbg_line
DBG160:
	.long DBG113
	.long 0x0
	.long _insertTimer
	.long 0x1
	.long DBG164
	.long 0x2
	.long DBG165
	.long 0x3
	.long DBG166
	.long 0x4
	.long DBG167
	.long 0x6
	.long DBG168
	.long 0x9
	.long DBG169
	.long 0xa
	.long DBG170
	.long 0xc
	.long DBG171
	.long 0x12
	.long DBG173
	.long 0x13
	.long DBG175
	.long 0x14
	.long DBG176
	.long 0x15
	.long DBG177
	.long 0x16
	.long DBG178
	.long 0x17
	.long DBG179
	.long 0x18
	.long DBG180
	.long 0x19
	.long DBG181
	.long 0x1f
	.long DBG183
	.long 0x20
	.long DBG184
	.long 0x21
	.long DBG186
	.long 0x23
	.long DBG187
	.long 0x24
	.long DBG188
	.long 0x25
	.long DBG190
	.long 0x28
	.long DBG191
	.long 0x29
	.long DBG192
	.long 0x2a
	.long DBG193
	.long 0x2b
	.long DBG195
	.long 0x2c
	.long DBG197
	.long 0x2f
	.long DBG198
	.long 0x30
	.long DBG199
	.long 0x31
	.long DBG200
	.long 0x32
	.long DBG202
	.long 0x35
	.long DBG203
	.long 0x36
	.long DBG204
	.long 0x37
	.long DBG205
	.long 0x3d
	.long DBG206
	.long 0x3e
	.long DBG208
	.long 0x3f
	.long DBG210
	.long 0x40
	.long DBG211
	.long 0x41
	.long DBG212
	.long 0x42
	.long DBG213
	.long 0x43
	.long DBG214
	.long 0x44
	.long DBG216
	.long 0x45
	.long DBG217
	.long 0x46
	.long DBG218
	.long 0x47
	.long DBG219
	.long 0x48
	.long DBG220
	.long 0x49
	.long DBG221
	.long 0x4b
	.long DBG222
	.long 0x51
	.long DBG223
	.long 0x52
	.long DBG224
	.long 0x53
	.pseg timer_code
_insertTimer:
	push	r4
	push	r5
DBG165:
DBG164:
DBG163:
; ENTRY
; newTimer at argloc 0 (0x0) in reg  size 2
; current in reg  size 2
; prev in reg  size 2
; seekInterval in reg  size 2
; cumInterval in reg  size 2
; compInterval in reg  size 2
; {
;   pTimer current = timerList;
	mov	&_timerList,r13
DBG166:
;   pTimer prev = ((void *) 0) ;
	mov	#0x0,r14
DBG167:
;   int seekInterval; 
;   int cumInterval = 0; 
	mov	#0x0,r15
DBG168:
;   int compInterval;
;   if (newTimer == ((void *) 0) )
	cmp	#0x0,r12
	jne	insertTimer_L1
DBG169:
;     return;
	jmp	insertTimer_LL2
DBG170:
insertTimer_L1:
;   seekInterval = newTimer->delay;
	mov	0x6(r12),r5
DBG171:
;   while ((current != ((void *) 0) ) && (cumInterval < seekInterval)) {
insertTimer_L2:
	cmp	#0x0,r13
	jeq	insertTimer_L3
	cmp	r5,r15
	jge	insertTimer_L3
DBG173:
DBG172:
;     if ((cumInterval + current->delay) > seekInterval) {
	mov	0x6(r13),r4
	add	r15,r4
	cmp	r4,r5
	jge	insertTimer_L4
DBG175:
DBG174:
;       break;
	jmp	insertTimer_L3
DBG177:
DBG176:
;       }
insertTimer_L4:
;     cumInterval += current->delay;
	add	0x6(r13),r15
DBG179:
DBG178:
;     prev = current;
;     current = current->next;
	mov	@r13,r4
	mov	r13,r14
	mov	r4,r13
DBG180:
	jmp	insertTimer_L2
insertTimer_L3:
;     }
;   if (current == ((void *) 0) ) {
DBG181:
	cmp	#0x0,r13
	jne	insertTimer_L5
DBG183:
DBG182:
;     newTimer->next = ((void *) 0) ;
	mov	#0x0,0(r12)
DBG184:
;     if (prev == ((void *) 0) ) {
	cmp	#0x0,r14
	jne	insertTimer_L6
DBG186:
DBG185:
;       timerList = newTimer;
	mov	r12,&_timerList
DBG188:
DBG187:
;       }
	jmp	insertTimer_L8
insertTimer_L6:
;     else {
DBG189:
;       prev->next = newTimer;
DBG190:
	mov	r12,0(r14)
DBG191:
insertTimer_L7:
;       }
DBG192:
;     }
DBG193:
	jmp	insertTimer_L8
insertTimer_L5:
;   else {
DBG194:
;     if (prev == ((void *) 0) ) {
DBG195:
	cmp	#0x0,r14
	jne	insertTimer_L9
DBG197:
DBG196:
;       timerList = newTimer;
	mov	r12,&_timerList
DBG198:
;       newTimer->next = current;
	mov	r13,0(r12)
DBG200:
DBG199:
;       }
	jmp	insertTimer_L10
insertTimer_L9:
;     else {
DBG201:
;       newTimer->next = prev->next;
DBG202:
	mov	@r14,0(r12)
DBG203:
;       prev->next = newTimer;
	mov	r12,0(r14)
DBG204:
insertTimer_L10:
;       }
;     compInterval = seekInterval - cumInterval;
DBG205:
	mov	r5,r14
	sub	r15,r14
DBG206:
;     while ((compInterval > 0) && (current != ((void *) 0) )) {
insertTimer_L11:
	mov	#0x0,r4
	cmp	r14,r4
	jge	insertTimer_L12
	cmp	#0x0,r13
	jeq	insertTimer_L12
DBG208:
DBG207:
;       if (current->delay >= compInterval) {
	cmp	r14,0x6(r13)
	jl	insertTimer_L13
DBG210:
DBG209:
;         current->delay -= compInterval;
	sub	r14,0x6(r13)
DBG212:
DBG211:
; 	compInterval = 0;
;         break;
	jmp	insertTimer_L12
DBG214:
DBG213:
;         }
insertTimer_L13:
;       else {
DBG215:
; 	 compInterval -= current->delay;
DBG216:
	sub	0x6(r13),r14
DBG217:
;          current->delay = 0;
	mov	#0x0,0x6(r13)
DBG219:
DBG218:
;         }
;       current = current->next; 
	mov	@r13,r13
DBG220:
	jmp	insertTimer_L11
insertTimer_L12:
;     }
DBG221:
insertTimer_L8:
;   }
;   newTimer->delay = seekInterval - cumInterval;
DBG222:
	sub	r15,r5
	mov	r5,0x6(r12)
DBG223:
;   newTimer->flags |= (0x04) ;
	bis.b	#0x4,0x2(r12)
DBG224:
insertTimer_LL2:
; EXIT
; .temp0 at stkloc 0 (0x0) size 4
DBG225:
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x4
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x1
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG226
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x5477656e
	.long 0x72656d69
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG156:
	.long 0x62622e
	.long 0x0
	.long DBG166
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG227
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG227:
	.long 0x62622e
	.long 0x0
	.long DBG167
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG228
	.long 0x0
	.long 0x76657270
	.long 0x0
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG228:
	.long 0x62622e
	.long 0x0
	.long DBG168
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG229
	.long 0x0
	.long 0x0
	.long DBG230
	.long 0xf0102
	.long 0x4
	.long 0x4ffff
DBG229:
	.long 0x62622e
	.long 0x0
	.long DBG171
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x12
	.long 0x0
	.long DBG231
	.long 0x0
	.long 0x0
	.long DBG232
	.long 0x50102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
DBG231:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long DBG233
	.long 0x0
	.long 0x0
	.long DBG230
	.long 0xf0102
	.long 0x4
	.long 0x4ffff
DBG233:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long DBG234
	.long 0x0
	.long 0x0
	.long DBG232
	.long 0x50102
	.long 0x4
	.long 0x4ffff
DBG234:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long DBG235
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x40102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG235:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long DBG236
	.long 0x0
	.long 0x76657270
	.long 0x0
	.long 0xe0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG206
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3e
	.long 0x0
	.long 0x0
	.long 0x0
DBG236:
	.long 0x62622e
	.long 0x0
	.long DBG206
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3e
	.long 0x0
	.long DBG237
	.long 0x0
	.long 0x0
	.long DBG238
	.long 0xe0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG207
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG207
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3e
	.long 0x0
	.long 0x0
	.long 0x0
DBG237:
	.long 0x62622e
	.long 0x0
	.long DBG207
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3e
	.long 0x0
	.long DBG239
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG238
	.long 0xe0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG223
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x52
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG223
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x52
	.long 0x0
	.long 0x0
	.long 0x0
DBG239:
	.long 0x62622e
	.long 0x0
	.long DBG223
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x52
	.long 0x0
	.long DBG240
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG238
	.long 0xe0102
	.long 0x4
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG224
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x53
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG224
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x53
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG225
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xe1
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG158:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG161
	.long DBG158
	.long 0x0
	.long 0xff0001
; }
; pTimer timerCreate(unsigned char flags, int period, int evType)
DBG157:
	.long 0x0
	.long DBG245
	.long _timerCreate
	.long 0x148
	.long 0x1020001
	.long Timer_1
	.long DBG242-DBG243
	.long DBG244
	.long DBG241
	.long 0x0
	.pseg timer_code
DBG243:
	.dbgseg dbg_syms
DBG162:
	.long 0x66622e
	.long 0x0
	.long DBG243
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xe3
	.long 0x0
	.long DBG246
	.long 0x0
	.dbgseg dbg_line
DBG244:
	.long DBG157
	.long 0x0
	.long _timerCreate
	.long 0x1
	.long DBG248
	.long 0x2
	.long DBG249
	.long 0x5
	.long DBG250
	.long 0x6
	.long DBG251
	.long 0x8
	.long DBG252
	.long 0x9
	.long DBG253
	.long 0xb
	.long DBG254
	.long 0xd
	.long DBG256
	.long 0xe
	.long DBG257
	.long 0xf
	.long DBG258
	.long 0x10
	.long DBG260
	.long 0x11
	.long DBG261
	.long 0x12
	.long DBG262
	.long 0x14
	.long DBG263
	.long 0x16
	.long DBG264
	.long 0x17
	.long DBG265
	.long 0x19
	.long DBG266
	.long 0x1b
	.long DBG267
	.long 0x1c
	.pseg timer_code
	.global _timerCreate
_timerCreate:
	push	r4
	push	r5
	push	r6
	push	r7
DBG247:
; ENTRY
	mov.b	r12,r5
; flags at argloc 0 (0x0) in reg  size 1
	mov	r13,r6
; period at argloc 0 (0x0) in reg  size 2
	mov	r14,r4
DBG249:
DBG248:
; evType at argloc 0 (0x0) in reg  size 2
; pNewTimer in reg  size 2
; {
;   pTimer pNewTimer;
;   if (period < 1)
	cmp	#0x1,r6
	jge	timerCreate_L1
DBG250:
;     return ((void *) 0) ;
	mov	#0x0,r12
	jmp	timerCreate_LL2
DBG251:
timerCreate_L1:
;   if ((pNewTimer = allocTimer()) == ((void *) 0) ) 
	call	#_allocTimer
	mov	r12,r7
	cmp	#0x0,r7
	jne	timerCreate_L2
DBG252:
;     return ((void *) 0) ;
	mov	#0x0,r12
	jmp	timerCreate_LL2
DBG253:
timerCreate_L2:
;   pNewTimer->delay = (period - 1);
	mov	r6,r12
	sub	#0x1,r12
	mov	r12,0x6(r7)
DBG254:
;   if ((flags & (0x01) ) != 0) {
	and.b	#0x1,r5
	jeq	timerCreate_L3
DBG256:
DBG255:
;     pNewTimer->period = period;
	mov	r6,0x4(r7)
DBG258:
DBG257:
;     }
	jmp	timerCreate_L4
timerCreate_L3:
;   else {
DBG259:
;     pNewTimer->period = 0;
DBG260:
	mov	#0x0,0x4(r7)
DBG261:
timerCreate_L4:
;     }
;   pNewTimer->evType = evType;
DBG262:
	mov	r4,0x8(r7)
DBG263:
;   pNewTimer->flags = flags & (0x01) ;
	mov.b	r5,0x2(r7)
DBG264:
;   pNewTimer->flags |= (0x04) ;
	bis.b	#0x4,0x2(r7)
DBG265:
;   insertTimer(pNewTimer);
	mov	r7,r12
	call	#_insertTimer
DBG266:
;   return pNewTimer;
	mov	r7,r12
DBG267:
timerCreate_LL2:
; EXIT
; .temp1 at stkloc 0 (0x0) size 8
DBG268:
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x8
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x3
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG269
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG270
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG271
	.long 0x0
	.long 0x0
	.long 0x10002
DBG240:
	.long 0x62622e
	.long 0x0
	.long DBG247
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG272
	.long 0x0
	.long 0x67616c66
	.long 0x73
	.long 0xc0102
	.long 0xc
	.long 0x11ffff
	.long 0x69726570
	.long 0x646f
	.long 0xd0102
	.long 0x4
	.long 0x11ffff
	.long 0x79547665
	.long 0x6570
	.long 0xe0102
	.long 0x4
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG248
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG272:
	.long 0x62622e
	.long 0x0
	.long DBG248
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG273
	.long 0x0
	.long 0x67616c66
	.long 0x73
	.long 0x50102
	.long 0xc
	.long 0x11ffff
	.long 0x69726570
	.long 0x646f
	.long 0x60102
	.long 0x4
	.long 0x11ffff
	.long 0x79547665
	.long 0x6570
	.long 0x40102
	.long 0x4
	.long 0x11ffff
DBG273:
	.long 0x62622e
	.long 0x0
	.long DBG252
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG274
	.long 0x0
	.long 0x0
	.long DBG275
	.long 0x70102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG255
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
DBG274:
	.long 0x62622e
	.long 0x0
	.long DBG255
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long DBG276
	.long 0x0
	.long 0x0
	.long DBG275
	.long 0x70102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG267
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG267
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG268
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xfe
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG242:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG245
	.long DBG242
	.long 0x0
	.long 0xff0001
; }
; void timerModify(pTimer modTimer, unsigned char flags, int period)
DBG241:
	.long 0x0
	.long DBG281
	.long _timerModify
	.long 0x40
	.long 0x1020001
	.long DBG246
	.long DBG278-DBG279
	.long DBG280
	.long DBG277
	.long 0x0
	.pseg timer_code
DBG279:
	.dbgseg dbg_syms
DBG246:
	.long 0x66622e
	.long 0x0
	.long DBG279
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x100
	.long 0x0
	.long DBG282
	.long 0x0
	.dbgseg dbg_line
DBG280:
	.long DBG241
	.long 0x0
	.long _timerModify
	.long 0x1
	.long DBG284
	.long 0x2
	.long DBG285
	.long 0x5
	.long DBG286
	.long 0x6
	.long DBG287
	.long 0xa
	.long DBG289
	.long 0xb
	.long DBG290
	.long 0xc
	.long DBG291
	.long 0xd
	.long DBG293
	.long 0xe
	.long DBG294
	.long 0xf
	.long DBG295
	.long 0x10
	.long DBG297
	.long 0x11
	.long DBG298
	.long 0x12
	.long DBG299
	.long 0x13
	.long DBG301
	.long 0x14
	.long DBG302
	.long 0x15
	.long DBG303
	.long 0x16
	.long DBG304
	.long 0x18
	.long DBG305
	.long 0x19
	.long DBG306
	.long 0x1a
	.pseg timer_code
	.global _timerModify
_timerModify:
	push	r4
	push	r5
	push	r6
DBG283:
; ENTRY
	mov	r12,r5
; modTimer at argloc 0 (0x0) in reg  size 2
	mov.b	r13,r4
; flags at argloc 0 (0x0) in reg  size 1
	mov	r14,r6
DBG285:
DBG284:
; period at argloc 0 (0x0) in reg  size 2
; tmp in reg  size 2
; {
;   pTimer tmp;
;   if (findTimer(modTimer) == ((void *) 0) )
	mov	r5,r12
	call	#_findTimer
	cmp	#0x0,r12
	jne	timerModify_L1
DBG286:
;     return;
	jmp	timerModify_LL2
DBG287:
timerModify_L1:
;   if (period == 0) {
	cmp	#0x0,r6
	jne	timerModify_L2
DBG289:
DBG288:
;     recycleTimer(detachTimer(modTimer));
	mov	r5,r12
	call	#_detachTimer
	call	#_recycleTimer
DBG291:
DBG290:
;     }
	jmp	timerModify_LL2
timerModify_L2:
;   else {
DBG292:
;     tmp = detachTimer(modTimer);
DBG293:
	mov	r5,r12
	call	#_detachTimer
DBG294:
;     tmp->flags = flags & (0x01) ;
	and.b	#0x1,r4
	mov.b	r4,0x2(r12)
DBG295:
;     if ((flags & (0x01) ) != 0) {
	cmp.b	#0x0,r4
	jeq	timerModify_L4
DBG297:
DBG296:
;       tmp->period = period;
	mov	r6,0x4(r12)
DBG299:
DBG298:
;       }
	jmp	timerModify_L5
timerModify_L4:
;     else {
DBG300:
;       tmp->period = 0;
DBG301:
	mov	#0x0,0x4(r12)
DBG302:
timerModify_L5:
;       }
;     tmp->delay = tmp->period;
DBG303:
	mov	0x4(r12),0x6(r12)
DBG304:
;     insertTimer(tmp);   
	call	#_insertTimer
DBG305:
timerModify_L3:
;     }
DBG306:
timerModify_LL2:
; EXIT
; .temp2 at stkloc 0 (0x0) size 6
DBG307:
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x6
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x3
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG308
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG269
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG270
	.long 0x0
	.long 0x0
	.long 0x10002
DBG276:
	.long 0x62622e
	.long 0x0
	.long DBG283
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG309
	.long 0x0
	.long 0x54646f6d
	.long 0x72656d69
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67616c66
	.long 0x73
	.long 0xd0102
	.long 0xc
	.long 0x11ffff
	.long 0x69726570
	.long 0x646f
	.long 0xe0102
	.long 0x4
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG284
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG309:
	.long 0x62622e
	.long 0x0
	.long DBG284
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG310
	.long 0x0
	.long 0x54646f6d
	.long 0x72656d69
	.long 0x50102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x69726570
	.long 0x646f
	.long 0x60102
	.long 0x4
	.long 0x11ffff
DBG310:
	.long 0x62622e
	.long 0x0
	.long DBG284
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG311
	.long 0x0
	.long 0x67616c66
	.long 0x73
	.long 0x40102
	.long 0xc
	.long 0x11ffff
DBG311:
	.long 0x62622e
	.long 0x0
	.long DBG294
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long DBG312
	.long 0x0
	.long 0x706d74
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x0
DBG312:
	.long 0x62622e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x10
	.long 0x0
	.long DBG313
	.long 0x0
	.long 0x706d74
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG305
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG306
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1a
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG307
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x119
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG278:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG281
	.long DBG278
	.long 0x0
	.long 0xff0001
; }
; void timerCancel(pTimer cancelTimer)
DBG277:
	.long 0x0
	.long DBG318
	.long _timerCancel
	.long 0x40
	.long 0x1020001
	.long DBG282
	.long DBG315-DBG316
	.long DBG317
	.long DBG314
	.long 0x0
	.pseg timer_code
DBG316:
	.dbgseg dbg_syms
DBG282:
	.long 0x66622e
	.long 0x0
	.long DBG316
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x11b
	.long 0x0
	.long DBG319
	.long 0x0
	.dbgseg dbg_line
DBG317:
	.long DBG277
	.long 0x0
	.long _timerCancel
	.long 0x1
	.long DBG321
	.long 0x2
	.long DBG322
	.long 0x3
	.long DBG323
	.long 0x4
	.pseg timer_code
	.global _timerCancel
_timerCancel:
; ENTRY
DBG320:
; cancelTimer at argloc 0 (0x0) in reg  size 2
; {
DBG321:
;   timerModify(cancelTimer, 0, 0);
DBG322:
	mov	#0x0,r14
	mov.b	#0x0,r13
	call	#_timerModify
DBG324:
DBG323:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x1
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG325
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG326
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG324
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x11e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG315:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG318
	.long DBG315
	.long 0x0
	.long 0xff0001
; }
; int timerInit(void)
DBG314:
	.long 0x0
	.long DBG331
	.long _timerInit
	.long 0x44
	.long 0x1020001
	.long DBG319
	.long DBG328-DBG329
	.long DBG330
	.long DBG327
	.long 0x0
	.pseg timer_code
DBG329:
	.dbgseg dbg_syms
DBG319:
	.long 0x66622e
	.long 0x0
	.long DBG329
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x120
	.long 0x0
	.long DBG332
	.long 0x0
	.dbgseg dbg_line
DBG330:
	.long DBG314
	.long 0x0
	.long _timerInit
	.long 0x1
	.long DBG334
	.long 0x2
	.long DBG335
	.long 0x6
	.long DBG337
	.long 0x7
	.long DBG338
	.long 0x8
	.long DBG339
	.long 0x9
	.long DBG340
	.long 0xc
	.long DBG341
	.long 0xe
	.long DBG342
	.long 0xf
	.long DBG343
	.long 0x10
	.pseg timer_code
	.global _timerInit
_timerInit:
; ENTRY
DBG333:
; i in reg  size 2
; {
DBG334:
;   int i;
;   for (i=0; i< (10) ; i++) {
DBG335:
	mov	#0x0,r14
timerInit_L1:
DBG336:
;     timers[i].next = ((void *) 0) ;
DBG337:
	mov	#0xa,r15
	mov	r15,r13
	mov	r14,r12
DBG344:
	call	#__smult16hw
DBG345:
	mov	r12,r13
	add	#_timers,r13
	mov	#0x0,0(r13)
DBG338:
;     timers[i].flags = 0;
	add	#_timers+0x2,r12
	mov.b	#0x0,0(r12)
DBG339:
	add	#0x1,r14
	cmp	r15,r14
	jl	timerInit_L1
DBG340:
;     }
;   eventqRegisterHandler( (3) , (eventHandler)timerTickHandler);
	mov	#_timerTickHandler,r13
	mov	#0x3,r12
	call	#_eventqRegisterHandler
DBG341:
;   cmdparseAddCommand("show", "timer", showTimerHandler);
	mov	#_showTimerHandler,r14
	mov	#timer_V5,r13
	mov	#timer_V4,r12
	call	#_cmdparseAddCommand
DBG342:
;   return 0;
	mov	#0x0,r12
DBG346:
DBG343:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
DBG313:
	.long 0x62622e
	.long 0x0
	.long DBG336
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG347
	.long 0x0
	.long 0x69
	.long 0x0
	.long 0xe0102
	.long 0x4
	.long 0x4ffff
DBG347:
	.long 0x62622e
	.long 0x0
	.long DBG344
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG348
	.long 0x0
	.long 0x0
	.long DBG72
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x62652e
	.long 0x0
	.long DBG345
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG341
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG346
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x12f
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG328:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG331
	.long DBG328
	.long 0x0
	.long 0xff0001
; }
; static void timerTickHandler(void)
DBG327:
	.long 0x0
	.long DBG353
	.long _timerTickHandler
	.long 0x40
	.long 0x1030001
	.long DBG332
	.long DBG350-DBG351
	.long DBG352
	.long DBG349
	.long 0x0
	.pseg timer_code
DBG351:
	.dbgseg dbg_syms
DBG332:
	.long 0x66622e
	.long 0x0
	.long DBG351
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x131
	.long 0x0
	.long DBG354
	.long 0x0
	.dbgseg dbg_line
DBG352:
	.long DBG327
	.long 0x0
	.long _timerTickHandler
	.long 0x1
	.long DBG356
	.long 0x2
	.long DBG357
	.long 0x3
	.long DBG358
	.long 0x6
	.long DBG359
	.long 0x8
	.long DBG361
	.long 0x9
	.long DBG363
	.long 0xe
	.long DBG364
	.long 0x12
	.long DBG365
	.long 0x13
	.long DBG366
	.long 0x14
	.long DBG367
	.long 0x18
	.long DBG369
	.long 0x19
	.long DBG370
	.long 0x1a
	.long DBG371
	.long 0x1b
	.long DBG372
	.long 0x1c
	.long DBG373
	.long 0x1d
	.long DBG375
	.long 0x1e
	.long DBG376
	.long 0x1f
	.long DBG377
	.long 0x20
	.long DBG378
	.long 0x21
	.long DBG380
	.long 0x22
	.long DBG381
	.long 0x23
	.long DBG384
	.long 0x26
	.pseg timer_code
_timerTickHandler:
	push	r4
	push	r5
DBG357:
DBG356:
DBG355:
; ENTRY
; current in reg  size 2
; temp in reg  size 2
; {
;   pTimer current = timerList;
	mov	&_timerList,r4
DBG358:
;   pTimer temp;
;   numTicks++;
	add	#0x1,&_numTicks
DBG359:
;   while (current != ((void *) 0) ) {
timerTickHandler_L1:
	cmp	#0x0,r4
	jeq	timerTickHandler_L2
DBG361:
DBG360:
;     if  (current->delay <= 0) {
	mov	#0x0,r12
	cmp	0x6(r4),r12
	jl	timerTickHandler_L3
DBG363:
DBG362:
;       eventqPut(current->evType);
	mov	0x8(r4),r12
	call	#_eventqPut
DBG365:
DBG364:
;       temp = current;
;       current = current->next;
	mov	@r4,r5
DBG366:
;       timerList = current;
	mov	r5,&_timerList
DBG367:
;       if ((temp->flags & (0x01) ) != 0) {
	bit.b	#0x1,0x2(r4)
	jeq	timerTickHandler_L4
DBG369:
DBG368:
;         temp->delay = temp->period;
	mov	0x4(r4),0x6(r4)
DBG370:
;         temp->next = ((void *) 0) ;
	mov	#0x0,0(r4)
DBG371:
;         insertTimer(temp);
	mov	r4,r12
	call	#_insertTimer
	mov	r5,r4
DBG373:
DBG372:
;         }
	jmp	timerTickHandler_L1
timerTickHandler_L4:
;       else {
DBG374:
;         recycleTimer(temp); 
DBG375:
	mov	r4,r12
	call	#_recycleTimer
DBG376:
timerTickHandler_L5:
	mov	r5,r4
DBG378:
DBG377:
;         }
;       } 
	jmp	timerTickHandler_L1
timerTickHandler_L3:
;     else {
DBG379:
;       current->delay--;
DBG380:
	sub	#0x1,0x6(r4)
DBG381:
;       break;
	jmp	timerTickHandler_LL2
timerTickHandler_L2:
;   } 
DBG384:
timerTickHandler_LL2:
; EXIT
; .temp3 at stkloc 0 (0x0) size 4
DBG385:
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x4
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
DBG348:
	.long 0x62622e
	.long 0x0
	.long DBG358
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG386
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x40102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG366
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG386:
	.long 0x62622e
	.long 0x0
	.long DBG366
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x14
	.long 0x0
	.long DBG387
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x50102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG387:
	.long 0x62622e
	.long 0x0
	.long DBG368
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x18
	.long 0x0
	.long DBG388
	.long 0x0
	.long 0x706d6574
	.long 0x0
	.long 0x40102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG372
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long 0x0
	.long 0x0
DBG388:
	.long 0x62622e
	.long 0x0
	.long DBG376
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1f
	.long 0x0
	.long DBG389
	.long 0x0
	.long 0x706d6574
	.long 0x0
	.long 0x40102
	.long 0x28
	.long 0x104ffff
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG377
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x20
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG384
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x26
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG385
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x156
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG350:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG353
	.long DBG350
	.long 0x0
	.long 0xff0001
; } 
; int timerGetPeriodMs(void)
DBG349:
	.long 0x0
	.long DBG394
	.long _timerGetPeriodMs
	.long 0x44
	.long 0x1020001
	.long DBG354
	.long DBG391-DBG392
	.long DBG393
	.long DBG390
	.long 0x0
	.pseg timer_code
DBG392:
	.dbgseg dbg_syms
DBG354:
	.long 0x66622e
	.long 0x0
	.long DBG392
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x159
	.long 0x0
	.long DBG395
	.long 0x0
	.dbgseg dbg_line
DBG393:
	.long DBG349
	.long 0x0
	.long _timerGetPeriodMs
	.long 0x1
	.long DBG397
	.long 0x2
	.long DBG398
	.long 0x3
	.long DBG399
	.long 0x4
	.pseg timer_code
	.global _timerGetPeriodMs
_timerGetPeriodMs:
; ENTRY
DBG396:
; {
DBG397:
;   return (1000) ;
DBG398:
	mov	#0x3e8,r12
DBG400:
DBG399:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x0
	.long DBG23
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x0
	.long DBG24
	.long 0x2
	.long 0x0
	.long 0x10002
	.long 0x504e5f5f
	.long 0x534d5241
	.long 0x0
	.long 0x0
	.long 0x10002
	.long 0x66652e
	.long 0x0
	.long DBG400
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x15c
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg timer_code
DBG391:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG394
	.long DBG391
	.long 0x0
	.long 0xff0001
; }
	.dseg	timer_bss
	.align 0x2
timer_V6:
	.align 0x2
_timers:
	.bss 0x64
; timers size 100
	.extern _eventqPut
	.extern _eventqRegisterHandler
	.extern _cmdparseAddCommand
	.extern __smult16hw
	.dbgseg dbg_syms
_0fake_2:
DBG27:
	.long 0x6166305f
	.long 0x325f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x100000
	.long 0x0
	.long DBG401
	.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 DBG27
	.long 0x100000
	.long 0x0
	.long 0x0
	.long 0x0
DBG395:
DBG389:
DBG390:
DBG401:
	.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 DBG402
	.long _freeTimerIdx
	.long 0x4
	.long 0x30002
	.long 0x546d756e
	.long 0x736b6369
	.long _numTicks
	.long 0xe
	.long 0x30002
	.long 0x656d6974
	.long 0x7372
	.long _timers
	.long 0x68
	.long 0x1030002
	.long Timer_1
	.long 0x640160
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG403
	.long _timerList
	.long 0x28
	.long 0x1030002
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x65657266
	.long 0x7473694c
	.long _freeList
	.long 0x28
	.long 0x1030002
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG404
	.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_2
	.long 0x10
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x656d6954
	.long 0x72
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x657a6973
	.long 0x745f
	.long 0x0
	.long 0xe
	.long 0xdfffe
	.long 0x6d695470
	.long 0x7265
	.long 0x0
	.long 0x28
	.long 0x10dfffe
	.long Timer_1
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6c5f6176
	.long 0x747369
	.long 0x0
	.long 0x20
	.long 0xdfffe
	.long 0x0
	.long DBG405
	.long 0x0
	.long 0x2a0
	.long 0xdfffe
	.long 0x0
	.long DBG406
	.long 0x0
	.long 0x2a4
	.long 0xdfffe
	.iseg timer_istrings_const
timer_V4:
	.byte 0x73
	.byte 0x68
	.byte 0x6f
	.byte 0x77
	.byte 0x0
timer_V5:
	.byte 0x74
	.byte 0x69
	.byte 0x6d
	.byte 0x65
	.byte 0x72
	.byte 0x0
	.dbgseg dbg_syms
	.long 0x666f652e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67fffe
	.dbgseg dbg_strs
	.align 0x2
	.long 0x26c
DBG404:
	.long 0x6576656e
	.long 0x7448616e
	.long 0x646c6572
	.long 0x0
DBG33:
	.long 0x73686f77
	.long 0x54696d65
	.long 0x7248616e
	.long 0x646c6572
	.long 0x0
DBG89:
	.long 0x5f5f5041
	.long 0x524d7046
	.long 0x72656554
	.long 0x696d6572
	.long 0x0
DBG95:
	.long 0x66696e64
	.long 0x54696d65
	.long 0x72000000
DBG28:
	.long 0x73686f77
	.long 0x54696d65
	.long 0x72000000
DBG10:
	.long 0x74696d65
	.long 0x7253686f
	.long 0x77000000
DBG394:
	.long 0x74696d65
	.long 0x72476574
	.long 0x50657269
	.long 0x6f644d73
	.long 0x0
DBG23:
	.long 0x5f5f4652
	.long 0x414d4553
	.long 0x495a4500
DBG326:
	.long 0x63616e63
	.long 0x656c5469
	.long 0x6d657200
DBG318:
	.long 0x74696d65
	.long 0x7243616e
	.long 0x63656c00
DBG402:
	.long 0x66726565
	.long 0x54696d65
	.long 0x72496478
	.long 0x0
DBG78:
	.long 0x72656379
	.long 0x636c6554
	.long 0x696d6572
	.long 0x0
DBG281:
	.long 0x74696d65
	.long 0x724d6f64
	.long 0x69667900
DBG353:
	.long 0x74696d65
	.long 0x72546963
	.long 0x6b48616e
	.long 0x646c6572
	.long 0x0
DBG230:
	.long 0x63756d49
	.long 0x6e746572
	.long 0x76616c00
DBG117:
	.long 0x64657461
	.long 0x63685469
	.long 0x6d657200
DBG271:
	.long 0x5f5f5041
	.long 0x524d6576
	.long 0x54797065
	.long 0x0
DBG45:
	.long 0x616c6c6f
	.long 0x6354696d
	.long 0x65720000
DBG232:
	.long 0x7365656b
	.long 0x496e7465
	.long 0x7276616c
	.long 0x0
DBG72:
	.long 0x5f5f5641
	.long 0x525f4152
	.long 0x47535f53
	.long 0x495a4500
DBG308:
	.long 0x5f5f5041
	.long 0x524d6d6f
	.long 0x6454696d
	.long 0x65720000
DBG111:
	.long 0x5f5f5041
	.long 0x524d6669
	.long 0x6e645469
	.long 0x6d657200
DBG270:
	.long 0x5f5f5041
	.long 0x524d7065
	.long 0x72696f64
	.long 0x0
DBG90:
	.long 0x70467265
	.long 0x6554696d
	.long 0x65720000
DBG238:
	.long 0x636f6d70
	.long 0x496e7465
	.long 0x7276616c
	.long 0x0
DBG331:
	.long 0x74696d65
	.long 0x72496e69
	.long 0x74000000
DBG325:
	.long 0x5f5f5041
	.long 0x524d6361
	.long 0x6e63656c
	.long 0x54696d65
	.long 0x72000000
DBG245:
	.long 0x74696d65
	.long 0x72437265
	.long 0x61746500
DBG161:
	.long 0x696e7365
	.long 0x72745469
	.long 0x6d657200
DBG405:
	.long 0x5f5f6170
	.long 0x70656e64
	.long 0x66756e63
	.long 0x5f707472
	.long 0x0
DBG24:
	.long 0x5f5f5341
	.long 0x5645445f
	.long 0x41524753
	.long 0x5f53495a
	.long 0x45000000
DBG151:
	.long 0x5f5f5041
	.long 0x524d6465
	.long 0x74616368
	.long 0x54696d65
	.long 0x72000000
DBG226:
	.long 0x5f5f5041
	.long 0x524d6e65
	.long 0x7754696d
	.long 0x65720000
DBG275:
	.long 0x704e6577
	.long 0x54696d65
	.long 0x72000000
DBG269:
	.long 0x5f5f5041
	.long 0x524d666c
	.long 0x61677300
DBG5:
	.long 0x433a5c73
	.long 0x766e5c4d
	.long 0x4f4f535c
	.long 0x4d535034
	.long 0x33305c51
	.long 0x75616472
	.long 0x61766f78
	.long 0x5c6d6d63
	.long 0x7266696f
	.long 0x5c74696d
	.long 0x65722e63
	.long 0x0
DBG70:
	.long 0x70526574
	.long 0x54696d65
	.long 0x72000000
DBG406:
	.long 0x636f6d6d
	.long 0x616e6448
	.long 0x616e646c
	.long 0x65720000
DBG403:
	.long 0x74696d65
	.long 0x724c6973
	.long 0x74000000
	.iseg _idesc
	.align 0x2
	.data timer_V2
	.data timer_V3
	.data 0x8
	.data 0x0
	.data timer_V6
	.data 0x64
