; Archelon URCC C 3.18 2004/03/09
; MSP430 CIF 2004/03/02
; Compiled "H:\ESP\gen2\software\msp430\dwarves\TrapServo.c" Mon Dec 06 10:22:07 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) ;
; sfrb    I2CIE             = (0x0050) ;
; sfrb    I2CIFG            = (0x0051) ;
; sfrb    I2CNDAT           = (0x0052) ;
; sfrb    I2CTCTL           = (0x0071) ;
; sfrb    I2CDCTL           = (0x0072) ;
; sfrb    I2CPSC            = (0x0073) ;
; sfrb    I2CSCLH           = (0x0074) ;
; sfrb    I2CSCLL           = (0x0075) ;
; sfrb    I2CDRB            = (0x0076) ;
; sfrw    I2CDRW            = (0x0076) ;
; sfrw    I2COA             = (0x0118) ;
; sfrw    I2CSA             = (0x011A) ;
; const sfrw I2CIV          = (0x011C) ;
; 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) ;
; sfrw    DAC12_0CTL        = (0x01c0) ;
; sfrw    DAC12_1CTL        = (0x01c2) ;
; sfrw    DAC12_0DAT        = (0x01c8) ;
; sfrw    DAC12_1DAT        = (0x01ca) ;
; sfrw    DMACTL0           = (0x0122) ;
; sfrw    DMACTL1           = (0x0124) ;
; sfrw    DMA0CTL           = (0x01e0) ;
; sfrw    DMA1CTL           = (0x01e8) ;
; sfrw    DMA2CTL           = (0x01f0) ;
; sfrw    DMA0SA            = (0x01e2) ;
; sfrw    DMA0DA            = (0x01e4) ;
; sfrw    DMA0SZ            = (0x01e6) ;
; sfrw    DMA1SA            = (0x01ea) ;
; sfrw    DMA1DA            = (0x01ec) ;
; sfrw    DMA1SZ            = (0x01ee) ;
; sfrw    DMA2SA            = (0x01f2) ;
; sfrw    DMA2DA            = (0x01f4) ;
; sfrw    DMA2SZ            = (0x01f6) ;
; typedef int ptrdiff_t;
; ptrdiff_t size 2
; typedef unsigned int size_t;
; size_t size 2
; typedef int wchar_t;
; wchar_t size 2
; typedef	  unsigned char       uint8;
; uint8 size 1
; typedef   uint8               byte;
; byte size 1
; typedef	  signed char         int8;
; int8 size 1
; typedef	  unsigned short      uint16;
; uint16 size 2
; typedef	  short               int16;
; int16 size 2
; typedef	  unsigned long       uint32;
; uint32 size 4
; typedef	  long                int32;
; int32 size 4
; typedef	  enum {false, true}  boolean;
; boolean size 1
; typedef   void voidFn (void);
; voidFn size 0
; typedef	struct {int16 P,I,D;} int16PID;
; int16PID size 6
; static __inline__  void MCLKsleep (unsigned mclks)
; }
; static __inline__  void initDWRFCLKS (void)
; }  
; static __inline__  void initDWRFBUS (void)
; }
; static __inline__ 
;   void driveDWRFbus (void)
; }
; static __inline__ 
;   void floatDWRFbus (void)
; }
; static __inline__ 
;   void setDWRFadr (byte adr)
; } 
; static __inline__  
;   void refreshDWRFadr (byte adr)
; }  
; static __inline__ 
;   void freezeDWRFadr (void)
; }
; static __inline__ 
;   byte readDWRFnext (void)
; }
; static __inline__ 
;   byte readDWRFlast (void)
; }
; static __inline__ 
;   byte readDWRFfirst (byte baseAdr)
; }
; static __inline__ 
;   byte readDWRF (byte adr)
; }
; static __inline__ 
;   void writeDWRFnext (byte value)
; }
; static __inline__ 
;   void writeDWRFlast (byte value)
; }
; static __inline__ 
;   void writeDWRFfirst (byte baseAdr, byte value)
; }
; static __inline__ 
;   void writeDWRF (byte adr, byte value)
; }
; extern
; byte DWRFIEimage;  
; static __inline__  void disableDWRFirqs (byte mask)
; }
; static __inline__  void enableDWRFirqs (byte mask)
; }
; static __inline__  void endDWRFirqs (byte mask)
; }
; static __inline__  void startDWRFirqs (byte mask)
; }
; typedef byte servoPosition[3];  
; servoPosition size 3
; typedef byte msg16[2];          
; msg16 size 2
; typedef byte umsg16[2];         
; umsg16 size 2
; typedef byte msg32[4];          
; msg32 size 4
; typedef byte umsg32[4];         
; umsg32 size 4
; typedef byte msg16PID[3*2];     
; msg16PID size 6
; enum servoOption {  
;   servoOptionEnable       = 0x1,  
;   servoOptionEncPolarity  = 0x2,  
;   servoOptionThreshold    = 0x4,  
;   servoOptionThresPolarity= 0x8,  
;   servoOptionHomePwr      = 0x10, 
;   servoOptionHomePolarity = 0x20, 
;   servoOptionHomeDir      = 0x40, 
;   servoOptionJog          = 0x80  
; };
; enum servoStatusBits {  
;   servoOn           = 0x1,  
;   servoLostHome     = 0x2,  
;   servoHomeFlag     = 0x4,  
;   servoPastThreshold= 0x8,  
;   servoRLS          = 0x10, 
;   servoFLS          = 0x20  
; };
; enum servoReason { 
;   noServoError, invalidServoChannel, invalidServoGoal,
;   servoAborted, servoOvercurrent, servoOverpressure,
;   servoNotReady, servoPositionErr,servoSpeedError
; };
; enum shaftReason {
;   noShaftError, invalidShaftNumber, invalidShaftAngle,
;   shaftAborted, shaftOvercurrent
; };
; struct servoStatus { 
;   enum servoStatusBits status; 
;   servoPosition    position;   
;   msg16            velocity;   
;   int8             current;    
;   uint8            inPress;    
;   uint8            outPress;   
; };
; enum heaterStates{
; heaterOn, heaterOff};
; typedef struct
; {
; 	uint16	dwell;		
; 	int16 	targetT;	
; 	uint16	errHoldoff;	
; 	int16	minT,maxT;	
; }thermalStep;
; thermalStep size 10
; typedef struct {
;    int16PID heating,cooling;  
; } thermalCalibration;
; thermalCalibration size 12
; enum CompletionCode { 
;   noError, invalidThermalProgram,hardwareFault, temperatureError
; };
; typedef struct
; {
; 	thermalStep tProgram;
; 	thermalCalibration 	tCalib;
; 	int16		currentTemperature,thermoCouple;	
; 	uint16		elapsedTics;
; 	byte 		state;
; 	byte code;
; 	uint8 source;    
; 	uint8 tag;         
;     uint8 cmdType;   
; 	int32		heaterSlope_num;
; 	int32		heaterSlope_den;
; 	int16		heaterPWM,coolerPWM;
; 	uint16		tempSense1,tempSense2;
; 	byte		tempSenseSwitch;
; 	int32		fixedPWM;
; 	int32 		sum;	 		
; 	int32      intLimitP, intLimitN;
; 	int32       Pterm;
; 	int32        Iterm;
; 	int16       temp;	
; }Heater;
; Heater size 78
; void HeaterServoLoop(Heater* h);
; void initHeater(Heater* h);
; void startHeater(Heater* h);
; void turnHeaterOff(Heater* h);
; void calculateSlope(Heater* h);
; enum ESPmsgCmd {  
;   ESPmsgNOP,          
;   ESPmsgEchoCmd,      
;   ESPmsgDupAdr,       
;   solenoidConfigCmd,    
;   solenoidStatusCmd,    
;   solenoidPulseCmd,     
;   solenoidHoldCmd,      
;   shaftConfigCmd,       
;   shaftStatusCmd,       
;   shaftRotateCmd,       
;   thermalConfigCmd,     
;   thermalStatusCmd,     
;   thermalProgramCmd,    
;   thermalRunCmd,        
;   servoConfigCmd,       
;   servoStatusCmd,       
;   servoAbsMoveCmd,      
;   servoRelMoveCmd,      
;   servoOnCmd,         
;   servoGoalCmd,         
;   servoGripCmd,		
;   servoReleaseCmd,	
;   servoGPIOCmd,		
;   servoOffCmd,			
;   ESPmsgCmds 
; };
; struct ESPdupMsg  { 
;   enum ESPmsgCmd cmd;        
;   byte  dupAdr;         
; };
; struct solenoidConfigMsg  { 
;   enum ESPmsgCmd cmd;         
;   byte  pulseDuration;  
; };
; struct solenoidConfigRequest {
;   byte dst;
;   enum ESPmsgCmd cmd;         
; };
; struct solenoidConfigReply { 
;   enum ESPmsgCmd cmd;      
;   byte pulseDuration;      
;   byte quanity;            
; };
; struct solenoidStatusRequest {
;   byte dst;
;   enum ESPmsgCmd cmd;         
; };
; struct solenoidStatusReply { 
;   enum ESPmsgCmd cmd;             
;   byte pulseWidthRemaining; 
;   byte state[1];            
; };
; enum {
;   solenoidStateOFF,
;   solenoidStateUP,
;   solenoidStateDOWN,
;   solenoidStateReserved
; };  
; struct solenoidPulseMsg {
;   enum ESPmsgCmd cmd;       
;   byte direction[1];        
; };
; struct solenoidHoldMsg {
;   enum ESPmsgCmd cmd;       
;   byte direction[1];        
; };
; enum {
;   solenoidDirectionNOP,
;   solenoidDirectionUP,
;   solenoidDirectionDOWN,
;   solenoidDirectionSTOP
; };  
; struct shaftConfigMsg  { 
;   enum ESPmsgCmd cmd;    
;   byte     shaftNumber;  
;   umsg16   maxError;     
;   byte     maxCurrent;   
; };
; struct shaftConfigRequest {
;   enum ESPmsgCmd cmd;    
;   byte     shaftNumber;  
; };
; struct shaftConfigReply  { 
;   enum ESPmsgCmd cmd;    
;   umsg16   maxError;     
;   byte     maxCurrent;   
; };
; struct shaftStatusRequest { 
;   enum ESPmsgCmd cmd;   
;   byte     shaftNumber; 
;   umsg16   repeatRate;  
; };
; struct shaftStatusReply { 
;   enum ESPmsgCmd cmd;   
;   umsg16   angle;       
;   umsg16   goal;        
;   int8     current;     
; };
; struct shaftRotateRequest {
;   enum ESPmsgCmd cmd;   
;   byte     shaftNumber;
;   umsg16   goal;        
;   int8     direction;   
; };
; struct shaftRotateReply {
;   enum ESPmsgCmd cmd;      
;   umsg16   angle;          
;   enum shaftReason reason; 
; };
; struct servoConfig {  
;   enum servoOption optionMask; 
;   servoPosition thresholdOffset; 
;   servoPosition maxPositionErr;  
;   msg16PID  gain;         
;   umsg16    maxSpeed;     
;   umsg16    minSpeed;     
;   uint16    accel;        
;   uint8     maxCurrent;     
;   int8      maxDeltaPress;  
;   uint8     maxInPress;     
;   uint8     maxOutPress;    
;   uint8     minInPress;     
;   uint8     minOutPress;    
; };
; struct servoConfigMsg {   
;   enum ESPmsgCmd  cmd;    
;   byte      channel;      
;   struct servoConfig item;  
; };
; struct servoOffMsg {  
;   enum ESPmsgCmd  cmd;     
;   byte      channel;       
; };
; struct servoConfigRequest {
;   enum ESPmsgCmd  cmd;       
;   byte        channel;       
; };
; struct servoConfigReply {   
;   enum ESPmsgCmd  cmd;      
;   struct servoConfig item;  
; };
; struct servoStatusRequest {  
;   enum ESPmsgCmd  cmd;       
;   byte      channel;      
;   umsg16    repeatRate;   
; };
; struct servoStatusReply {  
;   enum ESPmsgCmd   cmd;       
;   struct servoStatus state;   
; };
; struct servoMoveRequest {  
;   enum ESPmsgCmd  cmd;        
;   byte      channel;
;   servoPosition goal;     
; };
; struct servoMoveReply {    
;   enum ESPmsgCmd   cmd;       
;   enum servoReason    reason;       
;   struct servoStatus  stateAtAbort; 
; };
; struct servoOnRequest {  
;   enum ESPmsgCmd  cmd;     
;   byte      channel;       
; };
; struct servoOnReply {    
;   enum ESPmsgCmd   cmd;       
;   enum servoReason    reason;       
;   struct servoStatus  stateAtAbort; 
; };
; struct servoGoalRequest {  
;   enum ESPmsgCmd   cmd;       
;   byte             channel;   
; };
; struct servoGoalReply {
;   enum ESPmsgCmd   cmd;       
;   enum ESPmsgCmd   servoMode; 
;   servoPosition    goal;      
; };
; struct servoGPIORequest{
;   enum ESPmsgCmd   cmd;       
;   byte channel;
; };
; struct servoGPIOReply{
;   enum ESPmsgCmd   cmd;       
;   byte bitMask;		
; };
; struct servoGPIOMsg{
;   enum ESPmsgCmd   cmd;       
;   byte channel;
;   byte bitMask;		
; };
; struct servoGripRequest{
;   enum ESPmsgCmd   cmd;       
;   byte channel;  
; };
; struct servoGripReply{
;   enum ESPmsgCmd   cmd;       
;   enum servoReason reason;	
; };
; struct thermalConfigMsg  { 
;   enum ESPmsgCmd cmd;   
;   msg16PID  heating, cooling;  
; };
; struct thermalConfigRequest {  
;   enum ESPmsgCmd cmd;   
; };
; struct thermalConfigReply {   
;   enum ESPmsgCmd  cmd;      
;   msg16PID  heating, cooling;  
; };
; struct thermalStatusRequest {
;   enum ESPmsgCmd cmd;   
;   umsg16   repeatRate;  
; };
; struct thermalStatusReply {
;   enum ESPmsgCmd cmd;   
;   msg16    currentTemperature;   
;   umsg16   elapsedTics;          
;   byte     heaterPwr, coolerPwr; 
; };
; struct thermalRunRequest {
;   enum ESPmsgCmd  cmd;        
;   thermalStep step[1];  
; };
; struct thermalRunReply {
;   enum ESPmsgCmd  cmd;        
;   byte completionCode ;  
;   umsg16  elapsedTics;  
; };
; struct thermalProgramRequest {  
;   enum ESPmsgCmd  cmd;        
; };
; struct thermalProgramReply {  
;   enum ESPmsgCmd  cmd;       
;   thermalStep step[1];  
; };
; typedef struct
; {
; 	byte channel;	 		
; 	enum servoOption optionMask;
;         enum servoStatusBits statusMask;
; 	enum servoReason reason;  
; 	struct servoStatus status;      
; 	uint8 source;    
; 	uint8 tag;         
;     uint8 cmdType;   
; 	uint8 sourceStatus;    
; 	uint8 tagStatus;         
; 	int32 position;  		
; 	int32 lastPosition;        
;     int32 thresholdOffset; 
; 	int32 lastIntermediate; 	
; 	int32 lastDerivative;
; 	int32 goalPosition; 	
; 	int32 relative;			
; 	int32 intermediate;	 	
; 	int32 maxPositionErr;
; 	int16 pressure1;
; 	int16 pressure2;
; 	uint16 maxSpeed; 		
; 	uint16 defaultMaxSpeed;
; 	uint16 minSpeed;
; 	int16 cmdVel;	 		
; 	uint16 accel;	 		
; 	int8 stopFlag;			
; 	int16PID gain;	
; 	int32 sum;		 		
; 	int32 previousSum;
; 	int32 lastError;		
; 	int16 motorCurrent;		
; 	int16  maxPressureDelta;	
; 	int16 maxInPressure;	
; 	int16 maxOutPressure;	
; 	int16 minInPressure;	
; 	int16 minOutPressure;	
; 	int16 maxCurrent;
; 	byte limitedFlag;
;     byte pressureSenseSwitch;
;     int32 latchPosition;
;     uint16 servoTics;
;     uint16 repeatRate;
; }MotorChannel;
; MotorChannel size 112
; typedef void trapFn (MotorChannel *m);
; trapFn size 0
; extern trapFn *MoveType0, *MoveType1;
; void getNewPos(MotorChannel* mc);
; void getLatchPos(MotorChannel* mc);
; int32 getPosition(MotorChannel* mc);
; enum servoStatusBits updateStatus(MotorChannel *mc);
; void trapServoLoop(MotorChannel* mc);
; void configMotorChannel(MotorChannel* mc,byte channel);
; void initServo(void);
; void ServoDoNothing(MotorChannel* mc);
; void startAbsMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source);
; void startRelMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source);
; void MotorOverCurrent(MotorChannel* mcChan);
; void MotorPositionError(MotorChannel* mcChan);
; void servoOff(MotorChannel* mcChan);
; typedef struct {   
;   byte *head, *tail;  
;   byte   buffer[1];   
; } fifoBody;
; fifoBody size 6
; typedef const struct {   
;   fifoBody *body;
;   byte *end;           
;   unsigned limit;      
; } fifo;
; ****** Warning: const variable ``fifo'' lacks initializer
; fifo size 6
; static __inline__  
; void FIFOclear (fifo *r)
; }
; static __inline__  
; unsigned FIFOdiff (fifo *r)
; }
; static __inline__  
; unsigned FIFOlen (fifo *r) {
; }
; static __inline__  
; unsigned FIFOfree (fifo *r) {
; }
; static __inline__  
; unsigned FIFOfreeFrom (fifo *r, byte *tail) {
; }
; static __inline__ 
; byte *FIFOadvance (fifo *r, byte *headOrTail, unsigned stride)
; }
; static __inline__ 
; byte *FIFOretreat (fifo *r, byte *headOrTail, unsigned stride)
; }
; static __inline__  
; unsigned FIFOdelta (fifo *r, byte *cursor, byte *base) {
; }
; static __inline__ 
; byte *FIFOinc (fifo *r, byte *headOrTail)
; }
; static __inline__ 
; byte *FIFOdec (fifo *r, byte *headOrTail)
; }
; static __inline__ 
; unsigned FIFOpoke (fifo *r)
; }
; static __inline__ 
; byte *FIFOaddChunk (fifo *r, byte *src, byte *dst, unsigned len)
; }
; static __inline__ 
; void FIFOwriteChunk (fifo *r, byte *src, unsigned len)
; }
; static __inline__ 
; unsigned FIFOpeek (fifo *r)
; }
; static __inline__ 
; byte *FIFOreadChunkAhead (fifo *r, byte *src, byte *dst, unsigned len)
; }
; static __inline__ 
; void FIFOreadChunk (fifo *r, byte *dst, unsigned len)
; }
; static __inline__  
; unsigned FIFOreadByteAhead(fifo *r, byte **headPtr)
; }
; static __inline__  
; unsigned FIFOreadByte(fifo *r)
; }
; static __inline__ 
; void FIFOwriteByte(fifo *r, byte octet)
; }
; static __inline__ 
; void FIFOwriteByteW(fifo *r, unsigned octet)
; }
; static __inline__ 
; unsigned FIFOwriteByteIfNotFull(fifo *r, unsigned octet)
; }
; static __inline__  void FIFOwrite16 (fifo *r, uint16 word) {
; }
; static __inline__  void FIFOwrite24 (fifo *r, uint32 word) {
; }
; static __inline__  void FIFOwrite32 (fifo *r, uint32 word) {
; }
; static __inline__  
; byte *FIFOaddByte (fifo *r, byte *tail, byte octet)
; }
; static __inline__  
; byte *FIFOaddByteW (fifo *r, byte *tail, unsigned octet)
; }
; static __inline__ 
; byte *bufAddByte (byte *cursor, byte octet)
; }
; static __inline__ 
; byte *bufAddByteW (byte *cursor, unsigned octet)
; }
; static __inline__  byte *FIFOadd16 (fifo *r, byte *tail, uint16 word) {
; }
; static __inline__ 
; byte *bufAdd16 (byte *cursor, unsigned word)
; }
; static __inline__  byte *FIFOadd24 (fifo *r, byte *tail, uint32 word) {
; }
; static __inline__ 
; byte *bufAdd24 (byte *cursor, uint32 word)
; }
; static __inline__  byte *FIFOadd32 (fifo *r, byte *tail, uint32 word) {
; }
; static __inline__ 
; byte *bufAdd32 (byte *cursor, uint32 word)
; }
; byte *FIFOaddBlock (fifo *r, byte *src, byte *dst, unsigned len);
; static __inline__  uint16 FIFOread16 (fifo *r) {
; }
; static __inline__  uint16 FIFOread16Ahead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread24 (fifo *r) {
; }
; static __inline__  uint32 FIFOread24Ahead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread24signed (fifo *r) {
; }
; static __inline__  uint32 FIFOread24signedAhead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread32 (fifo *r) {
; }
; static __inline__  uint32 FIFOread32Ahead (fifo *r, byte **headPtr) {
; }
; byte *FIFOreadBlockAhead (fifo *r, byte *src, byte *dst, unsigned len);
; void RX1ISR (void);
; static __inline__  void kickstart (void)
; }
; static __inline__  void pollInput (void)
; }
; typedef const struct parserInstance parserInstance;
; ****** Warning: const variable ``parserInstance'' lacks initializer
; parserInstance size 0
; struct parserInstance {
;   fifo *input, *output;     
;   voidFn *pollInput;        
;   voidFn *kickstartOutput;  
;   void (*resync) (byte USARTerrMask);  
; };
; void parserAwaitInput (fifo *from, unsigned length);
; unsigned parserGetByte (parserInstance *instance);
; unsigned parserGetByteAhead (parserInstance *instance, byte **head);
; uint16 parserGetWord (parserInstance *instance);
; void parserPutByte (parserInstance *instance, unsigned b);
; void parserPutWord (parserInstance *instance, uint16 word);
; void parserPutBlock (parserInstance *instance, byte *src, unsigned len);
; void parserPutString (parserInstance *instance, char *s);
; void parserSkipInput (parserInstance *instance, unsigned len);
; int parserGetHex (parserInstance *port, unsigned limit);
; void cpld_io_init(void);
; byte get_cpld_io(byte reg);
; void set_cpld_io(byte reg,byte val);
; void clear_cpld_bit(byte reg,byte val);
; void set_cpld_bit(byte reg, byte val);
; enum timerIndex {   
;   dcoTimer,         
;   servoTimer,
;   valveTimer,
;   heaterTimer,
;   gripperTimer,
;   NTIMERS   
; };
; enum debugMask {  
;   debugCmds   = 0x01,    
;   debugI2C    = 0x02,    
;   debugEnc    = 0x04,    
;   debugValve  = 0x08,    
;   debugTemp   = 0x10,    
;   debugHeatPWM= 0x20,     
;   debugPressure  = 0x40
; };
; extern enum debugMask debugFlag;
; extern uint16 opComplete;
; void putDebugNewLine (void);
; void putDebugString (char *string);
; void putDebugLine (char *line);
; void reportErr (const char *errTxt, ...);
; void checkServoStatus(MotorChannel *mcChan);
; typedef const struct I2CnodeInstance I2CnodeInstance;
; ****** Warning: const variable ``I2CnodeInstance'' lacks initializer
; I2CnodeInstance size 0
; typedef void I2Cisr (I2CnodeInstance *instance);
; I2Cisr size 0
; typedef I2Cisr * const* I2Cvectors; 
; I2Cvectors size 2
; typedef enum {
;   noI2CnodeEvent,                
;   I2CnodeCRCmsg,      
;   I2CnodeNonCRCmsg,   
;   I2CnodeGCCRCmsg,    
;   I2CnodeGCmsg,       
;   I2CnodeReadRequest, 
;   I2CnodeEventTypes
; } I2CnodeEventType;
; I2CnodeEventType size 1
; typedef enum {  
;   I2CnodeOK,
;   I2CnodeNACK,    
;   I2CnodeCRCNACK, 
;   I2CnodeBusErr,  
;   I2CnodeTimeOut, 
;   I2CnodeArgErr,  
;   I2CnodeInUse,   
;   I2CnodeRetryErr,
;   I2CnodeErrs
; } I2CnodeErr;
; I2CnodeErr size 1
; struct I2Cnode {       
;   I2Cvectors state;    
;   byte  *headEvent;    
;   byte  ownAdr;      
; };
; struct I2CnodeInstance {      
;   struct I2Cnode *current;    
;   fifo   *events;             
;   I2Cisr *filter;   
;   I2Cisr *readReq;  
;   uint16 timeout;   
;   byte   retries;   
;   byte   lowPeriod, highPeriod;  
; };
; static __inline__ 
;   I2CnodeEventType *I2CnodeNewEvent (I2CnodeInstance *instance)
; }
; static __inline__  
;   byte *I2CnodeEventBody (I2CnodeInstance *instance, 
;                               I2CnodeEventType *evType, unsigned *eventLen)
; }
; static __inline__  
;   byte *I2CnodeOpenEvent (I2CnodeInstance *instance)
; }
; static __inline__  
;   void I2CnodeCloseEvent (I2CnodeInstance *instance, 
;                               I2CnodeEventType evType, byte *eventEnd)
; }
; static __inline__ 
;   void I2CnodeAddEvent (I2CnodeInstance *instance, I2CnodeEventType ev)
; }
; void acceptNewI2CnodeEvent (I2CnodeInstance *instance);
; I2CnodeErr 
;   I2CnodeAnswer (I2CnodeInstance *instance, byte *buffer, unsigned len);
; void I2CnodeInit (I2CnodeInstance *instance);
; void I2CnodeRestart (I2CnodeInstance *instance);
; void retireI2CnodeEvent (I2CnodeInstance *instance);
; I2CnodeEventType
;   nextI2CnodeEvent (I2CnodeInstance *instance, unsigned *eventLen);
; static __inline__  I2CnodeEventType
;   checkNextI2CnodeEvent (I2CnodeInstance *instance, unsigned *eventLen)
; }
; static __inline__  I2CnodeEventType
;   awaitNextI2CnodeEvent (I2CnodeInstance *instance, unsigned *eventLen)
; }
; I2CnodeErr 
;   setI2CnodeAdr (I2CnodeInstance *instance, uint16 newAdr);
; I2CnodeErr I2CnodeRead(I2CnodeInstance *instance, uint16 I2Csrc, 
;                             byte *buffer, unsigned length);
; I2CnodeErr I2CnodeWrite(I2CnodeInstance *instance, uint16 I2Cdst, 
;                               byte *buffer, unsigned length);
; unsigned I2CnodeBytesXferred(I2CnodeInstance *instance);
; void I2CnodeTic (I2CnodeInstance *instance);
; void I2CnodeCkHeld (I2CnodeInstance *instance);
; static __inline__  void connectI2C (void)
; }
; static __inline__  void I2CnodeCkEdge (I2CnodeInstance *instance)
; }
; ****** Warning: Symbol ``instance'' (function I2CnodeCkEdge) was defined, but not used
; void jogServo(MotorChannel* mc);
; void homed(MotorChannel* mc);
; void latchActive1 (MotorChannel* mc);
; void ServoDoNothing(MotorChannel* mcChan)
DBG3:
	.long 0x0
	.long DBG10
	.long _ServoDoNothing
	.long 0x40
	.long 0x1020001
	.long DBG1
	.long DBG7-DBG8
	.long DBG9
	.long DBG6
	.long 0x0
	.pseg TrapServo_code
DBG8:
	.dbgseg dbg_syms
DBG1:
	.long 0x66622e
	.long 0x0
	.long DBG8
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xe
	.long 0x0
	.long DBG11
	.long 0x0
	.dbgseg dbg_line
	.align 0x2
DBG9:
	.long DBG3
	.long 0x0
	.long _ServoDoNothing
	.long 0x1
	.long DBG13
	.long 0x2
	.long DBG14
	.long 0x4
	.long DBG15
	.long 0x5
	.long DBG16
	.long 0x6
	.long DBG17
	.long 0x7
	.long DBG18
	.long 0x8
	.pseg TrapServo_code
	.global _ServoDoNothing
_ServoDoNothing:
; ENTRY
DBG12:
; mcChan at argloc 0 (0x0) in reg  size 2
; {
DBG13:
;  if(mcChan->channel==0)                       
DBG14:
	cmp.b	#0x0,0(r12)
	jne	ServoDoNothing_L1
DBG15:
;   TBCCR1 = 0;   
	mov	#0x0,&0x194
DBG16:
	jmp	ServoDoNothing_LL2
ServoDoNothing_L1:
;  else
;   TBCCR2 = 0;  
DBG17:
	mov	#0x0,&0x196
ServoDoNothing_L2:
DBG18:
ServoDoNothing_LL2:
; EXIT
DBG19:
	ret
	.dbgseg dbg_syms
servoOption_1:
DBG4:
	.long 0x0
	.long DBG21
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG20
	.long 0x0
	.long 0x0
	.long DBG22
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG23
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG24
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG25
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG26
	.long 0x10
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG27
	.long 0x20
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG28
	.long 0x40
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG29
	.long 0x80
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG4
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoStatusBits_2:
DBG20:
	.long 0x0
	.long DBG31
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG30
	.long 0x0
	.long 0x76726573
	.long 0x6e4f6f
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG32
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG33
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG34
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x76726573
	.long 0x534c526f
	.long 0x10
	.long 0xb
	.long 0x10ffff
	.long 0x76726573
	.long 0x534c466f
	.long 0x20
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG20
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoReason_3:
DBG30:
	.long 0x0
	.long DBG36
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG35
	.long 0x0
	.long 0x0
	.long DBG37
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG38
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG39
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG40
	.long 0x3
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG41
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG42
	.long 0x5
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG43
	.long 0x6
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG44
	.long 0x7
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG45
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG30
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoStatus_4:
DBG35:
	.long 0x0
	.long DBG47
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x90000
	.long 0x0
	.long DBG46
	.long 0x0
	.long 0x74617473
	.long 0x7375
	.long 0x0
	.long 0xa
	.long 0x108ffff
	.long servoStatusBits_2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x69736f70
	.long 0x6e6f6974
	.long 0x1
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x30008
	.long 0x3
	.long 0x0
	.long 0x0
	.long 0x6f6c6576
	.long 0x79746963
	.long 0x4
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x20008
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x6
	.long 0x2
	.long 0x8ffff
	.long 0x72506e69
	.long 0x737365
	.long 0x7
	.long 0xc
	.long 0x8ffff
	.long 0x5074756f
	.long 0x73736572
	.long 0x8
	.long 0xc
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x166ffff
	.long DBG35
	.long 0x90000
	.long 0x0
	.long 0x0
	.long 0x0
.1fake_5:
DBG46:
	.long 0x6166312e
	.long 0x355f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG48
	.long 0x0
	.long 0x50
	.long 0x0
	.long 0x0
	.long 0x3
	.long 0x8ffff
	.long 0x49
	.long 0x0
	.long 0x2
	.long 0x3
	.long 0x8ffff
	.long 0x44
	.long 0x0
	.long 0x4
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG46
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
.7fake_6:
DBG48:
	.long 0x6166372e
	.long 0x365f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x700000
	.long 0x0
	.long DBG49
	.long 0x0
	.long 0x6e616863
	.long 0x6c656e
	.long 0x0
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG50
	.long 0x1
	.long 0xa
	.long 0x108ffff
	.long servoOption_1
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG51
	.long 0x2
	.long 0xa
	.long 0x108ffff
	.long servoStatusBits_2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x73616572
	.long 0x6e6f
	.long 0x3
	.long 0xa
	.long 0x108ffff
	.long servoReason_3
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x74617473
	.long 0x7375
	.long 0x4
	.long 0x8
	.long 0x108ffff
	.long servoStatus_4
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x72756f73
	.long 0x6563
	.long 0xd
	.long 0xc
	.long 0x8ffff
	.long 0x676174
	.long 0x0
	.long 0xe
	.long 0xc
	.long 0x8ffff
	.long 0x54646d63
	.long 0x657079
	.long 0xf
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG52
	.long 0x10
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG53
	.long 0x11
	.long 0xc
	.long 0x8ffff
	.long 0x69736f70
	.long 0x6e6f6974
	.long 0x12
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG54
	.long 0x16
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG55
	.long 0x1a
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG56
	.long 0x1e
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG57
	.long 0x22
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG58
	.long 0x26
	.long 0x5
	.long 0x8ffff
	.long 0x616c6572
	.long 0x65766974
	.long 0x2a
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG59
	.long 0x2e
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG60
	.long 0x32
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG61
	.long 0x36
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG62
	.long 0x38
	.long 0x3
	.long 0x8ffff
	.long 0x5378616d
	.long 0x64656570
	.long 0x3a
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG63
	.long 0x3c
	.long 0xd
	.long 0x8ffff
	.long 0x536e696d
	.long 0x64656570
	.long 0x3e
	.long 0xd
	.long 0x8ffff
	.long 0x56646d63
	.long 0x6c65
	.long 0x40
	.long 0x3
	.long 0x8ffff
	.long 0x65636361
	.long 0x6c
	.long 0x42
	.long 0xd
	.long 0x8ffff
	.long 0x706f7473
	.long 0x67616c46
	.long 0x44
	.long 0x2
	.long 0x8ffff
	.long 0x6e696167
	.long 0x0
	.long 0x46
	.long 0x8
	.long 0x108ffff
	.long .1fake_5
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6d7573
	.long 0x0
	.long 0x4c
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG64
	.long 0x50
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG65
	.long 0x54
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG66
	.long 0x58
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG67
	.long 0x5a
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG68
	.long 0x5c
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG69
	.long 0x5e
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG70
	.long 0x60
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG71
	.long 0x62
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG72
	.long 0x64
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG73
	.long 0x66
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG74
	.long 0x67
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG75
	.long 0x68
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG76
	.long 0x6c
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG77
	.long 0x6e
	.long 0xd
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x70
	.long 0x0
	.long 0x166ffff
	.long DBG48
	.long 0x700000
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG19
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x15
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG7:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG10
	.long DBG7
	.long 0x0
	.long 0xff0001
; }
; void servoOff(MotorChannel* mcChan) 
DBG6:
	.long 0x76726573
	.long 0x66664f6f
	.long _servoOff
	.long 0x40
	.long 0x1020001
	.long DBG11
	.long DBG79-DBG80
	.long DBG81
	.long DBG78
	.long 0x0
	.pseg TrapServo_code
DBG80:
	.dbgseg dbg_syms
DBG11:
	.long 0x66622e
	.long 0x0
	.long DBG80
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x17
	.long 0x0
	.long DBG82
	.long 0x0
	.dbgseg dbg_line
DBG81:
	.long DBG6
	.long 0x0
	.long _servoOff
	.long 0x1
	.long DBG84
	.long 0x2
	.long DBG85
	.long 0x4
	.long DBG86
	.long 0x6
	.long DBG87
	.long 0x7
	.long DBG88
	.long 0x9
	.long DBG89
	.long 0xa
	.long DBG90
	.long 0xb
	.long DBG91
	.long 0xc
	.long DBG92
	.long 0xd
	.long DBG93
	.long 0xf
	.long DBG94
	.long 0x10
	.long DBG95
	.long 0x11
	.long DBG96
	.long 0x12
	.long DBG97
	.long 0x13
	.long DBG98
	.long 0x16
	.long DBG100
	.long 0x17
	.long DBG101
	.long 0x18
	.long DBG102
	.long 0x19
	.long DBG103
	.long 0x1a
	.long DBG105
	.long 0x1b
	.long DBG107
	.long 0x1c
	.long DBG108
	.long 0x1d
	.long DBG109
	.long 0x1e
	.long DBG110
	.long 0x1f
	.long DBG112
	.long 0x20
	.long DBG113
	.long 0x21
	.long DBG114
	.long 0x23
	.pseg TrapServo_code
	.global _servoOff
_servoOff:
	push	r4
	push	r5
DBG83:
; ENTRY
	mov	r12,r5
DBG85:
DBG84:
; mcChan at argloc 0 (0x0) in reg  size 2
; servoBit in reg  size 2
; {
; uint16 servoBit;
;  (IE1 &= ~ (0x01) ) ;
	mov.b	#0xfe,r4
	and.b	r4,&0x0
DBG86:
;    if (!(mcChan->goalPosition==mcChan->intermediate))
	mov	0x26(r5),r13
	mov	0x28(r5),r12
	sub	0x2e(r5),r13
	subc	0x30(r5),r12
	bis	r12,r13
	tst	r13
	jeq	servoOff_L1
DBG88:
DBG87:
;    {
;      mcChan->reason = servoAborted;     
	mov.b	#0x3,0x3(r5)
DBG89:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r5,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	servoOff_LL2
servoOff_LL3:
	rla	r12
	dec	r13
	jnz	servoOff_LL3
servoOff_LL2:
;  ((opComplete) |= (servoBit)) ;
DBG90:
	bis	r12,&_opComplete
DBG91:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG93:
DBG92:
;     }
servoOff_L1:
;    mcChan->intermediate = mcChan->position;
	mov	0x12(r5),0x2e(r5)
	mov	0x14(r5),0x30(r5)
DBG94:
;    mcChan->goalPosition = mcChan->position;
	mov	0x12(r5),0x26(r5)
	mov	0x14(r5),0x28(r5)
DBG95:
;    mcChan->cmdVel = 0;
	mov	#0x0,0x40(r5)
DBG96:
;    mcChan->sum = 0;
	mov	#0x0,0x4c(r5)
	mov	#0x0,0x4e(r5)
DBG97:
;    mcChan->previousSum=0;
	mov	#0x0,0x50(r5)
	mov	#0x0,0x52(r5)
DBG98:
;    if(mcChan->channel==0){
	cmp.b	#0x0,0(r5)
	jne	servoOff_L2
DBG100:
DBG99:
;    MoveType0 = ServoDoNothing;
	mov	#_ServoDoNothing,r12
	mov	r12,&_MoveType0
DBG101:
;    if (MoveType1 == ServoDoNothing)  
	cmp	r12,&_MoveType1
	jne	servoOff_L4
DBG102:
;      clear_cpld_bit( 15 , 0x20 );  
	mov.b	#0x20,r13
	mov.b	#0xf,r12
	call	#_clear_cpld_bit
DBG103:
servoOff_L3:
DBG104:
;    }
DBG105:
	jmp	servoOff_L4
servoOff_L2:
;    else{
DBG106:
;    MoveType1 = ServoDoNothing;
DBG107:
	mov	#_ServoDoNothing,r12
	mov	r12,&_MoveType1
DBG108:
;     if (MoveType0 == ServoDoNothing)  
	cmp	r12,&_MoveType0
	jne	servoOff_L5
DBG109:
;      clear_cpld_bit( 15 , 0x20 );   
	mov.b	#0x20,r13
	mov.b	#0xf,r12
	call	#_clear_cpld_bit
DBG110:
servoOff_L5:
DBG111:
servoOff_L4:
;    }
;  ((mcChan->statusMask) &= ~( servoOn)) ;
DBG112:
	and.b	r4,0x2(r5)
DBG113:
;  (IE1 |= (0x01) ) ;
	bis.b	#0x1,&0x0
DBG115:
DBG114:
; EXIT
; .temp0 at stkloc 0 (0x0) size 4
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
DBG2:
	.long 0x62622e
	.long 0x0
	.long DBG83
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG116
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG84
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG116:
	.long 0x62622e
	.long 0x0
	.long DBG84
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG117
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x50102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG117:
	.long 0x62622e
	.long 0x0
	.long DBG90
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb
	.long 0x0
	.long DBG118
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG101
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x18
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG114
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x23
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG115
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x39
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG79:
	.dbgseg dbg_syms
	.long 0x76726573
	.long 0x66664f6f
	.long DBG79
	.long 0x0
	.long 0xff0001
; }
; void errorOut(MotorChannel* mcChan)
DBG78:
	.long 0x6f727265
	.long 0x74754f72
	.long _errorOut
	.long 0x40
	.long 0x1020001
	.long DBG82
	.long DBG120-DBG121
	.long DBG122
	.long DBG119
	.long 0x0
	.pseg TrapServo_code
DBG121:
	.dbgseg dbg_syms
DBG82:
	.long 0x66622e
	.long 0x0
	.long DBG121
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x3b
	.long 0x0
	.long DBG123
	.long 0x0
	.dbgseg dbg_line
DBG122:
	.long DBG78
	.long 0x0
	.long _errorOut
	.long 0x1
	.long DBG125
	.long 0x2
	.long DBG126
	.long 0x4
	.long DBG127
	.long 0x5
	.long DBG128
	.long 0x6
	.long DBG129
	.long 0x7
	.long DBG130
	.long 0x8
	.long DBG131
	.long 0x9
	.long DBG132
	.long 0xa
	.long DBG133
	.long 0xb
	.long DBG134
	.long 0xc
	.long DBG135
	.long 0xd
	.long DBG136
	.long 0xe
	.long DBG137
	.long 0x10
	.long DBG138
	.long 0x11
	.long DBG139
	.long 0x12
	.long DBG140
	.long 0x14
	.long DBG142
	.long 0x15
	.long DBG143
	.long 0x16
	.long DBG144
	.long 0x17
	.long DBG146
	.long 0x18
	.long DBG148
	.long 0x19
	.long DBG149
	.long 0x1a
	.long DBG150
	.long 0x1b
	.long DBG152
	.long 0x1c
	.long DBG153
	.long 0x1d
	.long DBG154
	.long 0x1e
	.long DBG155
	.long 0x1f
	.long DBG156
	.long 0x20
	.long DBG157
	.long 0x22
	.long DBG158
	.long 0x24
	.pseg TrapServo_code
	.global _errorOut
_errorOut:
	push	r4
DBG124:
; ENTRY
	mov	r12,r4
DBG126:
DBG125:
; mcChan at argloc 0 (0x0) in reg  size 2
; servoBit in reg  size 2
; {
;  uint16 servoBit;
;  (IE1 &= ~ (0x01) ) ;
	mov.b	#0xfe,r12
	and.b	r12,&0x0
DBG127:
;    if(mcChan->channel==0)
	cmp.b	#0x0,0(r4)
	jne	errorOut_L1
DBG129:
DBG128:
;    {                       
;      TBCCR1 = 0;   
	mov	#0x0,&0x194
DBG130:
;      MoveType0 = ServoDoNothing;
	mov	#_ServoDoNothing,&_MoveType0
DBG132:
DBG131:
;    }
	jmp	errorOut_L2
errorOut_L1:
;    else
;    {
DBG133:
;      TBCCR2 = 0;  
DBG134:
	mov	#0x0,&0x196
DBG135:
;      MoveType1 = ServoDoNothing;
	mov	#_ServoDoNothing,&_MoveType1
DBG136:
errorOut_L2:
;    }
;    mcChan->intermediate = mcChan->position;
DBG137:
	mov	0x12(r4),0x2e(r4)
	mov	0x14(r4),0x30(r4)
DBG138:
;    mcChan->goalPosition = mcChan->position;
	mov	0x12(r4),0x26(r4)
	mov	0x14(r4),0x28(r4)
DBG139:
;  ((mcChan->statusMask) &= ~( servoOn)) ;
	and.b	r12,0x2(r4)
DBG140:
;    if(mcChan->channel==0){
	cmp.b	#0x0,0(r4)
	jne	errorOut_L3
DBG142:
DBG141:
;    if (MoveType1 == ServoDoNothing)  
	cmp	#_ServoDoNothing,&_MoveType1
	jne	errorOut_L5
DBG143:
;      clear_cpld_bit( 15 , 0x20 );  
	mov.b	#0x20,r13
	mov.b	#0xf,r12
	call	#_clear_cpld_bit
DBG144:
errorOut_L4:
DBG145:
;    }
DBG146:
	jmp	errorOut_L5
errorOut_L3:
;    else{
DBG147:
;     if (MoveType0 == ServoDoNothing)  
DBG148:
	cmp	#_ServoDoNothing,&_MoveType0
	jne	errorOut_L6
DBG149:
;      clear_cpld_bit( 15 , 0x20 );   
	mov.b	#0x20,r13
	mov.b	#0xf,r12
	call	#_clear_cpld_bit
DBG150:
errorOut_L6:
DBG151:
errorOut_L5:
;    }
;    mcChan->sum=0;
DBG152:
	mov	#0x0,0x4c(r4)
	mov	#0x0,0x4e(r4)
DBG153:
;    mcChan->previousSum=0;
	mov	#0x0,0x50(r4)
	mov	#0x0,0x52(r4)
DBG154:
;    servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r4,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	errorOut_LL2
errorOut_LL3:
	rla	r12
	dec	r13
	jnz	errorOut_LL3
errorOut_LL2:
;  ((opComplete) |= (servoBit)) ;
DBG155:
	bis	r12,&_opComplete
DBG156:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG157:
;  (IE1 |= (0x01) ) ;
	bis.b	#0x1,&0x0
DBG159:
DBG158:
; EXIT
; .temp1 at stkloc 0 (0x0) size 2
	pop	r4
	ret
	.dbgseg dbg_syms
DBG118:
	.long 0x62622e
	.long 0x0
	.long DBG124
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG160
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG125
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG160:
	.long 0x62622e
	.long 0x0
	.long DBG125
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG161
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x40102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG161:
	.long 0x62622e
	.long 0x0
	.long DBG155
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1f
	.long 0x0
	.long DBG162
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG158
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x24
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG158
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x24
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG159
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG120:
	.dbgseg dbg_syms
	.long 0x6f727265
	.long 0x74754f72
	.long DBG120
	.long 0x0
	.long 0xff0001
; }
; void MotorOverCurrent(MotorChannel* mcChan)
DBG119:
	.long 0x0
	.long DBG167
	.long _MotorOverCurrent
	.long 0x40
	.long 0x1020001
	.long DBG123
	.long DBG164-DBG165
	.long DBG166
	.long DBG163
	.long 0x0
	.pseg TrapServo_code
DBG165:
	.dbgseg dbg_syms
DBG123:
	.long 0x66622e
	.long 0x0
	.long DBG165
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5f
	.long 0x0
	.long DBG168
	.long 0x0
	.dbgseg dbg_line
DBG166:
	.long DBG119
	.long 0x0
	.long _MotorOverCurrent
	.long 0x1
	.long DBG170
	.long 0x2
	.long DBG171
	.long 0x3
	.long DBG172
	.long 0x4
	.long DBG173
	.long 0x6
	.pseg TrapServo_code
	.global _MotorOverCurrent
_MotorOverCurrent:
; ENTRY
DBG169:
; mcChan at argloc 0 (0x0) in reg  size 2
; {
DBG170:
;     mcChan->reason = servoOvercurrent;     
DBG171:
	mov.b	#0x4,0x3(r12)
DBG172:
;     errorOut(mcChan);
	call	#_errorOut
DBG174:
DBG173:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG174
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x64
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG164:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG167
	.long DBG164
	.long 0x0
	.long 0xff0001
; }
; void MotorPositionError(MotorChannel* mcChan)
DBG163:
	.long 0x0
	.long DBG179
	.long _MotorPositionError
	.long 0x40
	.long 0x1020001
	.long DBG168
	.long DBG176-DBG177
	.long DBG178
	.long DBG175
	.long 0x0
	.pseg TrapServo_code
DBG177:
	.dbgseg dbg_syms
DBG168:
	.long 0x66622e
	.long 0x0
	.long DBG177
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x65
	.long 0x0
	.long DBG180
	.long 0x0
	.dbgseg dbg_line
DBG178:
	.long DBG163
	.long 0x0
	.long _MotorPositionError
	.long 0x1
	.long DBG182
	.long 0x2
	.long DBG183
	.long 0x5
	.long DBG184
	.long 0x6
	.long DBG185
	.long 0x9
	.pseg TrapServo_code
	.global _MotorPositionError
_MotorPositionError:
; ENTRY
DBG181:
; mcChan at argloc 0 (0x0) in reg  size 2
; {
DBG182:
;       mcChan->reason = servoPositionErr;
DBG183:
	mov.b	#0x7,0x3(r12)
DBG184:
;       errorOut(mcChan);
	call	#_errorOut
DBG186:
DBG185:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG186
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x6d
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG176:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG179
	.long DBG176
	.long 0x0
	.long 0xff0001
; }
; void trapServoLoop(MotorChannel* mcChan)
DBG175:
	.long 0x0
	.long DBG191
	.long _trapServoLoop
	.long 0x40
	.long 0x1020001
	.long DBG180
	.long DBG188-DBG189
	.long DBG190
	.long DBG187
	.long 0x0
	.pseg TrapServo_code
DBG189:
	.dbgseg dbg_syms
DBG180:
	.long 0x66622e
	.long 0x0
	.long DBG189
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x6f
	.long 0x0
	.long DBG192
	.long 0x0
	.dbgseg dbg_line
DBG190:
	.long DBG175
	.long 0x0
	.long _trapServoLoop
	.long 0x1
	.long DBG194
	.long 0x2
	.long DBG195
	.long 0x3
	.long DBG196
	.long 0x4
	.long DBG197
	.long 0x5
	.long DBG198
	.long 0x6
	.long DBG199
	.long 0x7
	.long DBG200
	.long 0x8
	.long DBG201
	.long 0x9
	.long DBG202
	.long 0xa
	.long DBG203
	.long 0xc
	.long DBG204
	.long 0xd
	.long DBG205
	.long 0xe
	.long DBG206
	.long 0x11
	.long DBG207
	.long 0x12
	.long DBG208
	.long 0x13
	.long DBG209
	.long 0x15
	.long DBG210
	.long 0x16
	.long DBG211
	.long 0x18
	.long DBG212
	.long 0x19
	.long DBG213
	.long 0x1a
	.long DBG214
	.long 0x1b
	.long DBG215
	.long 0x1c
	.long DBG216
	.long 0x1d
	.long DBG218
	.long 0x1f
	.long DBG219
	.long 0x20
	.long DBG220
	.long 0x21
	.long DBG221
	.long 0x22
	.long DBG222
	.long 0x23
	.long DBG223
	.long 0x24
	.long DBG225
	.long 0x25
	.long DBG226
	.long 0x26
	.long DBG227
	.long 0x27
	.long DBG228
	.long 0x29
	.long DBG229
	.long 0x2a
	.long DBG230
	.long 0x2b
	.long DBG231
	.long 0x2c
	.long DBG232
	.long 0x2d
	.long DBG233
	.long 0x2e
	.long DBG234
	.long 0x2f
	.long DBG235
	.long 0x30
	.long DBG236
	.long 0x31
	.long DBG237
	.long 0x32
	.long DBG238
	.long 0x37
	.long DBG239
	.long 0x38
	.long DBG240
	.long 0x3b
	.long DBG241
	.long 0x3c
	.long DBG242
	.long 0x3d
	.long DBG243
	.long 0x3f
	.long DBG244
	.long 0x40
	.long DBG245
	.long 0x41
	.long DBG246
	.long 0x42
	.long DBG247
	.long 0x43
	.long DBG248
	.long 0x46
	.long DBG250
	.long 0x47
	.long DBG251
	.long 0x48
	.long DBG252
	.long 0x4b
	.long DBG253
	.long 0x4c
	.long DBG254
	.long 0x4f
	.long DBG255
	.long 0x51
	.long DBG256
	.long 0x52
	.long DBG257
	.long 0x53
	.long DBG258
	.long 0x54
	.long DBG259
	.long 0x55
	.long DBG260
	.long 0x58
	.long DBG261
	.long 0x5a
	.long DBG262
	.long 0x5f
	.long DBG263
	.long 0x60
	.long DBG264
	.long 0x61
	.long DBG265
	.long 0x62
	.long DBG266
	.long 0x64
	.long DBG267
	.long 0x65
	.long DBG268
	.long 0x66
	.long DBG269
	.long 0x67
	.long DBG270
	.long 0x68
	.long DBG271
	.long 0x69
	.long DBG272
	.long 0x6a
	.long DBG273
	.long 0x6b
	.long DBG274
	.long 0x6d
	.long DBG276
	.long 0x6e
	.long DBG277
	.long 0x6f
	.long DBG278
	.long 0x70
	.long DBG279
	.long 0x71
	.long DBG280
	.long 0x72
	.long DBG281
	.long 0x73
	.long DBG282
	.long 0x74
	.long DBG283
	.long 0x76
	.long DBG285
	.long 0x7a
	.long DBG286
	.long 0x7b
	.long DBG287
	.long 0x7d
	.long DBG288
	.long 0x7f
	.long DBG289
	.long 0x80
	.long DBG290
	.long 0x83
	.long DBG291
	.long 0x84
	.long DBG292
	.long 0x85
	.long DBG293
	.long 0x86
	.long DBG294
	.long 0x87
	.long DBG295
	.long 0x88
	.long DBG296
	.long 0x89
	.long DBG297
	.long 0x8a
	.long DBG298
	.long 0x8b
	.long DBG299
	.long 0x8c
	.long DBG300
	.long 0x8e
	.long DBG301
	.long 0x8f
	.long DBG302
	.long 0x90
	.long DBG303
	.long 0x91
	.long DBG304
	.long 0x92
	.long DBG305
	.long 0x93
	.long DBG306
	.long 0x94
	.long DBG307
	.long 0x95
	.long DBG310
	.long 0x96
	.long DBG311
	.long 0x97
	.long DBG312
	.long 0x98
	.long DBG313
	.long 0x99
	.long DBG314
	.long 0x9a
	.long DBG315
	.long 0x9b
	.long DBG317
	.long 0x9c
	.long DBG318
	.long 0x9d
	.long DBG319
	.long 0x9e
	.long DBG320
	.long 0x9f
	.long DBG321
	.long 0xa0
	.long DBG322
	.long 0xa3
	.long DBG323
	.long 0xa9
	.long DBG324
	.long 0xaa
	.long DBG325
	.long 0xab
	.long DBG326
	.long 0xac
	.long DBG327
	.long 0xad
	.long DBG328
	.long 0xae
	.long DBG329
	.long 0xb0
	.long DBG330
	.long 0xb2
	.pseg TrapServo_code
	.global _trapServoLoop
_trapServoLoop:
	push	r4
	push	r5
	push	r6
	push	r7
	push	r8
	push	r9
	push	r10
DBG193:
; ENTRY
	mov	r12,r6
DBG203:
DBG202:
DBG201:
DBG200:
DBG199:
DBG198:
DBG197:
DBG196:
DBG195:
DBG194:
; mcChan at argloc 0 (0x0) in reg  size 2
; error in reg  size 4
; dist_remain in reg  size 4
; dist_stop in reg  size 4
; current_velocity in reg  size 4
; PID in reg  size 4
; derivTerm in reg  size 4
; accel in reg  size 4
; intergralTerm in reg  size 4
; servoBit in reg  size 2
; {
; long int error=0;
; long int dist_remain=0;
; long int dist_stop=0;
; long int current_velocity=0;
; long int PID=0;
; long int derivTerm=0;
; long int accel=2;
; long int intergralTerm=0;
; uint16 servoBit;
; 	dist_remain=mcChan->goalPosition-mcChan->intermediate-mcChan->cmdVel;
	mov	0x40(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL2
	mov	#-0x1,r12
trapServoLoop_LL2:
	mov	0x26(r6),r4
	mov	0x28(r6),r5
	sub	0x2e(r6),r4
	subc	0x30(r6),r5
	sub	r13,r4
	subc	r12,r5
DBG204:
;     current_velocity = mcChan->intermediate-mcChan->lastIntermediate;
	mov	0x2e(r6),r13
	mov	0x30(r6),r12
	sub	0x1e(r6),r13
	subc	0x20(r6),r12
DBG205:
;  	dist_stop=(((long int)mcChan->cmdVel+(long int)mcChan->accel)*(long int)mcChan->cmdVel)/(2*(l
	mov	0x42(r6),r9
	mov	#0x0,r8
	rla	r9
	rlc	r8
	mov	0x40(r6),r10
	mov	#0x0,r14
	cmp	#0x0,r10
	jge	trapServoLoop_LL3
	mov	#-0x1,r14
trapServoLoop_LL3:
	mov	0x42(r6),r15
	mov	#0x0,r7
	mov	0x40(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL4
	mov	#-0x1,r12
trapServoLoop_LL4:
	add	r15,r13
	addc	r7,r12
	mov	r10,r15
	call	#__smult32
	mov	r9,r15
	mov	r8,r14
	call	#__sdiv32
	mov	r13,r7
	mov	r12,r8
DBG206:
; ong int)mcChan->accel);
;   mcChan->lastIntermediate = mcChan->intermediate;
	mov	0x2e(r6),0x1e(r6)
	mov	0x30(r6),0x20(r6)
DBG207:
;   if((mcChan->cmdVel * dist_remain) >=0)
	mov	0x40(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL5
	mov	#-0x1,r12
trapServoLoop_LL5:
	mov	r4,r15
	mov	r5,r14
	call	#__smult32
	sub	#0x0,r13
	subc	#0x0,r12
	jl	trapServoLoop_L1
DBG209:
DBG208:
;   {
;   	if(( (((dist_remain) >=0)?(dist_remain):(-dist_remain)) > (((dist_stop) >=0)?(dist_stop):(-d
	mov	r4,r12
	mov	r5,r13
	sub	#0x0,r12
	subc	#0x0,r13
	jl	trapServoLoop_LL6
	mov	r4,r13
	mov	r5,r12
	jmp	trapServoLoop_LL7
trapServoLoop_LL6:
	mov	#0x0,r13
	mov	#0x0,r12
	sub	r4,r13
	subc	r5,r12
trapServoLoop_LL7:
	mov	r7,r14
	mov	r8,r15
	sub	#0x0,r14
	subc	#0x0,r15
	jl	trapServoLoop_LL8
	jmp	trapServoLoop_LL9
trapServoLoop_LL8:
	mov	#0x0,r14
	mov	#0x0,r15
	sub	r7,r14
	subc	r8,r15
	mov	r14,r7
	mov	r15,r8
trapServoLoop_LL9:
	sub	r13,r7
	subc	r12,r8
	jge	trapServoLoop_L2
DBG211:
DBG210:
; ist_stop)) ))
;   	{	
;   		if(dist_remain>0)
	mov	#0x0,r12
	mov	#0x0,r13
	sub	r4,r12
	subc	r5,r13
	jge	trapServoLoop_L3
DBG213:
DBG212:
;   		{
;   		mcChan->cmdVel+=mcChan->accel;
	add	0x42(r6),0x40(r6)
DBG214:
;   		if (mcChan->cmdVel > mcChan->maxSpeed)
	cmp	0x40(r6),0x3a(r6)
	jc	trapServoLoop_L10
DBG215:
;   		     mcChan->cmdVel = mcChan->maxSpeed;
	mov	0x3a(r6),0x40(r6)
DBG216:
trapServoLoop_L4:
DBG217:
;   		}
DBG218:
	jmp	trapServoLoop_L10
trapServoLoop_L3:
;   		else
;   		{
DBG219:
;   		mcChan->cmdVel-=mcChan->accel;
DBG220:
	sub	0x42(r6),0x40(r6)
DBG221:
;   		if (-mcChan->cmdVel > mcChan->maxSpeed)
	mov	0x40(r6),r12
	inv	r12
	inc	r12
	cmp	r12,0x3a(r6)
	jc	trapServoLoop_L10
DBG222:
;   		     mcChan->cmdVel = -mcChan->maxSpeed;
	mov	0x3a(r6),r12
	inv	r12
	inc	r12
	mov	r12,0x40(r6)
DBG223:
trapServoLoop_L6:
DBG224:
trapServoLoop_L5:
;   		}	
DBG225:
;   	}
DBG226:
	jmp	trapServoLoop_L10
trapServoLoop_L2:
;   	else
; 	{ 
DBG227:
; 		if (mcChan->cmdVel >0) mcChan->cmdVel -= mcChan->accel;
DBG228:
	mov	#0x0,r12
	cmp	0x40(r6),r12
	jge	trapServoLoop_L8
	sub	0x42(r6),0x40(r6)
DBG229:
	jmp	trapServoLoop_L10
trapServoLoop_L8:
; 		else mcChan->cmdVel+=mcChan->accel;
	add	0x42(r6),0x40(r6)
trapServoLoop_L9:
DBG230:
trapServoLoop_L7:
;  	}
DBG231:
;   }
DBG232:
	jmp	trapServoLoop_L10
trapServoLoop_L1:
;  else
;   {
DBG233:
;   	if(mcChan->cmdVel>0)
DBG234:
	mov	#0x0,r12
	cmp	0x40(r6),r12
	jge	trapServoLoop_L11
DBG235:
;   	mcChan->cmdVel-=mcChan->accel;
	sub	0x42(r6),0x40(r6)
DBG236:
	jmp	trapServoLoop_L12
trapServoLoop_L11:
;   	else mcChan->cmdVel+=mcChan->accel;
	add	0x42(r6),0x40(r6)
trapServoLoop_L12:
DBG237:
trapServoLoop_L10:
;   }	
;     if(( (((dist_remain) >=0)?(dist_remain):(-dist_remain)) <2*mcChan->accel))
DBG238:
	mov	0x42(r6),r15
	rla	r15
	mov	#0x0,r14
	mov	r4,r13
	mov	r5,r12
	sub	#0x0,r13
	subc	#0x0,r12
	jl	trapServoLoop_LL10
	jmp	trapServoLoop_LL11
trapServoLoop_LL10:
	mov	#0x0,r13
	mov	#0x0,r12
	sub	r4,r13
	subc	r5,r12
	mov	r13,r4
	mov	r12,r5
trapServoLoop_LL11:
	sub	r15,r4
	subc	r14,r5
	jge	trapServoLoop_L13
DBG240:
DBG239:
;     {
;      mcChan->cmdVel=0;
	mov	#0x0,0x40(r6)
DBG241:
;   	 mcChan->intermediate=mcChan->goalPosition;
	mov	0x26(r6),0x2e(r6)
	mov	0x28(r6),0x30(r6)
DBG242:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r6,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	trapServoLoop_LL12
trapServoLoop_LL13:
	rla	r12
	dec	r13
	jnz	trapServoLoop_LL13
trapServoLoop_LL12:
;       if(((opComplete & servoBit) == 0) && (mcChan->tag < 128) && (mcChan->tag != 0) ) 
DBG243:
	bit	r12,&_opComplete
	jne	trapServoLoop_L15
	cmp.b	#0x80,0xe(r6)
	jc	trapServoLoop_L15
	cmp.b	#0x0,0xe(r6)
	jeq	trapServoLoop_L15
DBG245:
DBG244:
;       {
;  ((opComplete) |= (servoBit)) ;
	bis	r12,&_opComplete
DBG246:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG248:
DBG247:
;       }
trapServoLoop_L14:
DBG249:
;   }
DBG250:
	jmp	trapServoLoop_L15
trapServoLoop_L13:
;   else
;   {
DBG251:
;    mcChan->intermediate += mcChan->cmdVel;
DBG252:
	mov	0x40(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL14
	mov	#-0x1,r12
trapServoLoop_LL14:
	add	r13,0x2e(r6)
	addc	r12,0x30(r6)
DBG253:
trapServoLoop_L15:
;   }
;   error = mcChan->intermediate - mcChan->position;
DBG254:
	mov	0x2e(r6),r10
	mov	0x30(r6),r9
	sub	0x12(r6),r10
	subc	0x14(r6),r9
DBG255:
;   if ( (((error) >=0)?(error):(-error))  > mcChan->maxPositionErr)
	mov	r10,r13
	mov	r9,r12
	sub	#0x0,r13
	subc	#0x0,r12
	jl	trapServoLoop_LL15
	mov	r10,r12
	mov	r9,r13
	jmp	trapServoLoop_LL16
trapServoLoop_LL15:
	mov	#0x0,r12
	mov	#0x0,r13
	sub	r10,r12
	subc	r9,r13
trapServoLoop_LL16:
	mov	0x32(r6),r14
	mov	0x34(r6),r15
	sub	r12,r14
	subc	r13,r15
	jge	trapServoLoop_L16
DBG257:
DBG256:
;    {
;    reportErr("pos error");
	push	#TrapServo_V1
	call	#_reportErr
	add	#0x2,sp
DBG258:
;    MotorPositionError(mcChan);     
	mov	r6,r12
	call	#_MotorPositionError
DBG260:
DBG259:
;    }
trapServoLoop_L16:
;   PID = (mcChan->gain.P * error);
	mov	0x46(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL17
	mov	#-0x1,r12
trapServoLoop_LL17:
	mov	r10,r15
	mov	r9,r14
	call	#__smult32
	mov	r13,r5
	mov	r12,r4
DBG261:
;   PID += mcChan->gain.D * (error - mcChan->lastError);
	mov	r10,r15
	mov	r9,r14
	sub	0x54(r6),r15
	subc	0x56(r6),r14
	mov	0x4a(r6),r13
	mov	#0x0,r12
	cmp	#0x0,r13
	jge	trapServoLoop_LL18
	mov	#-0x1,r12
trapServoLoop_LL18:
	call	#__smult32
	add	r13,r5
	addc	r12,r4
DBG262:
;    if (mcChan->gain.I != 0)
	cmp	#0x0,0x48(r6)
	jeq	trapServoLoop_L17
DBG264:
DBG263:
;    {
;       if ( (((error) >=0)?(error):(-error))  > mcChan->maxPositionErr/16)
	mov	r10,r12
	mov	r9,r13
	sub	#0x0,r12
	subc	#0x0,r13
	jl	trapServoLoop_LL19
	mov	r10,r7
	mov	r9,r8
	jmp	trapServoLoop_LL20
trapServoLoop_LL19:
	mov	#0x0,r7
	mov	#0x0,r8
	sub	r10,r7
	subc	r9,r8
trapServoLoop_LL20:
	mov	0x32(r6),r13
	mov	0x34(r6),r12
	mov	#0x10,r15
	mov	#0x0,r14
	call	#__sdiv32
	sub	r7,r13
	subc	r8,r12
	jge	trapServoLoop_L18
DBG265:
;               mcChan->sum = mcChan->sum +  error;
	add	r10,0x4c(r6)
	addc	r9,0x4e(r6)
DBG266:
trapServoLoop_L18:
;       PID +=  mcChan->sum * mcChan->gain.I ;
	mov	0x48(r6),r15
	mov	#0x0,r14
	cmp	#0x0,r15
	jge	trapServoLoop_LL21
	mov	#-0x1,r14
trapServoLoop_LL21:
	mov	0x4c(r6),r13
	mov	0x4e(r6),r12
	call	#__smult32
	add	r13,r5
	addc	r12,r4
DBG267:
;       if(PID>0)
	mov	#0x0,r13
	mov	#0x0,r12
	sub	r5,r13
	subc	r4,r12
	jge	trapServoLoop_L19
DBG269:
DBG268:
;       {
;         if ((PID)  > (((long int) 5000 )*95) )
	mov	#0x3f78,r13
	mov	#0x7,r12
	mov	r13,r14
	mov	r12,r15
	sub	r5,r14
	subc	r4,r15
	jge	trapServoLoop_L23
DBG272:
DBG271:
DBG270:
;         {
;         PID= (((long int) 5000 )*95) ;
;         mcChan->sum = mcChan->previousSum;
	mov	0x50(r6),0x4c(r6)
	mov	0x52(r6),0x4e(r6)
DBG274:
DBG273:
;        }
trapServoLoop_L20:
	mov	r13,r5
	mov	r12,r4
DBG276:
DBG275:
;       }
	jmp	trapServoLoop_L23
trapServoLoop_L19:
;       else
;       {
DBG277:
;         if ((PID)  < - (((long int) 5000 )*95) )
DBG278:
	mov	r5,r13
	mov	r4,r12
	sub	&__lcons1,r13
	subc	&__lcons1+0x2,r12
	jge	trapServoLoop_L23
DBG280:
DBG279:
;         {
;         PID=- (((long int) 5000 )*95) ;
	mov	&__lcons1,r5
	mov	&__lcons1+0x2,r4
DBG281:
;         mcChan->sum = mcChan->previousSum;
	mov	0x50(r6),0x4c(r6)
	mov	0x52(r6),0x4e(r6)
DBG283:
DBG282:
;        }
trapServoLoop_L22:
DBG284:
trapServoLoop_L21:
;       } 
DBG285:
;   }
DBG286:
	jmp	trapServoLoop_L23
trapServoLoop_L17:
;   else mcChan->sum = 0;
	mov	#0x0,0x4c(r6)
	mov	#0x0,0x4e(r6)
trapServoLoop_L23:
;   mcChan->previousSum=mcChan->sum;
DBG287:
	mov	0x4c(r6),0x50(r6)
	mov	0x4e(r6),0x52(r6)
DBG288:
;   mcChan->lastError = error;
	mov	r10,0x54(r6)
	mov	r9,0x56(r6)
DBG289:
;   PID=PID/ 5000 ;
	mov	r5,r13
	mov	r4,r12
	mov	#0x1388,r15
	mov	#0x0,r14
	call	#__sdiv32
	mov	r13,r4
	mov	r12,r5
DBG290:
;   if (PID < 0 )
	mov	r4,r13
	mov	r5,r12
	sub	#0x0,r13
	subc	#0x0,r12
	jge	trapServoLoop_L24
DBG292:
DBG291:
;   {
;  (( P5OUT ) |= (( 0x01 ) <<mcChan->channel*2)) ;
	mov.b	@r6,r13
	rla	r13
	mov.b	#0x1,r12
	cmp	#0x0,r13
	jeq	trapServoLoop_LL22
trapServoLoop_LL23:
	rla.b	r12
	dec	r13
	jnz	trapServoLoop_LL23
trapServoLoop_LL22:
	bis.b	r12,&0x31
DBG293:
;  (( P5OUT ) &= ~(( 0x02 ) <<mcChan->channel*2)) ;  
	mov.b	@r6,r13
	rla	r13
	mov.b	#0x2,r12
	cmp	#0x0,r13
	jeq	trapServoLoop_LL24
trapServoLoop_LL25:
	rla.b	r12
	dec	r13
	jnz	trapServoLoop_LL25
trapServoLoop_LL24:
	bic.b	r12,&0x31
DBG294:
;   PID = PID * -1;   
	mov	#0x0,r13
	mov	#0x0,r12
	sub	r4,r13
	subc	r5,r12
	mov	r13,r4
	mov	r12,r5
DBG296:
DBG295:
;   }
	jmp	trapServoLoop_L25
trapServoLoop_L24:
;   else 
;   { 
DBG297:
;  (( P5OUT ) &= ~(( 0x01 | 0x02 ) <<mcChan->channel*2)) ;  
DBG298:
	mov.b	@r6,r13
	rla	r13
	mov.b	#0x3,r12
	cmp	#0x0,r13
	jeq	trapServoLoop_LL26
trapServoLoop_LL27:
	rla.b	r12
	dec	r13
	jnz	trapServoLoop_LL27
trapServoLoop_LL26:
	bic.b	r12,&0x31
DBG299:
trapServoLoop_L25:
;   }
;   if(PID>85)
DBG300:
	mov	#0x55,r13
	mov	#0x0,r12
	sub	r4,r13
	subc	r5,r12
	jge	trapServoLoop_L26
DBG302:
DBG301:
;   {
;   mcChan->limitedFlag=true;
	mov.b	#0x1,0x66(r6)
DBG303:
;   if((mcChan->position-mcChan->lastPosition)<0)
	mov	0x12(r6),r12
	mov	0x14(r6),r13
	sub	0x16(r6),r12
	subc	0x18(r6),r13
	sub	#0x0,r12
	subc	#0x0,r13
	jge	trapServoLoop_L27
DBG305:
DBG304:
;   {
;   mcChan->maxSpeed=-1*(mcChan->position-mcChan->lastPosition);
	mov	0x12(r6),r15
	mov	0x14(r6),r14
	sub	0x16(r6),r15
	subc	0x18(r6),r14
	mov	#0x0,r12
	mov	#0x0,r13
	sub	r15,r12
	subc	r14,r13
	mov	r12,0x3a(r6)
DBG307:
DBG306:
;   }
	jmp	trapServoLoop_L28
trapServoLoop_L27:
;   else{mcChan->maxSpeed=(mcChan->position-mcChan->lastPosition);}
DBG308:
	mov	0x12(r6),r12
	mov	0x14(r6),r13
	sub	0x16(r6),r12
	subc	0x18(r6),r13
	mov	r12,0x3a(r6)
DBG309:
trapServoLoop_L28:
;   if((mcChan->maxSpeed<mcChan->minSpeed) &&(mcChan->goalPosition!=mcChan->intermediate))
DBG310:
	cmp	0x3e(r6),0x3a(r6)
	jc	trapServoLoop_L30
	mov	0x26(r6),r12
	mov	0x28(r6),r13
	sub	0x2e(r6),r12
	subc	0x30(r6),r13
	bis	r13,r12
	tst	r12
	jeq	trapServoLoop_L30
DBG312:
DBG311:
;   {
;     mcChan->reason = servoSpeedError;     
	mov.b	#0x8,0x3(r6)
DBG313:
;     errorOut(mcChan);
	mov	r6,r12
	call	#_errorOut
DBG315:
DBG314:
;   }
trapServoLoop_L29:
DBG316:
;   }
DBG317:
	jmp	trapServoLoop_L30
trapServoLoop_L26:
;   else if((mcChan->limitedFlag) &&(PID<75))
	cmp.b	#0x0,0x66(r6)
	jeq	trapServoLoop_L31
	mov	r4,r12
	mov	r5,r13
	sub	#0x4b,r12
	subc	#0x0,r13
	jge	trapServoLoop_L31
DBG319:
DBG318:
;   {
;   mcChan->limitedFlag=false;
	mov.b	#0x0,0x66(r6)
DBG320:
;   mcChan->maxSpeed=mcChan->defaultMaxSpeed;
	mov	0x3c(r6),0x3a(r6)
DBG322:
DBG321:
;   }
trapServoLoop_L31:
trapServoLoop_L30:
;  if (PID > 100  - 5 ) PID = 100  - 5 ;  
	mov	#0x5f,r12
	mov	#0x0,r14
	mov	r12,r13
	sub	r4,r13
	subc	r5,r14
	jge	trapServoLoop_L32
	mov	r12,r4
DBG323:
trapServoLoop_L32:
;  if(mcChan->channel==0)                       
	cmp.b	#0x0,0(r6)
	jne	trapServoLoop_L33
DBG324:
;   TBCCR1 = PID;   
	mov	r4,&0x194
DBG325:
	jmp	trapServoLoop_L34
trapServoLoop_L33:
;   else
;   {
DBG326:
;    TBCCR2 = PID;  
DBG327:
	mov	r4,&0x196
DBG328:
trapServoLoop_L34:
;    } 
;      mcChan->lastPosition=mcChan->position;
DBG329:
	mov	0x12(r6),0x16(r6)
	mov	0x14(r6),0x18(r6)
DBG331:
DBG330:
; EXIT
; .temp2 at stkloc 0 (0x0) size 14
	pop	r10
	pop	r9
	pop	r8
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
DBG162:
	.long 0x62622e
	.long 0x0
	.long DBG193
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG332
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG194
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG332:
	.long 0x62622e
	.long 0x0
	.long DBG194
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG333
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x60102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG333:
	.long 0x62622e
	.long 0x0
	.long DBG204
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long DBG334
	.long 0x0
	.long 0x0
	.long DBG335
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x0
	.long DBG335
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long DBG335
	.long 0x40102
	.long 0x5
	.long 0x4ffff
DBG334:
	.long 0x62622e
	.long 0x0
	.long DBG205
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long DBG336
	.long 0x0
	.long 0x0
	.long DBG337
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x0
	.long DBG337
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long DBG337
	.long 0xd0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG206
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long 0x0
	.long 0x0
DBG336:
	.long 0x62622e
	.long 0x0
	.long DBG206
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long DBG338
	.long 0x0
	.long 0x0
	.long DBG339
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x0
	.long DBG339
	.long 0x80102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long DBG339
	.long 0x70102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG210
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x16
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG239
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x38
	.long 0x0
	.long 0x0
	.long 0x0
DBG338:
	.long 0x62622e
	.long 0x0
	.long DBG243
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3f
	.long 0x0
	.long DBG340
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG253
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4c
	.long 0x0
	.long 0x0
	.long 0x0
DBG340:
	.long 0x62622e
	.long 0x0
	.long DBG255
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x51
	.long 0x0
	.long DBG341
	.long 0x0
	.long 0x6f727265
	.long 0x72
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x6f727265
	.long 0x72
	.long 0x90102
	.long 0x5
	.long 0x104ffff
	.long 0x6f727265
	.long 0x72
	.long 0xa0102
	.long 0x5
	.long 0x4ffff
DBG341:
	.long 0x62622e
	.long 0x0
	.long DBG261
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5a
	.long 0x0
	.long DBG342
	.long 0x0
	.long 0x444950
	.long 0x0
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x444950
	.long 0x0
	.long 0x40102
	.long 0x5
	.long 0x104ffff
	.long 0x444950
	.long 0x0
	.long 0x50102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG275
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6d
	.long 0x0
	.long 0x0
	.long 0x0
DBG342:
	.long 0x62622e
	.long 0x0
	.long DBG275
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6d
	.long 0x0
	.long DBG343
	.long 0x0
	.long 0x444950
	.long 0x0
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x444950
	.long 0x0
	.long 0x40102
	.long 0x5
	.long 0x104ffff
	.long 0x444950
	.long 0x0
	.long 0x50102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG290
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x83
	.long 0x0
	.long 0x0
	.long 0x0
DBG343:
	.long 0x62622e
	.long 0x0
	.long DBG290
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x83
	.long 0x0
	.long DBG344
	.long 0x0
	.long 0x444950
	.long 0x0
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x444950
	.long 0x0
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x444950
	.long 0x0
	.long 0x40102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x88
	.long 0x0
	.long 0x0
	.long 0x0
DBG344:
	.long 0x62622e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x88
	.long 0x0
	.long DBG345
	.long 0x0
	.long 0x444950
	.long 0x0
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x444950
	.long 0x0
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x444950
	.long 0x0
	.long 0x40102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG330
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG330
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG330
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG331
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x120
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG188:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG191
	.long DBG188
	.long 0x0
	.long 0xff0001
; }
; static __inline__  int32 nextPos (int32 previous, uint16 encoderValue)
; }
; void getNewPos(MotorChannel* mc)
DBG187:
	.long 0x0
	.long DBG350
	.long _getNewPos
	.long 0x40
	.long 0x1020001
	.long DBG192
	.long DBG347-DBG348
	.long DBG349
	.long DBG346
	.long 0x0
	.pseg TrapServo_code
DBG348:
	.dbgseg dbg_syms
DBG192:
	.long 0x66622e
	.long 0x0
	.long DBG348
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x12e
	.long 0x0
	.long DBG351
	.long 0x0
	.dbgseg dbg_line
DBG349:
	.long DBG187
	.long 0x0
	.long _getNewPos
	.long 0x1
	.long DBG353
	.long 0x2
	.long DBG354
	.long 0x4
	.long DBG355
	.long 0x5
	.long DBG366
	.long 0x6
	.long DBG369
	.long 0x8
	.long DBG372
	.long 0x9
	.long DBG375
	.long 0xa
	.long DBG376
	.long 0xb
	.long DBG386
	.long 0xc
	.long DBG396
	.long 0xd
	.pseg TrapServo_code
	.global _getNewPos
_getNewPos:
	push	r4
	push	r5
	push	r6
	push	r7
DBG354:
DBG353:
DBG352:
; ENTRY
; mc at argloc 0 (0x0) in reg  size 2
; encoderValue0 in reg  size 2
; encoderValue1 in reg  size 2
; result in reg  size 1
; result in reg  size 1
; result in reg  size 1
; result in reg  size 1
; previous in reg  size 4
; current in reg  size 4
; delta in reg  size 4
; previous in reg  size 4
; current in reg  size 4
; delta in reg  size 4
; {
;   uint16 encoderValue0,encoderValue1;
;   _DINT(); _NOP();
	dint
	nop
DBG357:
DBG356:
DBG355:
;   encoderValue0 = readDWRFfirst( 4 );
; {
;   return setDWRFadr(baseAdr), floatDWRFbus(), readDWRFnext();
; {
;   P1OUT  = adr;
	mov.b	#0x4,&0x21
DBG358:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG359:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG361:
DBG360:
; {
;   P1DIR  = 0;     
	mov.b	#0x0,&0x22
DBG363:
DBG362:
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r15
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG365:
DBG364:
;   return result;
	and	#0xff,r15
DBG367:
DBG366:
;   encoderValue0 |= readDWRFnext() <<8;
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r13
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG368:
;   return result;
	and	#0xff,r13
	and.b	#0xff,r13
	swpb	r13
	bis	r13,r15
DBG370:
DBG369:
;   encoderValue1 = readDWRFnext();
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r7
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG371:
;   return result;
	and	#0xff,r7
DBG373:
DBG372:
;   encoderValue1 |= readDWRFlast() <<8;
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r13
;  (( P3OUT ) |= ( 0x01 | 0x10 )) ;
	bis.b	#0x11,&0x19
DBG374:
;   return result;
	and	#0xff,r13
	and.b	#0xff,r13
	swpb	r13
	bis	r13,r7
DBG375:
;   _EINT();
	eint
DBG377:
DBG376:
;   mc[0].position = nextPos (mc[0].position, encoderValue0);  
; {
	mov	0x12(r12),r5
	mov	0x14(r12),r13
DBG378:
;   int32 current = (previous & 0xffff0000) | encoderValue;  
	mov	#0x0,r14
	bis	r15,r14
DBG379:
;   int32 delta = current - previous;  
	mov	r14,r15
	mov	r13,r4
	sub	r5,r15
	subc	r13,r4
DBG380:
;   if (delta > 0x7fff)                 
	mov	#0x7fff,r6
	mov	#0x0,r5
	sub	r15,r6
	subc	r4,r5
	jge	getNewPos_L1
DBG381:
;    current -= 0x10000; 
	sub	#0x0,r14
	subc	#0x1,r13
DBG382:
	jmp	getNewPos_L2
getNewPos_L1:
;   else if (delta < -0x7fff)           
	sub	#0x8001,r15
	subc	#-0x1,r4
	jge	getNewPos_L3
DBG383:
;    current += 0x10000;
	add	#0x1,r13
DBG384:
getNewPos_L3:
getNewPos_L2:
;   return current;
DBG385:
	mov	r14,0x12(r12)
	mov	r13,0x14(r12)
DBG387:
DBG386:
;   mc[1].position = nextPos (mc[1].position, encoderValue1);
; {
	mov	0x82(r12),r15
	mov	0x84(r12),r13
DBG388:
;   int32 current = (previous & 0xffff0000) | encoderValue;  
	mov	#0x0,r14
	bis	r7,r14
DBG389:
;   int32 delta = current - previous;  
	mov	r14,r4
	mov	r13,r5
	sub	r15,r4
	subc	r13,r5
DBG390:
;   if (delta > 0x7fff)                 
	mov	#0x7fff,r15
	mov	#0x0,r6
	sub	r4,r15
	subc	r5,r6
	jge	getNewPos_L4
DBG391:
;    current -= 0x10000; 
	sub	#0x0,r14
	subc	#0x1,r13
DBG392:
	jmp	getNewPos_L5
getNewPos_L4:
;   else if (delta < -0x7fff)           
	sub	#0x8001,r4
	subc	#-0x1,r5
	jge	getNewPos_L6
DBG393:
;    current += 0x10000;
	add	#0x1,r13
DBG394:
getNewPos_L6:
getNewPos_L5:
;   return current;
DBG395:
	mov	r14,0x82(r12)
	mov	r13,0x84(r12)
DBG397:
DBG396:
; EXIT
; .temp3 at stkloc 0 (0x0) size 8
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x636d
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG345:
	.long 0x62622e
	.long 0x0
	.long DBG364
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG398
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xf0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG366
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG398:
	.long 0x62622e
	.long 0x0
	.long DBG366
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG399
	.long 0x0
	.long 0x0
	.long DBG400
	.long 0xf0102
	.long 0xd
	.long 0x4ffff
DBG399:
	.long 0x62622e
	.long 0x0
	.long DBG368
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG401
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xd0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG369
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
DBG401:
	.long 0x62622e
	.long 0x0
	.long DBG371
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG402
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0x70102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG372
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
DBG402:
	.long 0x62622e
	.long 0x0
	.long DBG372
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG403
	.long 0x0
	.long 0x0
	.long DBG404
	.long 0x70102
	.long 0xd
	.long 0x4ffff
DBG403:
	.long 0x62622e
	.long 0x0
	.long DBG374
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG405
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xd0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG375
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG405:
	.long 0x62622e
	.long 0x0
	.long DBG375
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long DBG406
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0x70102
	.long 0xc
	.long 0x4ffff
DBG406:
	.long 0x62622e
	.long 0x0
	.long DBG378
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff8
	.long 0x0
	.long DBG407
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0x50102
	.long 0x5
	.long 0x4ffff
DBG407:
	.long 0x62622e
	.long 0x0
	.long DBG379
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff9
	.long 0x0
	.long DBG408
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long 0x0
	.long 0x0
DBG408:
	.long 0x62622e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG409
	.long 0x0
	.long 0x0
	.long DBG404
	.long 0x70102
	.long 0xd
	.long 0x4ffff
	.long 0x75736572
	.long 0x746c
	.long 0x70102
	.long 0xc
	.long 0x4ffff
DBG409:
	.long 0x62622e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG410
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
DBG410:
	.long 0x62622e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG411
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0x50102
	.long 0x5
	.long 0x4ffff
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
DBG411:
	.long 0x62622e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG412
	.long 0x0
	.long 0x746c6564
	.long 0x61
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x746c6564
	.long 0x61
	.long 0x40102
	.long 0x5
	.long 0x104ffff
	.long 0x746c6564
	.long 0x61
	.long 0xf0102
	.long 0x5
	.long 0x4ffff
DBG412:
	.long 0x62622e
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG413
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0x50102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG381
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffb
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG383
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG388
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff8
	.long 0x0
	.long 0x0
	.long 0x0
DBG413:
	.long 0x62622e
	.long 0x0
	.long DBG388
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff8
	.long 0x0
	.long DBG414
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xf0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG389
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff9
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG389
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff9
	.long 0x0
	.long 0x0
	.long 0x0
DBG414:
	.long 0x62622e
	.long 0x0
	.long DBG389
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff9
	.long 0x0
	.long DBG415
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xf0102
	.long 0x5
	.long 0x4ffff
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
DBG415:
	.long 0x62622e
	.long 0x0
	.long DBG389
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfff9
	.long 0x0
	.long DBG416
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xd0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xf0102
	.long 0x5
	.long 0x4ffff
DBG416:
	.long 0x62622e
	.long 0x0
	.long DBG390
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffa
	.long 0x0
	.long DBG417
	.long 0x0
	.long 0x746c6564
	.long 0x61
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x746c6564
	.long 0x61
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x746c6564
	.long 0x61
	.long 0x40102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG391
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffb
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG391
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffb
	.long 0x0
	.long 0x0
	.long 0x0
DBG417:
	.long 0x62622e
	.long 0x0
	.long DBG391
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffb
	.long 0x0
	.long DBG418
	.long 0x0
	.long 0x746c6564
	.long 0x61
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x746c6564
	.long 0x61
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x746c6564
	.long 0x61
	.long 0x40102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG392
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffc
	.long 0x0
	.long 0x0
	.long 0x0
DBG418:
	.long 0x62622e
	.long 0x0
	.long DBG392
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffc
	.long 0x0
	.long DBG419
	.long 0x0
	.long 0x746c6564
	.long 0x61
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x746c6564
	.long 0x61
	.long 0x50102
	.long 0x5
	.long 0x104ffff
	.long 0x746c6564
	.long 0x61
	.long 0x40102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG393
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xfffd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG396
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG396
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG397
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x13a
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG347:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG350
	.long DBG347
	.long 0x0
	.long 0xff0001
; }
; void getLatchPos(MotorChannel* mc)
DBG346:
	.long 0x0
	.long DBG424
	.long _getLatchPos
	.long 0x40
	.long 0x1020001
	.long DBG351
	.long DBG421-DBG422
	.long DBG423
	.long DBG420
	.long 0x0
	.pseg TrapServo_code
DBG422:
	.dbgseg dbg_syms
DBG351:
	.long 0x66622e
	.long 0x0
	.long DBG422
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x13c
	.long 0x0
	.long DBG425
	.long 0x0
	.dbgseg dbg_line
DBG423:
	.long DBG346
	.long 0x0
	.long _getLatchPos
	.long 0x1
	.long DBG427
	.long 0x2
	.long DBG428
	.long 0x4
	.long DBG429
	.long 0x5
	.long DBG440
	.long 0x6
	.long DBG443
	.long 0x8
	.long DBG446
	.long 0x9
	.long DBG449
	.long 0xa
	.long DBG450
	.long 0xb
	.long DBG451
	.long 0xc
	.long DBG461
	.long 0xd
	.long DBG462
	.long 0xe
	.long DBG463
	.long 0xf
	.pseg TrapServo_code
	.global _getLatchPos
_getLatchPos:
	push	r4
	push	r5
	push	r6
DBG426:
; ENTRY
	mov	r12,r6
DBG428:
DBG427:
; mc at argloc 0 (0x0) in reg  size 2
; latchValue in reg  size 2
; latchValue1 in reg  size 2
; result in reg  size 1
; result in reg  size 1
; result in reg  size 1
; result in reg  size 1
; previous in reg  size 4
; current in reg  size 4
; delta in reg  size 4
; {
;   uint16 latchValue,latchValue1;
;   _DINT(); _NOP();
	dint
	nop
DBG431:
DBG430:
DBG429:
;   latchValue = readDWRFfirst( 8 );
; {
;   return setDWRFadr(baseAdr), floatDWRFbus(), readDWRFnext();
; {
;   P1OUT  = adr;
	mov.b	#0x8,&0x21
DBG432:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG433:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG435:
DBG434:
; {
;   P1DIR  = 0;     
	mov.b	#0x0,&0x22
DBG437:
DBG436:
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r15
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG439:
DBG438:
;   return result;
	and	#0xff,r15
DBG441:
DBG440:
;   latchValue |= readDWRFnext() <<8;
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r12
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG442:
;   return result;
	and	#0xff,r12
	and.b	#0xff,r12
	swpb	r12
	bis	r12,r15
DBG444:
DBG443:
;   latchValue1 = readDWRFnext();
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r12
;  (( P3OUT ) |= ( 0x10 )) ;
	bis.b	#0x10,&0x19
DBG445:
;   return result;
	and	#0xff,r12
DBG447:
DBG446:
;   latchValue1 |= readDWRFlast() <<8;
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r13
;  (( P3OUT ) |= ( 0x01 | 0x10 )) ;
	bis.b	#0x11,&0x19
DBG448:
;   return result;
	and	#0xff,r13
	and.b	#0xff,r13
	swpb	r13
	bis	r13,r12
DBG449:
;   _EINT();
	eint
DBG450:
;   if (mc->channel) latchValue = latchValue1;
	cmp.b	#0x0,0(r6)
	jeq	getLatchPos_L1
	mov	r12,r15
DBG451:
getLatchPos_L1:
;   mc->latchPosition = nextPos (mc->position, latchValue);
; {
DBG452:
	mov	0x12(r6),r14
	mov	0x14(r6),r12
DBG453:
;   int32 current = (previous & 0xffff0000) | encoderValue;  
	mov	#0x0,r13
	bis	r15,r13
DBG454:
;   int32 delta = current - previous;  
	mov	r13,r4
	mov	r12,r15
	sub	r14,r4
	subc	r12,r15
DBG455:
;   if (delta > 0x7fff)                 
	mov	#0x7fff,r14
	mov	#0x0,r5
	sub	r4,r14
	subc	r15,r5
	jge	getLatchPos_L2
DBG456:
;    current -= 0x10000; 
	sub	#0x0,r13
	subc	#0x1,r12
DBG457:
	jmp	getLatchPos_L3
getLatchPos_L2:
;   else if (delta < -0x7fff)           
	sub	#0x8001,r4
	subc	#-0x1,r15
	jge	getLatchPos_L4
DBG458:
;    current += 0x10000;
	add	#0x1,r12
DBG459:
getLatchPos_L4:
getLatchPos_L3:
;   return current;
DBG460:
	mov	r13,0x68(r6)
	mov	r12,0x6a(r6)
DBG461:
;  reportErr ("Latch Pos %lx", mc->latchPosition);
	push	0x6a(r6)
	push	0x68(r6)
	push	#TrapServo_V3
	call	#_reportErr
	add	#0x6,sp
DBG462:
;  reportErr ("Pos %lx",mc->position);
	push	0x14(r6)
	push	0x12(r6)
	push	#TrapServo_V4
	call	#_reportErr
	add	#0x6,sp
DBG464:
DBG463:
; EXIT
; .temp4 at stkloc 0 (0x0) size 6
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
DBG419:
	.long 0x62622e
	.long 0x0
	.long DBG426
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG465
	.long 0x0
	.long 0x636d
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG427
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG465:
	.long 0x62622e
	.long 0x0
	.long DBG427
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG466
	.long 0x0
	.long 0x636d
	.long 0x0
	.long 0x60102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG466:
	.long 0x62622e
	.long 0x0
	.long DBG438
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG467
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xf0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG440
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG467:
	.long 0x62622e
	.long 0x0
	.long DBG440
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG468
	.long 0x0
	.long 0x0
	.long DBG469
	.long 0xf0102
	.long 0xd
	.long 0x4ffff
DBG468:
	.long 0x62622e
	.long 0x0
	.long DBG442
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG470
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG443
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
DBG470:
	.long 0x62622e
	.long 0x0
	.long DBG445
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG471
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG446
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
DBG471:
	.long 0x62622e
	.long 0x0
	.long DBG446
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG472
	.long 0x0
	.long 0x0
	.long DBG473
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
DBG472:
	.long 0x62622e
	.long 0x0
	.long DBG448
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG474
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xd0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG449
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG474:
	.long 0x62622e
	.long 0x0
	.long DBG449
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long DBG475
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG451
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG451
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG451
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
DBG475:
	.long 0x62622e
	.long 0x0
	.long DBG451
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long DBG476
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xf0102
	.long 0xc
	.long 0x4ffff
DBG476:
	.long 0x62622e
	.long 0x0
	.long DBG451
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long DBG477
	.long 0x0
	.long 0x0
	.long DBG473
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x75736572
	.long 0x746c
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG453
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffea
	.long 0x0
	.long 0x0
	.long 0x0
DBG477:
	.long 0x62622e
	.long 0x0
	.long DBG453
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffea
	.long 0x0
	.long DBG478
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
DBG478:
	.long 0x62622e
	.long 0x0
	.long DBG454
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffeb
	.long 0x0
	.long DBG479
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x4ffff
	.long 0x0
	.long DBG469
	.long 0xf0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long 0x0
	.long 0x0
DBG479:
	.long 0x62622e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long DBG480
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
	.long 0x72727563
	.long 0x746e65
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0x5
	.long 0x4ffff
DBG480:
	.long 0x62622e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long DBG481
	.long 0x0
	.long 0x746c6564
	.long 0x61
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x746c6564
	.long 0x61
	.long 0xf0102
	.long 0x5
	.long 0x104ffff
	.long 0x746c6564
	.long 0x61
	.long 0x40102
	.long 0x5
	.long 0x4ffff
DBG481:
	.long 0x62622e
	.long 0x0
	.long DBG455
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffec
	.long 0x0
	.long DBG482
	.long 0x0
	.long 0x76657270
	.long 0x73756f69
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x76657270
	.long 0x73756f69
	.long 0xe0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG456
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffed
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG458
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xffef
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG462
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG463
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG464
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x14a
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG421:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG424
	.long DBG421
	.long 0x0
	.long 0xff0001
; }
; void configMotorChannel(MotorChannel* mc,byte channel)
DBG420:
	.long 0x0
	.long DBG487
	.long _configMotorChannel
	.long 0x40
	.long 0x1020001
	.long DBG425
	.long DBG484-DBG485
	.long DBG486
	.long DBG483
	.long 0x0
	.pseg TrapServo_code
DBG485:
	.dbgseg dbg_syms
DBG425:
	.long 0x66622e
	.long 0x0
	.long DBG485
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x14b
	.long 0x0
	.long DBG488
	.long 0x0
	.dbgseg dbg_line
DBG486:
	.long DBG420
	.long 0x0
	.long _configMotorChannel
	.long 0x1
	.long DBG490
	.long 0x2
	.long DBG491
	.long 0x3
	.long DBG492
	.long 0x4
	.long DBG493
	.long 0x5
	.long DBG494
	.long 0x6
	.long DBG495
	.long 0x7
	.long DBG496
	.long 0x8
	.long DBG497
	.long 0x9
	.long DBG498
	.long 0xa
	.long DBG499
	.long 0xb
	.long DBG500
	.long 0xc
	.long DBG501
	.long 0xd
	.long DBG502
	.long 0xe
	.long DBG503
	.long 0xf
	.long DBG504
	.long 0x10
	.long DBG505
	.long 0x11
	.long DBG506
	.long 0x12
	.long DBG507
	.long 0x13
	.long DBG508
	.long 0x14
	.long DBG509
	.long 0x15
	.long DBG510
	.long 0x16
	.long DBG511
	.long 0x17
	.long DBG512
	.long 0x18
	.long DBG513
	.long 0x19
	.long DBG514
	.long 0x1a
	.long DBG515
	.long 0x1b
	.pseg TrapServo_code
	.global _configMotorChannel
_configMotorChannel:
; ENTRY
DBG489:
; mc at argloc 0 (0x0) in reg  size 2
; channel at argloc 0 (0x0) in reg  size 1
; {
DBG490:
;    	mc->lastIntermediate=mc->position;
DBG491:
	mov	0x12(r12),0x1e(r12)
	mov	0x14(r12),0x20(r12)
DBG492:
; 	mc->lastPosition=mc->position;
	mov	0x12(r12),0x16(r12)
	mov	0x14(r12),0x18(r12)
DBG493:
; 	mc->goalPosition=mc->position;
	mov	0x12(r12),0x26(r12)
	mov	0x14(r12),0x28(r12)
DBG494:
; 	mc->intermediate=mc->position;
	mov	0x12(r12),0x2e(r12)
	mov	0x14(r12),0x30(r12)
DBG495:
; 	mc->maxSpeed=mc->defaultMaxSpeed=0;
	mov	#0x0,0x3c(r12)
	mov	0x3c(r12),0x3a(r12)
DBG496:
; 	mc->stopFlag=0;
	mov.b	#0x0,0x44(r12)
DBG497:
; 	mc->cmdVel=0;
	mov	#0x0,0x40(r12)
DBG498:
; 	mc->gain.P=0;
	mov	#0x0,0x46(r12)
DBG499:
; 	mc->gain.D=0;
	mov	#0x0,0x4a(r12)
DBG500:
; 	mc->gain.I=0;
	mov	#0x0,0x48(r12)
DBG501:
; 	mc->sum=0;
	mov	#0x0,0x4c(r12)
	mov	#0x0,0x4e(r12)
DBG502:
; 	mc->previousSum=0;
	mov	#0x0,0x50(r12)
	mov	#0x0,0x52(r12)
DBG503:
; 	mc->maxCurrent=4096;
	mov	#0x1000,0x64(r12)
DBG504:
; 	mc->lastError=0;
	mov	#0x0,0x54(r12)
	mov	#0x0,0x56(r12)
DBG505:
; 	mc->accel=0;
	mov	#0x0,0x42(r12)
DBG506:
; 	mc->channel = channel;
	mov.b	r13,0(r12)
DBG507:
; 	mc->statusMask=0;
	mov.b	#0x0,0x2(r12)
DBG508:
; 	mc->optionMask = 0;
	mov.b	#0x0,0x1(r12)
DBG509:
; 	mc->reason = 0;
	mov.b	#0x0,0x3(r12)
DBG510:
; 	mc->pressure1=0;
	mov	#0x0,0x36(r12)
DBG511:
; 	mc->pressure2=0;
	mov	#0x0,0x38(r12)
DBG512:
; 	mc->pressureSenseSwitch=0;
	mov.b	#0x0,0x67(r12)
DBG513:
; 	mc->servoTics=0;
	mov	#0x0,0x6c(r12)
DBG514:
;  ((mc->statusMask) |= (servoLostHome)) ; 
	bis.b	#0x2,0x2(r12)
DBG516:
DBG515:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x6e616863
	.long 0x6c656e
	.long 0xd0102
	.long 0xc
	.long 0x11ffff
	.long 0x636d
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG516
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x165
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG484:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG487
	.long DBG484
	.long 0x0
	.long 0xff0001
; }
; void initServo(void)
DBG483:
	.long 0x0
	.long DBG521
	.long _initServo
	.long 0x40
	.long 0x1020001
	.long DBG488
	.long DBG518-DBG519
	.long DBG520
	.long DBG517
	.long 0x0
	.pseg TrapServo_code
DBG519:
	.dbgseg dbg_syms
DBG488:
	.long 0x66622e
	.long 0x0
	.long DBG519
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x166
	.long 0x0
	.long DBG522
	.long 0x0
	.dbgseg dbg_line
DBG520:
	.long DBG483
	.long 0x0
	.long _initServo
	.long 0x1
	.long DBG524
	.long 0x2
	.long DBG525
	.long 0x5
	.long DBG526
	.long 0x7
	.long DBG527
	.long 0xd
	.long DBG528
	.long 0xe
	.long DBG529
	.long 0x12
	.long DBG530
	.long 0x13
	.long DBG531
	.long 0x17
	.long DBG532
	.long 0x19
	.long DBG533
	.long 0x1b
	.long DBG534
	.long 0x1c
	.long DBG535
	.long 0x1d
	.long DBG536
	.long 0x1e
	.long DBG537
	.long 0x20
	.long DBG538
	.long 0x22
	.long DBG539
	.long 0x24
	.long DBG540
	.long 0x26
	.long DBG541
	.long 0x28
	.long DBG542
	.long 0x2c
	.long DBG543
	.long 0x2f
	.pseg TrapServo_code
	.global _initServo
_initServo:
	push	r4
DBG525:
DBG524:
DBG523:
; ENTRY
; {
;  clear_cpld_bit( 14 , 0x08  | 0x80 );
	mov.b	#0x88,r13
	mov.b	#0xe,r12
	call	#_clear_cpld_bit
DBG526:
;  clear_cpld_bit( 15 , 0x20 );
	mov.b	#0x20,r13
	mov.b	#0xf,r4
	mov	r4,r12
	call	#_clear_cpld_bit
DBG527:
;  P4DIR |=( 0x02 | 0x04 | 0x08 | 0x20 );
	mov.b	#0x2e,r12
	bis.b	r12,&0x1e
DBG528:
;  P4SEL |=( 0x02 | 0x04 | 0x08 | 0x20 );
	bis.b	r12,&0x1f
DBG529:
;  P5OUT  =( 0x08 | 0x04 | 0x02 | 0x01 );
	mov.b	r4,&0x31
DBG530:
;  P5DIR  |= ( 0x08 | 0x04 | 0x02 | 0x01 );
	bis.b	r4,&0x32
DBG531:
;  TBCTL = ( (0x0200)  | (0x0004) );
	mov	#0x204,&0x180
DBG532:
;  TBCCR0 = 100 ;  
	mov	#0x64,&0x192
DBG533:
;  TBCCTL1 = 0x0240 ;
	mov	#0x240,r12
	mov	r12,&0x184
DBG534:
;  TBCCTL2 = 0x0240 ;
	mov	r12,&0x186
DBG535:
;  TBCCTL3 = 0x0240 ;
	mov	r12,&0x188
DBG536:
;  TBCCTL5 = 0x0240 ;
	mov	r12,&0x18c
DBG537:
;  TBCCR1 = 0;
	mov	#0x0,&0x194
DBG538:
;  TBCCR2 = 0;
	mov	#0x0,&0x196
DBG539:
;  TBCCR3 = 0;
	mov	#0x0,&0x198
DBG540:
;  TBCCR5 = 80;
	mov	#0x50,&0x19c
DBG541:
;  TBCTL |= ( (0x0020)  | (0x0010) );
	bis	#0x30,&0x180
DBG542:
;  (( P5OUT ) &= ~( 0x02  | 0x08 )) ; 
	and.b	#0xf5,&0x31
DBG544:
DBG543:
; EXIT
; .temp5 at stkloc 0 (0x0) size 2
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x66652e
	.long 0x0
	.long DBG544
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x194
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG518:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG521
	.long DBG518
	.long 0x0
	.long 0xff0001
; }
; int32 CalculateDerivativeTerm(MotorChannel* mc, byte channel,int32 error)
DBG517:
	.long 0x0
	.long DBG549
	.long _CalculateDerivativeTerm
	.long 0x45
	.long 0x1020001
	.long DBG522
	.long DBG546-DBG547
	.long DBG548
	.long DBG545
	.long 0x0
	.pseg TrapServo_code
DBG547:
	.dbgseg dbg_syms
DBG522:
	.long 0x66622e
	.long 0x0
	.long DBG547
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x196
	.long 0x0
	.long DBG550
	.long 0x0
	.dbgseg dbg_line
DBG548:
	.long DBG517
	.long 0x0
	.long _CalculateDerivativeTerm
	.long 0x1
	.long DBG552
	.long 0x2
	.long DBG553
	.long 0x3
	.long DBG554
	.long 0x4
	.long DBG555
	.long 0x5
	.long DBG556
	.long 0x6
	.long DBG557
	.long 0x7
	.long DBG558
	.long 0x8
	.long DBG559
	.long 0xa
	.long DBG560
	.long 0xd
	.long DBG561
	.long 0xf
	.pseg TrapServo_code
	.global _CalculateDerivativeTerm
_CalculateDerivativeTerm:
; ENTRY
DBG551:
; deltaTnum in reg  size 4
; delatTden in reg  size 4
; lambdaNum in reg  size 4
; lambdaDen in reg  size 4
; CFnum in reg  size 4
; CFden in reg  size 4
; newDerivativeTerm in reg  size 4
; {
DBG552:
;     int32 deltaTnum=1;
DBG553:
;     int32 delatTden=32;
DBG554:
;     int32 lambdaNum=32;
DBG555:
;     int32 lambdaDen=100;
DBG556:
;     int32 CFnum=100;
DBG557:
;     int32 CFden=1124;
DBG558:
;     int32 newDerivativeTerm;
;      newDerivativeTerm=0;
DBG559:
	mov	#0x0,r13
	mov	#0x0,r12
DBG562:
DBG561:
DBG560:
;     return newDerivativeTerm;
; EXIT
	ret
	.dbgseg dbg_syms
DBG482:
	.long 0x62622e
	.long 0x0
	.long DBG560
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long DBG563
	.long 0x0
	.long 0x0
	.long DBG564
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x0
	.long DBG564
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x0
	.long DBG564
	.long 0xd0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG561
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG562
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1a4
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG546:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG549
	.long DBG546
	.long 0x0
	.long 0xff0001
; }
; ****** Warning: Symbol ``error'' (function CalculateDerivativeTerm) was defined, but not used
; ****** Warning: Symbol ``mc'' (function CalculateDerivativeTerm) was defined, but not used
; ****** Warning: Symbol ``channel'' (function CalculateDerivativeTerm) was defined, but not used
; enum servoStatusBits updateStatus(MotorChannel* mc)
DBG545:
	.long 0x0
	.long DBG569
	.long _updateStatus
	.long 0x4a
	.long 0x1020001
	.long servoStatusBits_2
	.long DBG566-DBG567
	.long DBG568
	.long DBG565
	.long 0x0
	.pseg TrapServo_code
DBG567:
	.dbgseg dbg_syms
DBG550:
	.long 0x66622e
	.long 0x0
	.long DBG567
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1a5
	.long 0x0
	.long DBG570
	.long 0x0
	.dbgseg dbg_line
DBG568:
	.long DBG545
	.long 0x0
	.long _updateStatus
	.long 0x1
	.long DBG572
	.long 0x2
	.long DBG573
	.long 0x4
	.long DBG574
	.long 0x7
	.long DBG575
	.long 0x8
	.long DBG586
	.long 0x9
	.long DBG587
	.long 0xb
	.long DBG588
	.long 0xc
	.long DBG589
	.long 0xd
	.long DBG590
	.long 0xe
	.long DBG591
	.long 0xf
	.long DBG592
	.long 0x10
	.long DBG594
	.long 0x11
	.long DBG595
	.long 0x12
	.long DBG596
	.long 0x13
	.long DBG597
	.long 0x14
	.long DBG598
	.long 0x15
	.long DBG599
	.long 0x16
	.long DBG601
	.long 0x18
	.long DBG602
	.long 0x19
	.pseg TrapServo_code
	.global _updateStatus
_updateStatus:
; ENTRY
DBG571:
; mc at argloc 0 (0x0) in reg  size 2
; limitReg in reg  size 1
; tempMask in reg  size 1
; result in reg  size 1
; {
DBG572:
;  byte limitReg;
;  enum servoStatusBits tempMask = 0;
DBG573:
	mov.b	#0x0,r13
DBG574:
;   _DINT();_NOP();
	dint
	nop
DBG577:
DBG576:
DBG575:
;   limitReg = readDWRF( 3 );
; {  
;   return setDWRFadr(adr), floatDWRFbus(), readDWRFlast();
; {
;   P1OUT  = adr;
	mov.b	#0x3,&0x21
DBG578:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG579:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG581:
DBG580:
; {
;   P1DIR  = 0;     
	mov.b	#0x0,&0x22
DBG583:
DBG582:
; {
;   byte result;
;  (( P3OUT ) &= ~( 0x10 )) ;
	and.b	#0xef,&0x19
;   result = P1IN ;
	mov.b	&0x20,r14
;  (( P3OUT ) |= ( 0x01 | 0x10 )) ;
	bis.b	#0x11,&0x19
DBG586:
DBG585:
DBG584:
;   return result;
;   _EINT();
	eint
DBG587:
;   if(mc->channel)
	cmp.b	#0x0,0(r12)
	jeq	updateStatus_L1
DBG589:
DBG588:
;   {
;   if(limitReg &  ( 0x10 )) tempMask|=servoRLS;
	bit.b	#0x10,r14
	jeq	updateStatus_L2
	bis.b	#0x10,r13
DBG590:
updateStatus_L2:
;   if(limitReg & ( 0x20 )) tempMask|=servoFLS;
	bit.b	#0x20,r14
	jeq	updateStatus_L3
	bis.b	#0x20,r13
DBG591:
updateStatus_L3:
;   if(limitReg & ( 0x40 )) tempMask|=servoHomeFlag;
	bit.b	#0x40,r14
	jeq	updateStatus_L5
	bis.b	#0x4,r13
DBG592:
updateStatus_L4:
DBG593:
;   }
DBG594:
	jmp	updateStatus_L5
updateStatus_L1:
;   else
;   {
DBG595:
;   if(limitReg &  0x01 ) tempMask|=servoRLS;
DBG596:
	bit.b	#0x1,r14
	jeq	updateStatus_L6
	bis.b	#0x10,r13
DBG597:
updateStatus_L6:
;   if(limitReg & 0x02 ) tempMask|=servoFLS;
	bit.b	#0x2,r14
	jeq	updateStatus_L7
	bis.b	#0x20,r13
DBG598:
updateStatus_L7:
;   if(limitReg & 0x04 ) tempMask|=servoHomeFlag;
	bit.b	#0x4,r14
	jeq	updateStatus_L8
	bis.b	#0x4,r13
DBG599:
updateStatus_L8:
DBG600:
updateStatus_L5:
;   }
;   return mc->statusMask |= tempMask;  
DBG601:
	bis.b	r13,0x2(r12)
	mov.b	0x2(r12),r12
DBG603:
DBG602:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x636d
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG563:
	.long 0x62622e
	.long 0x0
	.long DBG574
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long DBG604
	.long 0x0
	.long 0x706d6574
	.long 0x6b73614d
	.long 0xd0102
	.long 0xa
	.long 0x104ffff
	.long servoStatusBits_2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
DBG604:
	.long 0x62622e
	.long 0x0
	.long DBG584
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG605
	.long 0x0
	.long 0x75736572
	.long 0x746c
	.long 0xe0102
	.long 0xc
	.long 0x4ffff
	.long 0x696d696c
	.long 0x67655274
	.long 0xe0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG602
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG602
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x19
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG603
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1bd
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG566:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG569
	.long DBG566
	.long 0x0
	.long 0xff0001
; }
; int32 getPosition (MotorChannel *mc)
DBG565:
	.long 0x0
	.long DBG610
	.long _getPosition
	.long 0x45
	.long 0x1020001
	.long DBG570
	.long DBG607-DBG608
	.long DBG609
	.long DBG606
	.long 0x0
	.pseg TrapServo_code
DBG608:
	.dbgseg dbg_syms
DBG570:
	.long 0x66622e
	.long 0x0
	.long DBG608
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1bf
	.long 0x0
	.long DBG611
	.long 0x0
	.dbgseg dbg_line
DBG609:
	.long DBG565
	.long 0x0
	.long _getPosition
	.long 0x1
	.long DBG613
	.long 0x2
	.long DBG614
	.long 0x4
	.long DBG615
	.long 0x5
	.long DBG616
	.long 0x6
	.long DBG617
	.long 0x7
	.long DBG618
	.long 0x8
	.pseg TrapServo_code
	.global _getPosition
_getPosition:
; ENTRY
DBG612:
; mc at argloc 0 (0x0) in reg  size 2
; pos in reg  size 4
; oldSR in reg  size 2
; {
DBG613:
;   int32 pos;
;   unsigned oldSR = _BIC_SR ( (0x0008) );  
DBG614:
; ****** Warning:  _BIC_SR now returns initial value of SR, not final value
	mov	sr,r14
	dint
DBG615:
;   pos = mc->position;
	mov	0x12(r12),r13
	mov	0x14(r12),r12
DBG616:
;   _BIS_SR (oldSR);    
	bis	r14,sr
DBG619:
DBG618:
DBG617:
;   return pos;
; EXIT
	ret
	.dbgseg dbg_syms
DBG605:
	.long 0x62622e
	.long 0x0
	.long DBG612
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG620
	.long 0x0
	.long 0x636d
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG620:
	.long 0x62622e
	.long 0x0
	.long DBG615
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG621
	.long 0x0
	.long 0x53646c6f
	.long 0x52
	.long 0xe0102
	.long 0xe
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG616
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG616
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG621:
	.long 0x62622e
	.long 0x0
	.long DBG616
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG622
	.long 0x0
	.long 0x53646c6f
	.long 0x52
	.long 0xe0102
	.long 0xe
	.long 0x4ffff
	.long 0x736f70
	.long 0x0
	.long 0x200
	.long 0x5
	.long 0x204ffff
	.long 0x736f70
	.long 0x0
	.long 0xc0102
	.long 0x5
	.long 0x104ffff
	.long 0x736f70
	.long 0x0
	.long 0xd0102
	.long 0x5
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG618
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG619
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1c6
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG607:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG610
	.long DBG607
	.long 0x0
	.long 0xff0001
; }
; void startAbsMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source)
DBG606:
	.long 0x0
	.long DBG627
	.long _startAbsMove
	.long 0x40
	.long 0x1020001
	.long DBG611
	.long DBG624-DBG625
	.long DBG626
	.long DBG623
	.long 0x0
	.pseg TrapServo_code
DBG625:
	.dbgseg dbg_syms
DBG611:
	.long 0x66622e
	.long 0x0
	.long DBG625
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1c9
	.long 0x0
	.long DBG628
	.long 0x0
	.dbgseg dbg_line
DBG626:
	.long DBG606
	.long 0x0
	.long _startAbsMove
	.long 0x1
	.long DBG630
	.long 0x2
	.long DBG631
	.long 0x5
	.long DBG632
	.long 0x6
	.long DBG633
	.long 0x8
	.long DBG634
	.long 0x9
	.long DBG635
	.long 0xa
	.long DBG636
	.long 0xc
	.long DBG637
	.long 0xd
	.long DBG638
	.long 0xe
	.long DBG639
	.long 0xf
	.long DBG640
	.long 0x10
	.long DBG641
	.long 0x11
	.long DBG642
	.long 0x12
	.long DBG643
	.long 0x14
	.long DBG644
	.long 0x15
	.long DBG645
	.long 0x16
	.long DBG646
	.long 0x17
	.long DBG647
	.long 0x19
	.long DBG648
	.long 0x1a
	.long DBG649
	.long 0x1b
	.long DBG650
	.long 0x1c
	.long DBG651
	.long 0x1d
	.long DBG652
	.long 0x1f
	.long DBG653
	.long 0x20
	.long DBG654
	.long 0x21
	.long DBG655
	.long 0x22
	.long DBG656
	.long 0x23
	.long DBG657
	.long 0x26
	.long DBG658
	.long 0x27
	.long DBG659
	.long 0x28
	.long DBG660
	.long 0x29
	.long DBG661
	.long 0x2a
	.long DBG662
	.long 0x2b
	.long DBG663
	.long 0x2c
	.long DBG664
	.long 0x2d
	.long DBG665
	.long 0x2e
	.long DBG666
	.long 0x2f
	.long DBG667
	.long 0x30
	.long DBG668
	.long 0x31
	.long DBG669
	.long 0x32
	.long DBG680
	.long 0x33
	.long DBG681
	.long 0x34
	.long DBG682
	.long 0x35
	.long DBG683
	.long 0x36
	.long DBG684
	.long 0x37
	.long DBG685
	.long 0x38
	.long DBG686
	.long 0x39
	.long DBG697
	.long 0x3a
	.long DBG698
	.long 0x3b
	.long DBG699
	.long 0x3e
	.long DBG700
	.long 0x3f
	.long DBG701
	.long 0x40
	.long DBG702
	.long 0x41
	.long DBG703
	.long 0x42
	.long DBG712
	.long 0x43
	.long DBG713
	.long 0x44
	.long DBG714
	.long 0x45
	.long DBG725
	.long 0x46
	.long DBG726
	.long 0x47
	.long DBG727
	.long 0x48
	.long DBG728
	.long 0x49
	.long DBG729
	.long 0x4a
	.long DBG738
	.long 0x4b
	.long DBG739
	.long 0x4c
	.long DBG740
	.long 0x4d
	.long DBG751
	.long 0x4e
	.long DBG752
	.long 0x4f
	.long DBG753
	.long 0x50
	.long DBG754
	.long 0x52
	.long DBG755
	.long 0x53
	.long DBG756
	.long 0x54
	.long DBG757
	.long 0x55
	.long DBG768
	.long 0x57
	.long DBG769
	.long 0x58
	.long DBG780
	.long 0x59
	.long DBG781
	.long 0x5b
	.long DBG782
	.long 0x5c
	.long DBG783
	.long 0x5d
	.pseg TrapServo_code
	.global _startAbsMove
_startAbsMove:
	push	r4
	push	r5
	push	r6
	push	r7
	push	r8
DBG629:
; ENTRY
	mov	r12,r6
DBG631:
DBG630:
; mcChan at argloc 0 (0x0) in reg  size 2
; newPosition at argloc 0 (0x0) in reg  size 4
; tag at argloc 0 (0x0) in reg  size 2
; source at argloc 2 (0x2) size 2
; servoBit in reg  size 2
; value in reg  size 1
; value in reg  size 1
; value in reg  size 1
; value in reg  size 1
; value in reg  size 1
; value in reg  size 1
; {
; uint16 servoBit;
;  (IE1 &= ~ (0x01) ) ;
	mov.b	#0xfe,r8
	and.b	r8,&0x0
DBG632:
;  mcChan->cmdType = servoAbsMoveCmd;    
	mov.b	#0x10,0xf(r6)
DBG633:
;  if((!mcChan->channel) &&(MoveType0==ServoDoNothing)|
	mov.b	@r6,r12
	cmp.b	#0x0,r12
	jne	startAbsMove_L1
	cmp.b	#0x0,r12
	jeq	startAbsMove_LL4
	cmp	#_ServoDoNothing,&_MoveType1
	jeq	startAbsMove_LL2
startAbsMove_LL4:
	mov	#0x0,r12
	jmp	startAbsMove_LL3
startAbsMove_LL2:
	mov	#0x1,r12
startAbsMove_LL3:
	cmp	#_ServoDoNothing,&_MoveType0
	jeq	startAbsMove_LL5
	mov	#0x0,r4
	jmp	startAbsMove_LL6
startAbsMove_LL5:
	mov	#0x1,r4
startAbsMove_LL6:
	bis	r12,r4
	cmp	#0x0,r4
	jeq	startAbsMove_L1
DBG635:
DBG634:
;   ((mcChan->channel) &&(MoveType1==ServoDoNothing)))
;  {
;  ((mcChan->statusMask) &= ~( servoOn)) ;
	and.b	r8,0x2(r6)
DBG636:
;      mcChan->reason = servoNotReady;
	mov.b	#0x6,0x3(r6)
DBG637:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r6,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	startAbsMove_LL7
startAbsMove_LL8:
	rla	r12
	dec	r13
	jnz	startAbsMove_LL8
startAbsMove_LL7:
;  ((opComplete) |= (servoBit)) ;
DBG638:
	bis	r12,&_opComplete
DBG639:
;  _BIC_SR( (0x0040) ) ; 
	bic	#0x40,sr
DBG641:
DBG640:
;  }
	jmp	startAbsMove_LL9
startAbsMove_L1:
;  else if((mcChan->statusMask&servoLostHome) &&(!(mcChan->optionMask & servoOptionJog)))
	bit.b	#0x2,0x2(r6)
	jeq	startAbsMove_L3
	bit.b	#0x80,0x1(r6)
	jne	startAbsMove_L3
DBG643:
DBG642:
;  {
;      mcChan->reason = servoNotReady;     
	mov.b	#0x6,0x3(r6)
DBG644:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r6,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	startAbsMove_LL10
startAbsMove_LL11:
	rla	r12
	dec	r13
	jnz	startAbsMove_LL11
startAbsMove_LL10:
;  ((opComplete) |= (servoBit)) ;
DBG645:
	bis	r12,&_opComplete
DBG646:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG648:
DBG647:
;  } 
	jmp	startAbsMove_LL9
startAbsMove_L3:
;  else
;  {
DBG649:
;    if (!(mcChan->goalPosition==mcChan->intermediate))
DBG650:
	mov	0x26(r6),r4
	mov	0x28(r6),r12
	sub	0x2e(r6),r4
	subc	0x30(r6),r12
	bis	r12,r4
	tst	r4
	jeq	startAbsMove_L5
DBG652:
DBG651:
;    {
;      mcChan->reason = servoAborted;     
	mov.b	#0x3,0x3(r6)
DBG653:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r6,r4
	mov	#0x10,r12
	cmp	#0x0,r4
	jeq	startAbsMove_LL12
startAbsMove_LL13:
	rla	r12
	dec	r4
	jnz	startAbsMove_LL13
startAbsMove_LL12:
;  ((opComplete) |= (servoBit)) ;
DBG654:
	bis	r12,&_opComplete
DBG655:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG657:
DBG656:
;    }
startAbsMove_L5:
;  ((mcChan->statusMask) &= ~(servoPastThreshold)) ;
	mov.b	#0xf7,r4
	and.b	r4,0x2(r6)
DBG658:
;    mcChan->tag = tag;
	mov.b	r15,0xe(r6)
DBG659:
;    mcChan->source = source;
	mov.b	0xc(sp),0xd(r6)
DBG660:
;    mcChan->goalPosition = newPosition; 
	mov	r14,0x26(r6)
	mov	r13,0x28(r6)
DBG661:
;    mcChan->lastPosition=mcChan->position;
	mov	0x12(r6),0x16(r6)
	mov	0x14(r6),0x18(r6)
DBG662:
;    mcChan->maxSpeed=mcChan->defaultMaxSpeed;
	mov	0x3c(r6),0x3a(r6)
DBG663:
;    mcChan->reason=0;
	mov.b	#0x0,0x3(r6)
DBG664:
;    mcChan->limitedFlag=false;
	mov.b	#0x0,0x66(r6)
DBG665:
;    if(mcChan->channel == 0)
	cmp.b	#0x0,0(r6)
	jne	startAbsMove_L6
DBG667:
DBG666:
;     {
;      clear_cpld_bit( 3 , 0x02 ); 
	mov.b	#0x2,r13
	mov.b	#0x3,r12
	call	#_clear_cpld_bit
DBG668:
;      MoveType0 = trapServoLoop;
	mov	#_trapServoLoop,&_MoveType0
DBG671:
DBG670:
DBG669:
;      disableDWRFirqs ( 0x04 );
; {
;   writeDWRF( 0 , DWRFIEimage &= ~mask);
; {
	and.b	#0xfb,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG672:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG673:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG674:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG676:
DBG675:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG680:
DBG679:
DBG678:
DBG677:
;      reportErr ("New Move= Trap Ch=0");
	push	#TrapServo_V5
	call	#_reportErr
	add	#0x2,sp
DBG682:
DBG681:
;     }
	jmp	startAbsMove_L7
startAbsMove_L6:
;    else
;     {
DBG683:
;      clear_cpld_bit( 3 , 0x20 ); 
DBG684:
	mov.b	#0x20,r13
	mov.b	#0x3,r12
	call	#_clear_cpld_bit
DBG685:
;      MoveType1 = trapServoLoop;
	mov	#_trapServoLoop,&_MoveType1
DBG688:
DBG687:
DBG686:
;      disableDWRFirqs ( 0x08 );
; {
;   writeDWRF( 0 , DWRFIEimage &= ~mask);
; {
	and.b	r4,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG689:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG690:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG691:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG693:
DBG692:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG697:
DBG696:
DBG695:
DBG694:
;      reportErr ("New Move= Trap Ch=1");
	push	#TrapServo_V6
	call	#_reportErr
	add	#0x2,sp
DBG698:
startAbsMove_L7:
;     }
;    if (mcChan->optionMask & servoOptionJog)
DBG699:
	bit.b	#0x80,0x1(r6)
	jeq	startAbsMove_L8
DBG701:
DBG700:
;    {
;      if (mcChan->channel == 0)
	cmp.b	#0x0,0(r6)
	jne	startAbsMove_L9
DBG705:
DBG704:
DBG703:
DBG702:
;      {
;       writeDWRF( 1 , 0x04 ); 
; {
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x1,&0x21
DBG706:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,r5
	mov.b	r5,&0x22
DBG707:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG709:
DBG708:
; {
;   P1OUT  = value;  
	mov.b	#0x4,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	mov.b	#0xfb,r4
	and.b	r4,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	mov.b	#0x5,r7
	bis.b	r7,&0x19
DBG712:
DBG711:
DBG710:
;       set_cpld_bit( 3 , 0x02 ); 
	mov.b	#0x2,r13
	mov.b	#0x3,r12
	call	#_set_cpld_bit
DBG713:
;       MoveType0 = jogServo;
	mov	#_jogServo,&_MoveType0
DBG716:
DBG715:
DBG714:
;       enableDWRFirqs ( 0x04 );
; {
;   writeDWRF( 0 , DWRFIEimage |= mask);
; {
	bis.b	#0x4,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG717:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG718:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	r5,&0x22
DBG719:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG721:
DBG720:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	r4,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	r7,&0x19
DBG725:
DBG724:
DBG723:
DBG722:
;       reportErr ("New Move= Jog Ch=0");
	push	#TrapServo_V7
	call	#_reportErr
	add	#0x2,sp
DBG727:
DBG726:
;      }
	jmp	startAbsMove_L10
startAbsMove_L9:
;      else 
;      {
DBG728:
;       writeDWRF( 1 , 0x08 ); 
DBG729:
; {
DBG730:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
DBG731:
;   P1OUT  = adr;
	mov.b	#0x1,&0x21
DBG732:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,r5
	mov.b	r5,&0x22
DBG733:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG735:
DBG734:
; {
;   P1OUT  = value;  
	mov.b	#0x8,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	mov.b	#0xfb,r4
	and.b	r4,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	mov.b	#0x5,r7
	bis.b	r7,&0x19
DBG738:
DBG737:
DBG736:
;       set_cpld_bit( 3 , 0x20 ); 
	mov.b	#0x20,r13
	mov.b	#0x3,r12
	call	#_set_cpld_bit
DBG739:
;       MoveType1 = jogServo;
	mov	#_jogServo,&_MoveType1
DBG742:
DBG741:
DBG740:
;       enableDWRFirqs ( 0x08 );
; {
;   writeDWRF( 0 , DWRFIEimage |= mask);
; {
	bis.b	#0x8,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG743:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG744:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	r5,&0x22
DBG745:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG747:
DBG746:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	r4,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	r7,&0x19
DBG751:
DBG750:
DBG749:
DBG748:
;       reportErr ("New Move= Jog Ch=1");
	push	#TrapServo_V8
	call	#_reportErr
	add	#0x2,sp
DBG752:
startAbsMove_L10:
;      }
DBG753:
;    }
DBG754:
startAbsMove_L8:
;    if (mcChan->optionMask & servoOptionThreshold)
	bit.b	#0x4,0x1(r6)
	jeq	startAbsMove_L11
DBG756:
DBG755:
;    {
;      if (mcChan->channel == 0)
	cmp.b	#0x0,0(r6)
	jne	startAbsMove_L12
DBG759:
DBG758:
DBG757:
;       enableDWRFirqs ( 0x20 );
; {
;   writeDWRF( 0 , DWRFIEimage |= mask);
; {
	bis.b	#0x20,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG760:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG761:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG762:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG764:
DBG763:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG768:
DBG767:
DBG766:
DBG765:
	jmp	startAbsMove_L13
startAbsMove_L12:
;      else 
;        enableDWRFirqs ( 0x40 );   
DBG769:
; {
DBG770:
;   writeDWRF( 0 , DWRFIEimage |= mask);
; {
DBG771:
	bis.b	#0x40,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG772:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG773:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG774:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r8,&0x19
DBG776:
DBG775:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG779:
DBG778:
DBG777:
startAbsMove_L13:
DBG780:
;    }
DBG781:
startAbsMove_L11:
;  (IE1 |= (0x01) ) ;
	bis.b	#0x1,&0x0
DBG782:
startAbsMove_L4:
startAbsMove_L2:
;  }
DBG783:
startAbsMove_LL9:
; EXIT
; .temp6 at stkloc 0 (0x0) size 10
DBG784:
	pop	r8
	pop	r7
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x72756f73
	.long 0x6563
	.long 0xc
	.long 0xe
	.long 0x9ffff
DBG622:
	.long 0x62622e
	.long 0x0
	.long DBG629
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG785
	.long 0x0
	.long 0x676174
	.long 0x0
	.long 0xf0102
	.long 0xe
	.long 0x11ffff
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x1000000
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
DBG785:
	.long 0x62622e
	.long 0x0
	.long DBG629
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG787
	.long 0x0
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long DBG786
	.long 0xd0102
	.long 0x5
	.long 0x111ffff
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
DBG787:
	.long 0x62622e
	.long 0x0
	.long DBG629
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG788
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG630
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG788:
	.long 0x62622e
	.long 0x0
	.long DBG630
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG789
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x60102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG638
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG638
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x0
	.long 0x0
DBG789:
	.long 0x62622e
	.long 0x0
	.long DBG638
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long DBG790
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x60102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG790:
	.long 0x62622e
	.long 0x0
	.long DBG638
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xe
	.long 0x0
	.long DBG791
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG651
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1d
	.long 0x0
	.long 0x0
	.long 0x0
DBG791:
	.long 0x62622e
	.long 0x0
	.long DBG654
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x21
	.long 0x0
	.long DBG792
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
DBG792:
	.long 0x62622e
	.long 0x0
	.long DBG661
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2a
	.long 0x0
	.long DBG793
	.long 0x0
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long DBG786
	.long 0xd0102
	.long 0x5
	.long 0x111ffff
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG668
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x31
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG668
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x31
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG668
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x31
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG668
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x31
	.long 0x0
	.long 0x0
	.long 0x0
DBG793:
	.long 0x62622e
	.long 0x0
	.long DBG668
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x31
	.long 0x0
	.long DBG794
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0x60102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG794:
	.long 0x62622e
	.long 0x0
	.long DBG672
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x32
	.long 0x0
	.long DBG795
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG681
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x34
	.long 0x0
	.long 0x0
	.long 0x0
DBG795:
	.long 0x62622e
	.long 0x0
	.long DBG689
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x39
	.long 0x0
	.long DBG796
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG698
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3b
	.long 0x0
	.long 0x0
	.long 0x0
DBG796:
	.long 0x62622e
	.long 0x0
	.long DBG717
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x45
	.long 0x0
	.long DBG797
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG726
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x47
	.long 0x0
	.long 0x0
	.long 0x0
DBG797:
	.long 0x62622e
	.long 0x0
	.long DBG743
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4d
	.long 0x0
	.long DBG798
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG752
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4f
	.long 0x0
	.long 0x0
	.long 0x0
DBG798:
	.long 0x62622e
	.long 0x0
	.long DBG760
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x55
	.long 0x0
	.long DBG799
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG772
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x58
	.long 0x0
	.long 0x0
	.long 0x0
DBG799:
	.long 0x62622e
	.long 0x0
	.long DBG772
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x58
	.long 0x0
	.long DBG800
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG783
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5d
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG783
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5d
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG784
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x225
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG624:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG627
	.long DBG624
	.long 0x0
	.long 0xff0001
; }
; void startRelMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source)
DBG623:
	.long 0x0
	.long DBG805
	.long _startRelMove
	.long 0x40
	.long 0x1020001
	.long DBG628
	.long DBG802-DBG803
	.long DBG804
	.long DBG801
	.long 0x0
	.pseg TrapServo_code
DBG803:
	.dbgseg dbg_syms
DBG628:
	.long 0x66622e
	.long 0x0
	.long DBG803
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x227
	.long 0x0
	.long DBG806
	.long 0x0
	.dbgseg dbg_line
DBG804:
	.long DBG623
	.long 0x0
	.long _startRelMove
	.long 0x1
	.long DBG808
	.long 0x2
	.long DBG809
	.long 0x4
	.long DBG810
	.long 0x5
	.long DBG811
	.long 0x7
	.long DBG812
	.long 0x8
	.long DBG813
	.long 0x9
	.long DBG814
	.long 0xb
	.long DBG815
	.long 0xc
	.long DBG816
	.long 0xd
	.long DBG817
	.long 0xe
	.long DBG818
	.long 0xf
	.long DBG819
	.long 0x10
	.long DBG820
	.long 0x11
	.long DBG821
	.long 0x12
	.long DBG822
	.long 0x13
	.long DBG823
	.long 0x15
	.long DBG824
	.long 0x16
	.long DBG825
	.long 0x17
	.long DBG826
	.long 0x18
	.long DBG827
	.long 0x19
	.long DBG828
	.long 0x1b
	.long DBG829
	.long 0x1c
	.long DBG830
	.long 0x1d
	.long DBG831
	.long 0x1e
	.long DBG832
	.long 0x1f
	.long DBG833
	.long 0x20
	.long DBG834
	.long 0x21
	.long DBG835
	.long 0x22
	.long DBG836
	.long 0x24
	.long DBG837
	.long 0x25
	.long DBG838
	.long 0x26
	.long DBG839
	.long 0x27
	.long DBG840
	.long 0x28
	.long DBG851
	.long 0x29
	.long DBG852
	.long 0x2a
	.long DBG853
	.long 0x2b
	.long DBG854
	.long 0x2c
	.long DBG855
	.long 0x2d
	.long DBG856
	.long 0x2e
	.long DBG867
	.long 0x2f
	.long DBG868
	.long 0x31
	.long DBG869
	.long 0x32
	.long DBG870
	.long 0x33
	.pseg TrapServo_code
	.global _startRelMove
_startRelMove:
	push	r4
	push	r5
	push	r6
DBG809:
DBG808:
DBG807:
; ENTRY
; mcChan at argloc 0 (0x0) in reg  size 2
; newPosition at argloc 0 (0x0) in reg  size 4
; tag at argloc 0 (0x0) in reg  size 2
; source at argloc 2 (0x2) size 2
; servoBit in reg  size 2
; value in reg  size 1
; value in reg  size 1
; {
; uint16 servoBit;
;  (IE1 &= ~ (0x01) ) ;
	mov.b	#0xfe,r4
	and.b	r4,&0x0
DBG810:
;  mcChan->cmdType = servoRelMoveCmd;    
	mov.b	#0x11,0xf(r12)
DBG811:
;  if((!mcChan->channel) &&(MoveType0==ServoDoNothing)|
	mov.b	@r12,r5
	cmp.b	#0x0,r5
	jne	startRelMove_L1
	cmp.b	#0x0,r5
	jeq	startRelMove_LL4
	cmp	#_ServoDoNothing,&_MoveType1
	jeq	startRelMove_LL2
startRelMove_LL4:
	mov	#0x0,r5
	jmp	startRelMove_LL3
startRelMove_LL2:
	mov	#0x1,r5
startRelMove_LL3:
	cmp	#_ServoDoNothing,&_MoveType0
	jeq	startRelMove_LL5
	mov	#0x0,r6
	jmp	startRelMove_LL6
startRelMove_LL5:
	mov	#0x1,r6
startRelMove_LL6:
	bis	r5,r6
	cmp	#0x0,r6
	jeq	startRelMove_L1
DBG813:
DBG812:
;   ((mcChan->channel) &&(MoveType1==ServoDoNothing)))
;  {
;  ((mcChan->statusMask) &= ~( servoOn)) ;
	and.b	r4,0x2(r12)
DBG814:
;      mcChan->reason = servoNotReady;
	mov.b	#0x6,0x3(r12)
DBG815:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r12,r13
	mov	#0x10,r12
	cmp	#0x0,r13
	jeq	startRelMove_LL7
startRelMove_LL8:
	rla	r12
	dec	r13
	jnz	startRelMove_LL8
startRelMove_LL7:
;  ((opComplete) |= (servoBit)) ;
DBG816:
	bis	r12,&_opComplete
DBG817:
;  _BIC_SR( (0x0040) ) ; 
	bic	#0x40,sr
DBG819:
DBG818:
;  } 
	jmp	startRelMove_LL9
startRelMove_L1:
;  else
;  {
DBG820:
;    if (!(mcChan->goalPosition==mcChan->intermediate))
DBG821:
	mov	0x26(r12),r6
	mov	0x28(r12),r5
	sub	0x2e(r12),r6
	subc	0x30(r12),r5
	bis	r5,r6
	tst	r6
	jeq	startRelMove_L3
DBG823:
DBG822:
;    {
;      mcChan->reason = servoAborted;     
	mov.b	#0x3,0x3(r12)
DBG824:
;      servoBit= ( 1 << 4 ) <<mcChan->channel;
	mov.b	@r12,r6
	mov	#0x10,r5
	cmp	#0x0,r6
	jeq	startRelMove_LL10
startRelMove_LL11:
	rla	r5
	dec	r6
	jnz	startRelMove_LL11
startRelMove_LL10:
;  ((opComplete) |= (servoBit)) ;
DBG825:
	bis	r5,&_opComplete
DBG826:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG828:
DBG827:
;    }
startRelMove_L3:
;  ((mcChan->statusMask) &= ~(servoPastThreshold)) ;
	mov.b	#0xf7,r5
	and.b	r5,0x2(r12)
DBG829:
;    mcChan->tag = tag;
	mov.b	r15,0xe(r12)
DBG830:
;    mcChan->source = source;
	mov.b	0x8(sp),0xd(r12)
DBG831:
;    mcChan->goalPosition = mcChan->intermediate + newPosition; 
	mov	0x2e(r12),r15
	mov	0x30(r12),r6
	add	r14,r15
	addc	r13,r6
	mov	r15,0x26(r12)
	mov	r6,0x28(r12)
DBG832:
;    mcChan->lastPosition=mcChan->position;
	mov	0x12(r12),0x16(r12)
	mov	0x14(r12),0x18(r12)
DBG833:
;    mcChan->maxSpeed=mcChan->defaultMaxSpeed;
	mov	0x3c(r12),0x3a(r12)
DBG834:
;    mcChan->reason=0;
	mov.b	#0x0,0x3(r12)
DBG835:
;    mcChan->limitedFlag=false;
	mov.b	#0x0,0x66(r12)
DBG836:
;    if(mcChan->channel == 0)
	cmp.b	#0x0,0(r12)
	jne	startRelMove_L4
DBG838:
DBG837:
;     {
;      clear_cpld_bit( 3 , 0x02 ); 
	mov.b	#0x2,r13
	mov.b	#0x3,r12
	call	#_clear_cpld_bit
DBG839:
;      MoveType0 = trapServoLoop;
	mov	#_trapServoLoop,&_MoveType0
DBG842:
DBG841:
DBG840:
;      disableDWRFirqs ( 0x04 );
; {
;   writeDWRF( 0 , DWRFIEimage &= ~mask);
; {
	and.b	#0xfb,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG843:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG844:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG845:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r4,&0x19
DBG847:
DBG846:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG852:
DBG851:
DBG850:
DBG849:
DBG848:
;     }
	jmp	startRelMove_L5
startRelMove_L4:
;    else
;     {
DBG853:
;      clear_cpld_bit( 3 , 0x20 ); 
DBG854:
	mov.b	#0x20,r13
	mov.b	#0x3,r12
	call	#_clear_cpld_bit
DBG855:
;      MoveType1 = trapServoLoop;
	mov	#_trapServoLoop,&_MoveType1
DBG858:
DBG857:
DBG856:
;      disableDWRFirqs ( 0x08 );
; {
;   writeDWRF( 0 , DWRFIEimage &= ~mask);
; {
	and.b	r5,&_DWRFIEimage
	mov.b	&_DWRFIEimage,r12
DBG859:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x0,&0x21
DBG860:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG861:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	r4,&0x19
DBG863:
DBG862:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG867:
DBG866:
DBG865:
DBG864:
startRelMove_L5:
;     }
;  (IE1 |= (0x01) ) ;
DBG868:
	bis.b	#0x1,&0x0
DBG869:
startRelMove_L2:
;  }
DBG870:
startRelMove_LL9:
; EXIT
; .temp7 at stkloc 0 (0x0) size 6
DBG871:
	pop	r6
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x72756f73
	.long 0x6563
	.long 0x8
	.long 0xe
	.long 0x9ffff
DBG800:
	.long 0x62622e
	.long 0x0
	.long DBG807
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG872
	.long 0x0
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x1000000
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
DBG872:
	.long 0x62622e
	.long 0x0
	.long DBG807
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG873
	.long 0x0
	.long 0x676174
	.long 0x0
	.long 0xf0102
	.long 0xe
	.long 0x11ffff
DBG873:
	.long 0x62622e
	.long 0x0
	.long DBG807
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG874
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long DBG786
	.long 0xd0102
	.long 0x5
	.long 0x111ffff
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG816
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
DBG874:
	.long 0x62622e
	.long 0x0
	.long DBG816
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long DBG875
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
DBG875:
	.long 0x62622e
	.long 0x0
	.long DBG822
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x13
	.long 0x0
	.long DBG876
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG825
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG825
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long 0x0
	.long 0x0
DBG876:
	.long 0x62622e
	.long 0x0
	.long DBG825
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long DBG877
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
DBG877:
	.long 0x62622e
	.long 0x0
	.long DBG825
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x17
	.long 0x0
	.long DBG878
	.long 0x0
	.long 0x76726573
	.long 0x7469426f
	.long 0x50102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG829
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG832
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1f
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG832
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1f
	.long 0x0
	.long 0x0
	.long 0x0
DBG878:
	.long 0x62622e
	.long 0x0
	.long DBG832
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1f
	.long 0x0
	.long DBG879
	.long 0x0
	.long 0x6843636d
	.long 0x6e61
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG786
	.long 0x200
	.long 0x5
	.long 0x211ffff
	.long 0x0
	.long DBG786
	.long 0xd0102
	.long 0x5
	.long 0x111ffff
	.long 0x0
	.long DBG786
	.long 0xe0102
	.long 0x5
	.long 0x11ffff
	.long 0x62652e
	.long 0x0
	.long DBG839
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x27
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG839
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x27
	.long 0x0
	.long 0x0
	.long 0x0
DBG879:
	.long 0x62622e
	.long 0x0
	.long DBG843
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x28
	.long 0x0
	.long DBG880
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG855
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2d
	.long 0x0
	.long 0x0
	.long 0x0
DBG880:
	.long 0x62622e
	.long 0x0
	.long DBG859
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2e
	.long 0x0
	.long DBG881
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG870
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x33
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG871
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x259
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg TrapServo_code
DBG802:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG805
	.long DBG802
	.long 0x0
	.long 0xff0001
; }
	.extern _DWRFIEimage
	.extern _nextI2CnodeEvent
	.extern _reportErr
	.extern _clear_cpld_bit
	.extern _RX1ISR
	.extern _MoveType0
	.extern _MoveType1
	.extern _set_cpld_bit
	.extern _jogServo
	.extern _retireI2CnodeEvent
	.extern _opComplete
	.extern __smult32
	.extern __sdiv32
.0fake_7:
DBG49:
	.long 0x6166302e
	.long 0x375f656b
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG882
	.long 0x0
	.long 0x736c6166
	.long 0x65
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x65757274
	.long 0x0
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG49
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
.8fake_8:
DBG882:
	.long 0x6166382e
	.long 0x385f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG883
	.long 0x0
	.long 0x64616568
	.long 0x0
	.long 0x0
	.long 0x2c
	.long 0x8ffff
	.long 0x6c696174
	.long 0x0
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x66667562
	.long 0x7265
	.long 0x4
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x1025b
	.long 0x1
	.long 0x0
	.long 0x0
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG882
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
.9fake_9:
DBG883:
	.long 0x6166392e
	.long 0x395f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG884
	.long 0x0
	.long 0x79646f62
	.long 0x0
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long .8fake_8
	.long 0x5
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x646e65
	.long 0x0
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x696d696c
	.long 0x74
	.long 0x4
	.long 0xe
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG883
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
parserInstance_10:
DBG884:
	.long 0x0
	.long DBG886
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xa0000
	.long 0x0
	.long DBG885
	.long 0x0
	.long 0x75706e69
	.long 0x74
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long .9fake_9
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x7074756f
	.long 0x7475
	.long 0x2
	.long 0x28
	.long 0x108ffff
	.long .9fake_9
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG887
	.long 0x4
	.long 0x2a0
	.long 0x8ffff
	.long 0x0
	.long DBG888
	.long 0x6
	.long 0x2a0
	.long 0x8ffff
	.long 0x79736572
	.long 0x636e
	.long 0x8
	.long 0x2a0
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x166ffff
	.long DBG884
	.long 0xa0000
	.long 0x0
	.long 0x0
	.long 0x0
.10fake_11:
DBG885:
	.long 0x0
	.long DBG890
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG889
	.long 0x0
	.long 0x0
	.long DBG891
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG892
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG893
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG894
	.long 0x3
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG895
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG896
	.long 0x5
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG897
	.long 0x6
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG885
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
.2fake_12:
DBG889:
	.long 0x0
	.long DBG899
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xa0000
	.long 0x0
	.long DBG898
	.long 0x0
	.long 0x6c657764
	.long 0x6c
	.long 0x0
	.long 0xd
	.long 0x8ffff
	.long 0x67726174
	.long 0x547465
	.long 0x2
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG900
	.long 0x4
	.long 0xd
	.long 0x8ffff
	.long 0x546e696d
	.long 0x0
	.long 0x6
	.long 0x3
	.long 0x8ffff
	.long 0x5478616d
	.long 0x0
	.long 0x8
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x166ffff
	.long DBG889
	.long 0xa0000
	.long 0x0
	.long 0x0
	.long 0x0
.11fake_13:
DBG898:
	.long 0x0
	.long DBG902
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG901
	.long 0x0
	.long 0x0
	.long DBG903
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG904
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG905
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG906
	.long 0x3
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG907
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG908
	.long 0x5
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG909
	.long 0x6
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG910
	.long 0x7
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG911
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG898
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
.3fake_14:
DBG901:
	.long 0x0
	.long DBG913
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xc0000
	.long 0x0
	.long DBG912
	.long 0x0
	.long 0x74616568
	.long 0x676e69
	.long 0x0
	.long 0x8
	.long 0x108ffff
	.long .1fake_5
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6c6f6f63
	.long 0x676e69
	.long 0x6
	.long 0x8
	.long 0x108ffff
	.long .1fake_5
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x736f652e
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x166ffff
	.long DBG901
	.long 0xc0000
	.long 0x0
	.long 0x0
	.long 0x0
I2Cnode_15:
DBG912:
	.long 0x0
	.long DBG915
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG914
	.long 0x0
	.long 0x74617473
	.long 0x65
	.long 0x0
	.long 0x1520
	.long 0x8ffff
	.long 0x0
	.long DBG916
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x416e776f
	.long 0x7264
	.long 0x4
	.long 0xc
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG912
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
I2CnodeInstance_16:
DBG914:
	.long 0x0
	.long DBG918
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xe0000
	.long 0x0
	.long DBG917
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long I2Cnode_15
	.long 0x5
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6e657665
	.long 0x7374
	.long 0x2
	.long 0x28
	.long 0x108ffff
	.long .9fake_9
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x746c6966
	.long 0x7265
	.long 0x4
	.long 0x2a0
	.long 0x8ffff
	.long 0x64616572
	.long 0x716552
	.long 0x6
	.long 0x2a0
	.long 0x8ffff
	.long 0x656d6974
	.long 0x74756f
	.long 0x8
	.long 0xd
	.long 0x8ffff
	.long 0x72746572
	.long 0x736569
	.long 0xa
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG919
	.long 0xb
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG920
	.long 0xc
	.long 0xc
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xe
	.long 0x0
	.long 0x166ffff
	.long DBG914
	.long 0xe0000
	.long 0x0
	.long 0x0
	.long 0x0
.4fake_17:
DBG917:
	.long 0x0
	.long DBG922
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x4e0000
	.long 0x0
	.long DBG921
	.long 0x0
	.long 0x6f725074
	.long 0x6d617267
	.long 0x0
	.long 0x8
	.long 0x108ffff
	.long .2fake_12
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6c614374
	.long 0x6269
	.long 0xa
	.long 0x8
	.long 0x108ffff
	.long .3fake_14
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG923
	.long 0x16
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG924
	.long 0x18
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG925
	.long 0x1a
	.long 0xd
	.long 0x8ffff
	.long 0x74617473
	.long 0x65
	.long 0x1c
	.long 0xc
	.long 0x8ffff
	.long 0x65646f63
	.long 0x0
	.long 0x1d
	.long 0xc
	.long 0x8ffff
	.long 0x72756f73
	.long 0x6563
	.long 0x1e
	.long 0xc
	.long 0x8ffff
	.long 0x676174
	.long 0x0
	.long 0x1f
	.long 0xc
	.long 0x8ffff
	.long 0x54646d63
	.long 0x657079
	.long 0x20
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG926
	.long 0x22
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG927
	.long 0x26
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG928
	.long 0x2a
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG929
	.long 0x2c
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG930
	.long 0x2e
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG931
	.long 0x30
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG932
	.long 0x32
	.long 0xc
	.long 0x8ffff
	.long 0x65786966
	.long 0x4d575064
	.long 0x34
	.long 0x5
	.long 0x8ffff
	.long 0x6d7573
	.long 0x0
	.long 0x38
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG933
	.long 0x3c
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG934
	.long 0x40
	.long 0x5
	.long 0x8ffff
	.long 0x72657450
	.long 0x6d
	.long 0x44
	.long 0x5
	.long 0x8ffff
	.long 0x72657449
	.long 0x6d
	.long 0x48
	.long 0x5
	.long 0x8ffff
	.long 0x706d6574
	.long 0x0
	.long 0x4c
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x4e
	.long 0x0
	.long 0x166ffff
	.long DBG917
	.long 0x4e0000
	.long 0x0
	.long 0x0
	.long 0x0
DBG806:
DBG881:
DBG801:
DBG921:
	.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 0x6f636c5f
	.long 0x31736e
	.long __lcons1
	.long 0x5
	.long 0x30002
	.long 0x6c6f6f62
	.long 0x6e6165
	.long 0x0
	.long 0xa
	.long 0x10dfffe
	.long .0fake_7
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67736d75
	.long 0x3233
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x4025b
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG935
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long parserInstance_10
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG936
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x67736d75
	.long 0x3631
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x2025b
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x38746e69
	.long 0x0
	.long 0x0
	.long 0x2
	.long 0xdfffe
	.long 0x0
	.long DBG937
	.long 0x0
	.long 0x1520
	.long 0xdfffe
	.long 0x6f666966
	.long 0x0
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .9fake_9
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG938
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x3025b
	.long 0x3
	.long 0x0
	.long 0x0
	.long 0x746e6975
	.long 0x3233
	.long 0x0
	.long 0xf
	.long 0xdfffe
	.long 0x64696f76
	.long 0x6e46
	.long 0x0
	.long 0x40
	.long 0xdfffe
	.long 0x746e6975
	.long 0x3631
	.long 0x0
	.long 0xd
	.long 0xdfffe
	.long 0x0
	.long DBG939
	.long 0x0
	.long 0xa
	.long 0x10dfffe
	.long .10fake_11
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x61686377
	.long 0x745f72
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x0
	.long DBG940
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .2fake_12
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG941
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .7fake_6
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x70617274
	.long 0x6e46
	.long 0x0
	.long 0x40
	.long 0xdfffe
	.long 0x3167736d
	.long 0x44495036
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x6025b
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x69433249
	.long 0x7273
	.long 0x0
	.long 0x40
	.long 0xdfffe
	.long 0x3367736d
	.long 0x32
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x4025b
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG942
	.long 0x0
	.long 0xa
	.long 0x10dfffe
	.long .11fake_13
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x3167736d
	.long 0x36
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x2025b
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x657a6973
	.long 0x745f
	.long 0x0
	.long 0xe
	.long 0xdfffe
	.long 0x31746e69
	.long 0x44495036
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .1fake_5
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x33746e69
	.long 0x32
	.long 0x0
	.long 0x5
	.long 0xdfffe
	.long 0x6f666966
	.long 0x79646f42
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .8fake_8
	.long 0x5
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x31746e69
	.long 0x36
	.long 0x0
	.long 0x3
	.long 0xdfffe
	.long 0x65747962
	.long 0x0
	.long 0x0
	.long 0xc
	.long 0xdfffe
	.long 0x0
	.long DBG943
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .3fake_14
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x746e6975
	.long 0x38
	.long 0x0
	.long 0xc
	.long 0xdfffe
	.long 0x0
	.long DBG944
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long I2CnodeInstance_16
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x74616548
	.long 0x7265
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .4fake_17
	.long 0x4e
	.long 0x0
	.long 0x0
	.long 0x0
	.iseg TrapServo_data_const
	.align 0x2
	.align 0x2
__lcons1:
	.long -0x73f78
	.iseg TrapServo_istrings_const
TrapServo_V5:
	.byte 0x4e
	.byte 0x65
	.byte 0x77
	.byte 0x20
	.byte 0x4d
	.byte 0x6f
	.byte 0x76
	.byte 0x65
	.byte 0x3d
	.byte 0x20
	.byte 0x54
	.byte 0x72
	.byte 0x61
	.byte 0x70
	.byte 0x20
	.byte 0x43
	.byte 0x68
	.byte 0x3d
	.byte 0x30
	.byte 0x0
TrapServo_V6:
	.byte 0x4e
	.byte 0x65
	.byte 0x77
	.byte 0x20
	.byte 0x4d
	.byte 0x6f
	.byte 0x76
	.byte 0x65
	.byte 0x3d
	.byte 0x20
	.byte 0x54
	.byte 0x72
	.byte 0x61
	.byte 0x70
	.byte 0x20
	.byte 0x43
	.byte 0x68
	.byte 0x3d
	.byte 0x31
	.byte 0x0
TrapServo_V7:
	.byte 0x4e
	.byte 0x65
	.byte 0x77
	.byte 0x20
	.byte 0x4d
	.byte 0x6f
	.byte 0x76
	.byte 0x65
	.byte 0x3d
	.byte 0x20
	.byte 0x4a
	.byte 0x6f
	.byte 0x67
	.byte 0x20
	.byte 0x43
	.byte 0x68
	.byte 0x3d
	.byte 0x30
	.byte 0x0
TrapServo_V8:
	.byte 0x4e
	.byte 0x65
	.byte 0x77
	.byte 0x20
	.byte 0x4d
	.byte 0x6f
	.byte 0x76
	.byte 0x65
	.byte 0x3d
	.byte 0x20
	.byte 0x4a
	.byte 0x6f
	.byte 0x67
	.byte 0x20
	.byte 0x43
	.byte 0x68
	.byte 0x3d
	.byte 0x31
	.byte 0x0
TrapServo_V4:
	.byte 0x50
	.byte 0x6f
	.byte 0x73
	.byte 0x20
	.byte 0x25
	.byte 0x6c
	.byte 0x78
	.byte 0x0
TrapServo_V1:
	.byte 0x70
	.byte 0x6f
	.byte 0x73
	.byte 0x20
	.byte 0x65
	.byte 0x72
	.byte 0x72
	.byte 0x6f
	.byte 0x72
	.byte 0x0
TrapServo_V3:
	.byte 0x4c
	.byte 0x61
	.byte 0x74
	.byte 0x63
	.byte 0x68
	.byte 0x20
	.byte 0x50
	.byte 0x6f
	.byte 0x73
	.byte 0x20
	.byte 0x25
	.byte 0x6c
	.byte 0x78
	.byte 0x0
	.dbgseg dbg_syms
	.long 0x666f652e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67fffe
	.dbgseg dbg_strs
	.align 0x2
	.long 0x7f4
DBG922:
	.long 0x2e346661
	.long 0x6b655f31
	.long 0x37000000
DBG911:
	.long 0x4932436e
	.long 0x6f646545
	.long 0x72727300
DBG487:
	.long 0x636f6e66
	.long 0x69674d6f
	.long 0x746f7243
	.long 0x68616e6e
	.long 0x656c0000
DBG191:
	.long 0x74726170
	.long 0x53657276
	.long 0x6f4c6f6f
	.long 0x70000000
DBG53:
	.long 0x74616753
	.long 0x74617475
	.long 0x73000000
DBG904:
	.long 0x4932436e
	.long 0x6f64654e
	.long 0x41434b00
DBG888:
	.long 0x6b69636b
	.long 0x73746172
	.long 0x744f7574
	.long 0x70757400
DBG75:
	.long 0x6c617463
	.long 0x68506f73
	.long 0x6974696f
	.long 0x6e000000
DBG936:
	.long 0x70747264
	.long 0x6966665f
	.long 0x74000000
DBG935:
	.long 0x70617273
	.long 0x6572496e
	.long 0x7374616e
	.long 0x63650000
DBG886:
	.long 0x70617273
	.long 0x6572496e
	.long 0x7374616e
	.long 0x63655f31
	.long 0x30000000
DBG76:
	.long 0x73657276
	.long 0x6f546963
	.long 0x73000000
DBG73:
	.long 0x6c696d69
	.long 0x74656446
	.long 0x6c616700
DBG25:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e54
	.long 0x68726573
	.long 0x506f6c61
	.long 0x72697479
	.long 0x0
DBG920:
	.long 0x68696768
	.long 0x50657269
	.long 0x6f640000
DBG910:
	.long 0x4932436e
	.long 0x6f646552
	.long 0x65747279
	.long 0x45727200
DBG892:
	.long 0x4932436e
	.long 0x6f646543
	.long 0x52436d73
	.long 0x67000000
DBG891:
	.long 0x6e6f4932
	.long 0x436e6f64
	.long 0x65457665
	.long 0x6e740000
DBG521:
	.long 0x696e6974
	.long 0x53657276
	.long 0x6f000000
DBG5:
	.long 0x483a5c45
	.long 0x53505c67
	.long 0x656e325c
	.long 0x736f6674
	.long 0x77617265
	.long 0x5c6d7370
	.long 0x3433305c
	.long 0x64776172
	.long 0x7665735c
	.long 0x54726170
	.long 0x53657276
	.long 0x6f2e6300
DBG938:
	.long 0x73657276
	.long 0x6f506f73
	.long 0x6974696f
	.long 0x6e000000
DBG937:
	.long 0x49324376
	.long 0x6563746f
	.long 0x72730000
DBG60:
	.long 0x6d617850
	.long 0x6f736974
	.long 0x696f6e45
	.long 0x72720000
DBG42:
	.long 0x73657276
	.long 0x6f4f7665
	.long 0x72707265
	.long 0x73737572
	.long 0x65000000
DBG930:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65310000
DBG50:
	.long 0x6f707469
	.long 0x6f6e4d61
	.long 0x736b0000
DBG27:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6550
	.long 0x6f6c6172
	.long 0x69747900
DBG932:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65537769
	.long 0x74636800
DBG931:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65320000
DBG47:
	.long 0x73657276
	.long 0x6f537461
	.long 0x7475735f
	.long 0x34000000
DBG908:
	.long 0x4932436e
	.long 0x6f646541
	.long 0x72674572
	.long 0x72000000
DBG890:
	.long 0x2e313066
	.long 0x616b655f
	.long 0x31310000
DBG887:
	.long 0x706f6c6c
	.long 0x496e7075
	.long 0x74000000
DBG569:
	.long 0x75706461
	.long 0x74655374
	.long 0x61747573
	.long 0x0
DBG57:
	.long 0x6c617374
	.long 0x44657269
	.long 0x76617469
	.long 0x76650000
DBG939:
	.long 0x4932436e
	.long 0x6f646545
	.long 0x76656e74
	.long 0x54797065
	.long 0x0
DBG909:
	.long 0x4932436e
	.long 0x6f646549
	.long 0x6e557365
	.long 0x0
DBG805:
	.long 0x73746172
	.long 0x7452656c
	.long 0x4d6f7665
	.long 0x0
DBG29:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e4a
	.long 0x6f670000
DBG940:
	.long 0x74686572
	.long 0x6d616c53
	.long 0x74657000
DBG915:
	.long 0x4932436e
	.long 0x6f64655f
	.long 0x31350000
DBG896:
	.long 0x4932436e
	.long 0x6f646552
	.long 0x65616452
	.long 0x65717565
	.long 0x73740000
DBG469:
	.long 0x6c617463
	.long 0x6856616c
	.long 0x75650000
DBG74:
	.long 0x70726573
	.long 0x73757265
	.long 0x53656e73
	.long 0x65537769
	.long 0x74636800
DBG72:
	.long 0x6d617843
	.long 0x75727265
	.long 0x6e740000
DBG67:
	.long 0x6d617850
	.long 0x72657373
	.long 0x75726544
	.long 0x656c7461
	.long 0x0
DBG54:
	.long 0x6c617374
	.long 0x506f7369
	.long 0x74696f6e
	.long 0x0
DBG36:
	.long 0x73657276
	.long 0x6f526561
	.long 0x736f6e5f
	.long 0x33000000
DBG941:
	.long 0x4d6f746f
	.long 0x72436861
	.long 0x6e6e656c
	.long 0x0
DBG902:
	.long 0x2e313166
	.long 0x616b655f
	.long 0x31330000
DBG61:
	.long 0x70726573
	.long 0x73757265
	.long 0x31000000
DBG45:
	.long 0x73657276
	.long 0x6f537065
	.long 0x65644572
	.long 0x726f7200
DBG26:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6550
	.long 0x77720000
DBG926:
	.long 0x68656174
	.long 0x6572536c
	.long 0x6f70655f
	.long 0x6e756d00
DBG907:
	.long 0x4932436e
	.long 0x6f646554
	.long 0x696d654f
	.long 0x75740000
DBG900:
	.long 0x65727248
	.long 0x6f6c646f
	.long 0x66660000
DBG62:
	.long 0x70726573
	.long 0x73757265
	.long 0x32000000
DBG942:
	.long 0x4932436e
	.long 0x6f646545
	.long 0x72720000
DBG928:
	.long 0x68656174
	.long 0x65725057
	.long 0x4d000000
DBG894:
	.long 0x4932436e
	.long 0x6f646547
	.long 0x43435243
	.long 0x6d736700
DBG400:
	.long 0x656e636f
	.long 0x64657256
	.long 0x616c7565
	.long 0x30000000
DBG77:
	.long 0x72657065
	.long 0x61745261
	.long 0x74650000
DBG44:
	.long 0x73657276
	.long 0x6f506f73
	.long 0x6974696f
	.long 0x6e457272
	.long 0x0
DBG893:
	.long 0x4932436e
	.long 0x6f64654e
	.long 0x6f6e4352
	.long 0x436d7367
	.long 0x0
DBG404:
	.long 0x656e636f
	.long 0x64657256
	.long 0x616c7565
	.long 0x31000000
DBG41:
	.long 0x73657276
	.long 0x6f4f7665
	.long 0x72637572
	.long 0x72656e74
	.long 0x0
DBG335:
	.long 0x64697374
	.long 0x5f72656d
	.long 0x61696e00
DBG56:
	.long 0x6c617374
	.long 0x496e7465
	.long 0x726d6564
	.long 0x69617465
	.long 0x0
DBG38:
	.long 0x696e7661
	.long 0x6c696453
	.long 0x6572766f
	.long 0x4368616e
	.long 0x6e656c00
DBG22:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e45
	.long 0x6e61626c
	.long 0x65000000
DBG179:
	.long 0x4d6f746f
	.long 0x72506f73
	.long 0x6974696f
	.long 0x6e457272
	.long 0x6f720000
DBG167:
	.long 0x4d6f746f
	.long 0x724f7665
	.long 0x72437572
	.long 0x72656e74
	.long 0x0
DBG51:
	.long 0x73746174
	.long 0x75734d61
	.long 0x736b0000
DBG40:
	.long 0x73657276
	.long 0x6f41626f
	.long 0x72746564
	.long 0x0
DBG28:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6544
	.long 0x69720000
DBG925:
	.long 0x656c6170
	.long 0x73656454
	.long 0x69637300
DBG923:
	.long 0x63757272
	.long 0x656e7454
	.long 0x656d7065
	.long 0x72617475
	.long 0x72650000
DBG337:
	.long 0x63757272
	.long 0x656e745f
	.long 0x76656c6f
	.long 0x63697479
	.long 0x0
DBG927:
	.long 0x68656174
	.long 0x6572536c
	.long 0x6f70655f
	.long 0x64656e00
DBG64:
	.long 0x70726576
	.long 0x696f7573
	.long 0x53756d00
DBG33:
	.long 0x73657276
	.long 0x6f486f6d
	.long 0x65466c61
	.long 0x67000000
DBG23:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e45
	.long 0x6e63506f
	.long 0x6c617269
	.long 0x74790000
DBG916:
	.long 0x68656164
	.long 0x4576656e
	.long 0x74000000
DBG70:
	.long 0x6d696e49
	.long 0x6e507265
	.long 0x73737572
	.long 0x65000000
DBG66:
	.long 0x6d6f746f
	.long 0x72437572
	.long 0x72656e74
	.long 0x0
DBG55:
	.long 0x74687265
	.long 0x73686f6c
	.long 0x644f6666
	.long 0x73657400
DBG34:
	.long 0x73657276
	.long 0x6f506173
	.long 0x74546872
	.long 0x6573686f
	.long 0x6c640000
DBG943:
	.long 0x74686572
	.long 0x6d616c43
	.long 0x616c6962
	.long 0x72617469
	.long 0x6f6e0000
DBG919:
	.long 0x6c6f7750
	.long 0x6572696f
	.long 0x64000000
DBG895:
	.long 0x4932436e
	.long 0x6f646547
	.long 0x436d7367
	.long 0x0
DBG610:
	.long 0x67657450
	.long 0x6f736974
	.long 0x696f6e00
DBG564:
	.long 0x6e657744
	.long 0x65726976
	.long 0x61746976
	.long 0x65546572
	.long 0x6d000000
DBG71:
	.long 0x6d696e4f
	.long 0x75745072
	.long 0x65737375
	.long 0x72650000
DBG52:
	.long 0x736f7572
	.long 0x63655374
	.long 0x61747573
	.long 0x0
DBG43:
	.long 0x73657276
	.long 0x6f4e6f74
	.long 0x52656164
	.long 0x79000000
DBG24:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e54
	.long 0x68726573
	.long 0x686f6c64
	.long 0x0
DBG68:
	.long 0x6d617849
	.long 0x6e507265
	.long 0x73737572
	.long 0x65000000
DBG37:
	.long 0x6e6f5365
	.long 0x72766f45
	.long 0x72726f72
	.long 0x0
DBG31:
	.long 0x73657276
	.long 0x6f537461
	.long 0x74757342
	.long 0x6974735f
	.long 0x32000000
DBG924:
	.long 0x74686572
	.long 0x6d6f436f
	.long 0x75706c65
	.long 0x0
DBG906:
	.long 0x4932436e
	.long 0x6f646542
	.long 0x75734572
	.long 0x72000000
DBG69:
	.long 0x6d61784f
	.long 0x75745072
	.long 0x65737375
	.long 0x72650000
DBG934:
	.long 0x696e744c
	.long 0x696d6974
	.long 0x4e000000
DBG929:
	.long 0x636f6f6c
	.long 0x65725057
	.long 0x4d000000
DBG58:
	.long 0x676f616c
	.long 0x506f7369
	.long 0x74696f6e
	.long 0x0
DBG21:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e5f
	.long 0x31000000
DBG944:
	.long 0x4932436e
	.long 0x6f646549
	.long 0x6e737461
	.long 0x6e636500
DBG905:
	.long 0x4932436e
	.long 0x6f646543
	.long 0x52434e41
	.long 0x434b0000
DBG899:
	.long 0x2e326661
	.long 0x6b655f31
	.long 0x32000000
DBG549:
	.long 0x43616c63
	.long 0x756c6174
	.long 0x65446572
	.long 0x69766174
	.long 0x69766554
	.long 0x65726d00
DBG339:
	.long 0x64697374
	.long 0x5f73746f
	.long 0x70000000
DBG39:
	.long 0x696e7661
	.long 0x6c696453
	.long 0x6572766f
	.long 0x476f616c
	.long 0x0
DBG10:
	.long 0x53657276
	.long 0x6f446f4e
	.long 0x6f746869
	.long 0x6e670000
DBG933:
	.long 0x696e744c
	.long 0x696d6974
	.long 0x50000000
DBG473:
	.long 0x6c617463
	.long 0x6856616c
	.long 0x75653100
DBG32:
	.long 0x73657276
	.long 0x6f4c6f73
	.long 0x74486f6d
	.long 0x65000000
DBG897:
	.long 0x4932436e
	.long 0x6f646545
	.long 0x76656e74
	.long 0x54797065
	.long 0x73000000
DBG627:
	.long 0x73746172
	.long 0x74416273
	.long 0x4d6f7665
	.long 0x0
DBG59:
	.long 0x696e7465
	.long 0x726d6564
	.long 0x69617465
	.long 0x0
DBG913:
	.long 0x2e336661
	.long 0x6b655f31
	.long 0x34000000
DBG350:
	.long 0x6765744e
	.long 0x6577506f
	.long 0x73000000
DBG63:
	.long 0x64656661
	.long 0x756c744d
	.long 0x61785370
	.long 0x65656400
DBG903:
	.long 0x4932436e
	.long 0x6f64654f
	.long 0x4b000000
DBG424:
	.long 0x6765744c
	.long 0x61746368
	.long 0x506f7300
DBG65:
	.long 0x6c617374
	.long 0x4572726f
	.long 0x72000000
DBG918:
	.long 0x4932436e
	.long 0x6f646549
	.long 0x6e737461
	.long 0x6e63655f
	.long 0x31360000
DBG786:
	.long 0x6e657750
	.long 0x6f736974
	.long 0x696f6e00
