;-------------------------------------------------------- ; File Created by SDCC : free open source ANSI-C Compiler ; Version 3.0.0 #6037 (Oct 31 2010) (Linux) ; This file was generated Fri Mar 23 03:14:56 2012 ;-------------------------------------------------------- .module test_UM6 .optsdcc -mmcs51 --model-medium ;-------------------------------------------------------- ; Public variables in this module ;-------------------------------------------------------- .globl _param_report_period_ms .globl _main .globl _uart1set .globl _sendReportIfNeeded .globl _processRxbuffer .globl _requestUM6config .globl _updateLeds .globl _rxbuf .globl _report .globl _um6rx .globl _addfirstbuff_PARM_2 .globl _addlastbuff_PARM_2 .globl _UM6config .globl _reportBytesSent .globl _reportLength .globl _next .globl _addlastbuff .globl _addfirstbuff .globl _isbufffull .globl _putchar ;-------------------------------------------------------- ; special function registers ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Ftest_UM6$P0$0$0 == 0x0080 _P0 = 0x0080 Ftest_UM6$SP$0$0 == 0x0081 _SP = 0x0081 Ftest_UM6$DPL0$0$0 == 0x0082 _DPL0 = 0x0082 Ftest_UM6$DPH0$0$0 == 0x0083 _DPH0 = 0x0083 Ftest_UM6$DPL1$0$0 == 0x0084 _DPL1 = 0x0084 Ftest_UM6$DPH1$0$0 == 0x0085 _DPH1 = 0x0085 Ftest_UM6$U0CSR$0$0 == 0x0086 _U0CSR = 0x0086 Ftest_UM6$PCON$0$0 == 0x0087 _PCON = 0x0087 Ftest_UM6$TCON$0$0 == 0x0088 _TCON = 0x0088 Ftest_UM6$P0IFG$0$0 == 0x0089 _P0IFG = 0x0089 Ftest_UM6$P1IFG$0$0 == 0x008a _P1IFG = 0x008a Ftest_UM6$P2IFG$0$0 == 0x008b _P2IFG = 0x008b Ftest_UM6$PICTL$0$0 == 0x008c _PICTL = 0x008c Ftest_UM6$P1IEN$0$0 == 0x008d _P1IEN = 0x008d Ftest_UM6$P0INP$0$0 == 0x008f _P0INP = 0x008f Ftest_UM6$P1$0$0 == 0x0090 _P1 = 0x0090 Ftest_UM6$RFIM$0$0 == 0x0091 _RFIM = 0x0091 Ftest_UM6$DPS$0$0 == 0x0092 _DPS = 0x0092 Ftest_UM6$MPAGE$0$0 == 0x0093 _MPAGE = 0x0093 Ftest_UM6$ENDIAN$0$0 == 0x0095 _ENDIAN = 0x0095 Ftest_UM6$S0CON$0$0 == 0x0098 _S0CON = 0x0098 Ftest_UM6$IEN2$0$0 == 0x009a _IEN2 = 0x009a Ftest_UM6$S1CON$0$0 == 0x009b _S1CON = 0x009b Ftest_UM6$T2CT$0$0 == 0x009c _T2CT = 0x009c Ftest_UM6$T2PR$0$0 == 0x009d _T2PR = 0x009d Ftest_UM6$T2CTL$0$0 == 0x009e _T2CTL = 0x009e Ftest_UM6$P2$0$0 == 0x00a0 _P2 = 0x00a0 Ftest_UM6$WORIRQ$0$0 == 0x00a1 _WORIRQ = 0x00a1 Ftest_UM6$WORCTRL$0$0 == 0x00a2 _WORCTRL = 0x00a2 Ftest_UM6$WOREVT0$0$0 == 0x00a3 _WOREVT0 = 0x00a3 Ftest_UM6$WOREVT1$0$0 == 0x00a4 _WOREVT1 = 0x00a4 Ftest_UM6$WORTIME0$0$0 == 0x00a5 _WORTIME0 = 0x00a5 Ftest_UM6$WORTIME1$0$0 == 0x00a6 _WORTIME1 = 0x00a6 Ftest_UM6$IEN0$0$0 == 0x00a8 _IEN0 = 0x00a8 Ftest_UM6$IP0$0$0 == 0x00a9 _IP0 = 0x00a9 Ftest_UM6$FWT$0$0 == 0x00ab _FWT = 0x00ab Ftest_UM6$FADDRL$0$0 == 0x00ac _FADDRL = 0x00ac Ftest_UM6$FADDRH$0$0 == 0x00ad _FADDRH = 0x00ad Ftest_UM6$FCTL$0$0 == 0x00ae _FCTL = 0x00ae Ftest_UM6$FWDATA$0$0 == 0x00af _FWDATA = 0x00af Ftest_UM6$ENCDI$0$0 == 0x00b1 _ENCDI = 0x00b1 Ftest_UM6$ENCDO$0$0 == 0x00b2 _ENCDO = 0x00b2 Ftest_UM6$ENCCS$0$0 == 0x00b3 _ENCCS = 0x00b3 Ftest_UM6$ADCCON1$0$0 == 0x00b4 _ADCCON1 = 0x00b4 Ftest_UM6$ADCCON2$0$0 == 0x00b5 _ADCCON2 = 0x00b5 Ftest_UM6$ADCCON3$0$0 == 0x00b6 _ADCCON3 = 0x00b6 Ftest_UM6$IEN1$0$0 == 0x00b8 _IEN1 = 0x00b8 Ftest_UM6$IP1$0$0 == 0x00b9 _IP1 = 0x00b9 Ftest_UM6$ADCL$0$0 == 0x00ba _ADCL = 0x00ba Ftest_UM6$ADCH$0$0 == 0x00bb _ADCH = 0x00bb Ftest_UM6$RNDL$0$0 == 0x00bc _RNDL = 0x00bc Ftest_UM6$RNDH$0$0 == 0x00bd _RNDH = 0x00bd Ftest_UM6$SLEEP$0$0 == 0x00be _SLEEP = 0x00be Ftest_UM6$IRCON$0$0 == 0x00c0 _IRCON = 0x00c0 Ftest_UM6$U0DBUF$0$0 == 0x00c1 _U0DBUF = 0x00c1 Ftest_UM6$U0BAUD$0$0 == 0x00c2 _U0BAUD = 0x00c2 Ftest_UM6$U0UCR$0$0 == 0x00c4 _U0UCR = 0x00c4 Ftest_UM6$U0GCR$0$0 == 0x00c5 _U0GCR = 0x00c5 Ftest_UM6$CLKCON$0$0 == 0x00c6 _CLKCON = 0x00c6 Ftest_UM6$MEMCTR$0$0 == 0x00c7 _MEMCTR = 0x00c7 Ftest_UM6$WDCTL$0$0 == 0x00c9 _WDCTL = 0x00c9 Ftest_UM6$T3CNT$0$0 == 0x00ca _T3CNT = 0x00ca Ftest_UM6$T3CTL$0$0 == 0x00cb _T3CTL = 0x00cb Ftest_UM6$T3CCTL0$0$0 == 0x00cc _T3CCTL0 = 0x00cc Ftest_UM6$T3CC0$0$0 == 0x00cd _T3CC0 = 0x00cd Ftest_UM6$T3CCTL1$0$0 == 0x00ce _T3CCTL1 = 0x00ce Ftest_UM6$T3CC1$0$0 == 0x00cf _T3CC1 = 0x00cf Ftest_UM6$PSW$0$0 == 0x00d0 _PSW = 0x00d0 Ftest_UM6$DMAIRQ$0$0 == 0x00d1 _DMAIRQ = 0x00d1 Ftest_UM6$DMA1CFGL$0$0 == 0x00d2 _DMA1CFGL = 0x00d2 Ftest_UM6$DMA1CFGH$0$0 == 0x00d3 _DMA1CFGH = 0x00d3 Ftest_UM6$DMA0CFGL$0$0 == 0x00d4 _DMA0CFGL = 0x00d4 Ftest_UM6$DMA0CFGH$0$0 == 0x00d5 _DMA0CFGH = 0x00d5 Ftest_UM6$DMAARM$0$0 == 0x00d6 _DMAARM = 0x00d6 Ftest_UM6$DMAREQ$0$0 == 0x00d7 _DMAREQ = 0x00d7 Ftest_UM6$TIMIF$0$0 == 0x00d8 _TIMIF = 0x00d8 Ftest_UM6$RFD$0$0 == 0x00d9 _RFD = 0x00d9 Ftest_UM6$T1CC0L$0$0 == 0x00da _T1CC0L = 0x00da Ftest_UM6$T1CC0H$0$0 == 0x00db _T1CC0H = 0x00db Ftest_UM6$T1CC1L$0$0 == 0x00dc _T1CC1L = 0x00dc Ftest_UM6$T1CC1H$0$0 == 0x00dd _T1CC1H = 0x00dd Ftest_UM6$T1CC2L$0$0 == 0x00de _T1CC2L = 0x00de Ftest_UM6$T1CC2H$0$0 == 0x00df _T1CC2H = 0x00df Ftest_UM6$ACC$0$0 == 0x00e0 _ACC = 0x00e0 Ftest_UM6$RFST$0$0 == 0x00e1 _RFST = 0x00e1 Ftest_UM6$T1CNTL$0$0 == 0x00e2 _T1CNTL = 0x00e2 Ftest_UM6$T1CNTH$0$0 == 0x00e3 _T1CNTH = 0x00e3 Ftest_UM6$T1CTL$0$0 == 0x00e4 _T1CTL = 0x00e4 Ftest_UM6$T1CCTL0$0$0 == 0x00e5 _T1CCTL0 = 0x00e5 Ftest_UM6$T1CCTL1$0$0 == 0x00e6 _T1CCTL1 = 0x00e6 Ftest_UM6$T1CCTL2$0$0 == 0x00e7 _T1CCTL2 = 0x00e7 Ftest_UM6$IRCON2$0$0 == 0x00e8 _IRCON2 = 0x00e8 Ftest_UM6$RFIF$0$0 == 0x00e9 _RFIF = 0x00e9 Ftest_UM6$T4CNT$0$0 == 0x00ea _T4CNT = 0x00ea Ftest_UM6$T4CTL$0$0 == 0x00eb _T4CTL = 0x00eb Ftest_UM6$T4CCTL0$0$0 == 0x00ec _T4CCTL0 = 0x00ec Ftest_UM6$T4CC0$0$0 == 0x00ed _T4CC0 = 0x00ed Ftest_UM6$T4CCTL1$0$0 == 0x00ee _T4CCTL1 = 0x00ee Ftest_UM6$T4CC1$0$0 == 0x00ef _T4CC1 = 0x00ef Ftest_UM6$B$0$0 == 0x00f0 _B = 0x00f0 Ftest_UM6$PERCFG$0$0 == 0x00f1 _PERCFG = 0x00f1 Ftest_UM6$ADCCFG$0$0 == 0x00f2 _ADCCFG = 0x00f2 Ftest_UM6$P0SEL$0$0 == 0x00f3 _P0SEL = 0x00f3 Ftest_UM6$P1SEL$0$0 == 0x00f4 _P1SEL = 0x00f4 Ftest_UM6$P2SEL$0$0 == 0x00f5 _P2SEL = 0x00f5 Ftest_UM6$P1INP$0$0 == 0x00f6 _P1INP = 0x00f6 Ftest_UM6$P2INP$0$0 == 0x00f7 _P2INP = 0x00f7 Ftest_UM6$U1CSR$0$0 == 0x00f8 _U1CSR = 0x00f8 Ftest_UM6$U1DBUF$0$0 == 0x00f9 _U1DBUF = 0x00f9 Ftest_UM6$U1BAUD$0$0 == 0x00fa _U1BAUD = 0x00fa Ftest_UM6$U1UCR$0$0 == 0x00fb _U1UCR = 0x00fb Ftest_UM6$U1GCR$0$0 == 0x00fc _U1GCR = 0x00fc Ftest_UM6$P0DIR$0$0 == 0x00fd _P0DIR = 0x00fd Ftest_UM6$P1DIR$0$0 == 0x00fe _P1DIR = 0x00fe Ftest_UM6$P2DIR$0$0 == 0x00ff _P2DIR = 0x00ff Ftest_UM6$DMA0CFG$0$0 == 0xffffd5d4 _DMA0CFG = 0xffffd5d4 Ftest_UM6$DMA1CFG$0$0 == 0xffffd3d2 _DMA1CFG = 0xffffd3d2 Ftest_UM6$FADDR$0$0 == 0xffffadac _FADDR = 0xffffadac Ftest_UM6$ADC$0$0 == 0xffffbbba _ADC = 0xffffbbba Ftest_UM6$T1CC0$0$0 == 0xffffdbda _T1CC0 = 0xffffdbda Ftest_UM6$T1CC1$0$0 == 0xffffdddc _T1CC1 = 0xffffdddc Ftest_UM6$T1CC2$0$0 == 0xffffdfde _T1CC2 = 0xffffdfde ;-------------------------------------------------------- ; special function bits ;-------------------------------------------------------- .area RSEG (ABS,DATA) .org 0x0000 Ftest_UM6$P0_0$0$0 == 0x0080 _P0_0 = 0x0080 Ftest_UM6$P0_1$0$0 == 0x0081 _P0_1 = 0x0081 Ftest_UM6$P0_2$0$0 == 0x0082 _P0_2 = 0x0082 Ftest_UM6$P0_3$0$0 == 0x0083 _P0_3 = 0x0083 Ftest_UM6$P0_4$0$0 == 0x0084 _P0_4 = 0x0084 Ftest_UM6$P0_5$0$0 == 0x0085 _P0_5 = 0x0085 Ftest_UM6$P0_6$0$0 == 0x0086 _P0_6 = 0x0086 Ftest_UM6$P0_7$0$0 == 0x0087 _P0_7 = 0x0087 Ftest_UM6$_TCON_0$0$0 == 0x0088 __TCON_0 = 0x0088 Ftest_UM6$RFTXRXIF$0$0 == 0x0089 _RFTXRXIF = 0x0089 Ftest_UM6$_TCON_2$0$0 == 0x008a __TCON_2 = 0x008a Ftest_UM6$URX0IF$0$0 == 0x008b _URX0IF = 0x008b Ftest_UM6$_TCON_4$0$0 == 0x008c __TCON_4 = 0x008c Ftest_UM6$ADCIF$0$0 == 0x008d _ADCIF = 0x008d Ftest_UM6$_TCON_6$0$0 == 0x008e __TCON_6 = 0x008e Ftest_UM6$URX1IF$0$0 == 0x008f _URX1IF = 0x008f Ftest_UM6$P1_0$0$0 == 0x0090 _P1_0 = 0x0090 Ftest_UM6$P1_1$0$0 == 0x0091 _P1_1 = 0x0091 Ftest_UM6$P1_2$0$0 == 0x0092 _P1_2 = 0x0092 Ftest_UM6$P1_3$0$0 == 0x0093 _P1_3 = 0x0093 Ftest_UM6$P1_4$0$0 == 0x0094 _P1_4 = 0x0094 Ftest_UM6$P1_5$0$0 == 0x0095 _P1_5 = 0x0095 Ftest_UM6$P1_6$0$0 == 0x0096 _P1_6 = 0x0096 Ftest_UM6$P1_7$0$0 == 0x0097 _P1_7 = 0x0097 Ftest_UM6$ENCIF_0$0$0 == 0x0098 _ENCIF_0 = 0x0098 Ftest_UM6$ENCIF_1$0$0 == 0x0099 _ENCIF_1 = 0x0099 Ftest_UM6$_SOCON2$0$0 == 0x009a __SOCON2 = 0x009a Ftest_UM6$_SOCON3$0$0 == 0x009b __SOCON3 = 0x009b Ftest_UM6$_SOCON4$0$0 == 0x009c __SOCON4 = 0x009c Ftest_UM6$_SOCON5$0$0 == 0x009d __SOCON5 = 0x009d Ftest_UM6$_SOCON6$0$0 == 0x009e __SOCON6 = 0x009e Ftest_UM6$_SOCON7$0$0 == 0x009f __SOCON7 = 0x009f Ftest_UM6$P2_0$0$0 == 0x00a0 _P2_0 = 0x00a0 Ftest_UM6$P2_1$0$0 == 0x00a1 _P2_1 = 0x00a1 Ftest_UM6$P2_2$0$0 == 0x00a2 _P2_2 = 0x00a2 Ftest_UM6$P2_3$0$0 == 0x00a3 _P2_3 = 0x00a3 Ftest_UM6$P2_4$0$0 == 0x00a4 _P2_4 = 0x00a4 Ftest_UM6$P2_5$0$0 == 0x00a5 _P2_5 = 0x00a5 Ftest_UM6$P2_6$0$0 == 0x00a6 _P2_6 = 0x00a6 Ftest_UM6$P2_7$0$0 == 0x00a7 _P2_7 = 0x00a7 Ftest_UM6$RFTXRXIE$0$0 == 0x00a8 _RFTXRXIE = 0x00a8 Ftest_UM6$ADCIE$0$0 == 0x00a9 _ADCIE = 0x00a9 Ftest_UM6$URX0IE$0$0 == 0x00aa _URX0IE = 0x00aa Ftest_UM6$URX1IE$0$0 == 0x00ab _URX1IE = 0x00ab Ftest_UM6$ENCIE$0$0 == 0x00ac _ENCIE = 0x00ac Ftest_UM6$STIE$0$0 == 0x00ad _STIE = 0x00ad Ftest_UM6$_IEN06$0$0 == 0x00ae __IEN06 = 0x00ae Ftest_UM6$EA$0$0 == 0x00af _EA = 0x00af Ftest_UM6$DMAIE$0$0 == 0x00b8 _DMAIE = 0x00b8 Ftest_UM6$T1IE$0$0 == 0x00b9 _T1IE = 0x00b9 Ftest_UM6$T2IE$0$0 == 0x00ba _T2IE = 0x00ba Ftest_UM6$T3IE$0$0 == 0x00bb _T3IE = 0x00bb Ftest_UM6$T4IE$0$0 == 0x00bc _T4IE = 0x00bc Ftest_UM6$P0IE$0$0 == 0x00bd _P0IE = 0x00bd Ftest_UM6$_IEN16$0$0 == 0x00be __IEN16 = 0x00be Ftest_UM6$_IEN17$0$0 == 0x00bf __IEN17 = 0x00bf Ftest_UM6$DMAIF$0$0 == 0x00c0 _DMAIF = 0x00c0 Ftest_UM6$T1IF$0$0 == 0x00c1 _T1IF = 0x00c1 Ftest_UM6$T2IF$0$0 == 0x00c2 _T2IF = 0x00c2 Ftest_UM6$T3IF$0$0 == 0x00c3 _T3IF = 0x00c3 Ftest_UM6$T4IF$0$0 == 0x00c4 _T4IF = 0x00c4 Ftest_UM6$P0IF$0$0 == 0x00c5 _P0IF = 0x00c5 Ftest_UM6$_IRCON6$0$0 == 0x00c6 __IRCON6 = 0x00c6 Ftest_UM6$STIF$0$0 == 0x00c7 _STIF = 0x00c7 Ftest_UM6$P$0$0 == 0x00d0 _P = 0x00d0 Ftest_UM6$F1$0$0 == 0x00d1 _F1 = 0x00d1 Ftest_UM6$OV$0$0 == 0x00d2 _OV = 0x00d2 Ftest_UM6$RS0$0$0 == 0x00d3 _RS0 = 0x00d3 Ftest_UM6$RS1$0$0 == 0x00d4 _RS1 = 0x00d4 Ftest_UM6$F0$0$0 == 0x00d5 _F0 = 0x00d5 Ftest_UM6$AC$0$0 == 0x00d6 _AC = 0x00d6 Ftest_UM6$CY$0$0 == 0x00d7 _CY = 0x00d7 Ftest_UM6$T3OVFIF$0$0 == 0x00d8 _T3OVFIF = 0x00d8 Ftest_UM6$T3CH0IF$0$0 == 0x00d9 _T3CH0IF = 0x00d9 Ftest_UM6$T3CH1IF$0$0 == 0x00da _T3CH1IF = 0x00da Ftest_UM6$T4OVFIF$0$0 == 0x00db _T4OVFIF = 0x00db Ftest_UM6$T4CH0IF$0$0 == 0x00dc _T4CH0IF = 0x00dc Ftest_UM6$T4CH1IF$0$0 == 0x00dd _T4CH1IF = 0x00dd Ftest_UM6$OVFIM$0$0 == 0x00de _OVFIM = 0x00de Ftest_UM6$_TIMIF7$0$0 == 0x00df __TIMIF7 = 0x00df Ftest_UM6$ACC_0$0$0 == 0x00e0 _ACC_0 = 0x00e0 Ftest_UM6$ACC_1$0$0 == 0x00e1 _ACC_1 = 0x00e1 Ftest_UM6$ACC_2$0$0 == 0x00e2 _ACC_2 = 0x00e2 Ftest_UM6$ACC_3$0$0 == 0x00e3 _ACC_3 = 0x00e3 Ftest_UM6$ACC_4$0$0 == 0x00e4 _ACC_4 = 0x00e4 Ftest_UM6$ACC_5$0$0 == 0x00e5 _ACC_5 = 0x00e5 Ftest_UM6$ACC_6$0$0 == 0x00e6 _ACC_6 = 0x00e6 Ftest_UM6$ACC_7$0$0 == 0x00e7 _ACC_7 = 0x00e7 Ftest_UM6$P2IF$0$0 == 0x00e8 _P2IF = 0x00e8 Ftest_UM6$UTX0IF$0$0 == 0x00e9 _UTX0IF = 0x00e9 Ftest_UM6$UTX1IF$0$0 == 0x00ea _UTX1IF = 0x00ea Ftest_UM6$P1IF$0$0 == 0x00eb _P1IF = 0x00eb Ftest_UM6$WDTIF$0$0 == 0x00ec _WDTIF = 0x00ec Ftest_UM6$_IRCON25$0$0 == 0x00ed __IRCON25 = 0x00ed Ftest_UM6$_IRCON26$0$0 == 0x00ee __IRCON26 = 0x00ee Ftest_UM6$_IRCON27$0$0 == 0x00ef __IRCON27 = 0x00ef Ftest_UM6$B_0$0$0 == 0x00f0 _B_0 = 0x00f0 Ftest_UM6$B_1$0$0 == 0x00f1 _B_1 = 0x00f1 Ftest_UM6$B_2$0$0 == 0x00f2 _B_2 = 0x00f2 Ftest_UM6$B_3$0$0 == 0x00f3 _B_3 = 0x00f3 Ftest_UM6$B_4$0$0 == 0x00f4 _B_4 = 0x00f4 Ftest_UM6$B_5$0$0 == 0x00f5 _B_5 = 0x00f5 Ftest_UM6$B_6$0$0 == 0x00f6 _B_6 = 0x00f6 Ftest_UM6$B_7$0$0 == 0x00f7 _B_7 = 0x00f7 Ftest_UM6$U1ACTIVE$0$0 == 0x00f8 _U1ACTIVE = 0x00f8 Ftest_UM6$U1TX_BYTE$0$0 == 0x00f9 _U1TX_BYTE = 0x00f9 Ftest_UM6$U1RX_BYTE$0$0 == 0x00fa _U1RX_BYTE = 0x00fa Ftest_UM6$U1ERR$0$0 == 0x00fb _U1ERR = 0x00fb Ftest_UM6$U1FE$0$0 == 0x00fc _U1FE = 0x00fc Ftest_UM6$U1SLAVE$0$0 == 0x00fd _U1SLAVE = 0x00fd Ftest_UM6$U1RE$0$0 == 0x00fe _U1RE = 0x00fe Ftest_UM6$U1MODE$0$0 == 0x00ff _U1MODE = 0x00ff ;-------------------------------------------------------- ; overlayable register banks ;-------------------------------------------------------- .area REG_BANK_0 (REL,OVR,DATA) .ds 8 ;-------------------------------------------------------- ; internal ram data ;-------------------------------------------------------- .area DSEG (DATA) G$reportLength$0$0==. _reportLength:: .ds 2 G$reportBytesSent$0$0==. _reportBytesSent:: .ds 2 G$UM6config$0$0==. _UM6config:: .ds 4 LprocessRxbuffer$sloc0$1$0==. _processRxbuffer_sloc0_1_0: .ds 4 LsendReportIfNeeded$sloc0$1$0==. _sendReportIfNeeded_sloc0_1_0: .ds 4 ;-------------------------------------------------------- ; overlayable items in internal ram ;-------------------------------------------------------- .area OSEG (OVR,DATA) Lnext$sloc0$1$0==. _next_sloc0_1_0:: .ds 3 Lnext$sloc1$1$0==. _next_sloc1_1_0:: .ds 3 Lnext$sloc2$1$0==. _next_sloc2_1_0:: .ds 3 .area OSEG (OVR,DATA) Laddlastbuff$sloc0$1$0==. _addlastbuff_sloc0_1_0:: .ds 3 .area OSEG (OVR,DATA) Laddfirstbuff$sloc0$1$0==. _addfirstbuff_sloc0_1_0:: .ds 3 .area OSEG (OVR,DATA) Lisbufffull$sloc0$1$0==. _isbufffull_sloc0_1_0:: .ds 3 Lisbufffull$sloc1$1$0==. _isbufffull_sloc1_1_0:: .ds 3 ;-------------------------------------------------------- ; Stack segment in internal ram ;-------------------------------------------------------- .area SSEG (DATA) __start__stack: .ds 1 ;-------------------------------------------------------- ; indirectly addressable internal ram data ;-------------------------------------------------------- .area ISEG (DATA) ;-------------------------------------------------------- ; absolute internal ram data ;-------------------------------------------------------- .area IABS (ABS,DATA) .area IABS (ABS,DATA) ;-------------------------------------------------------- ; bit data ;-------------------------------------------------------- .area BSEG (BIT) ;-------------------------------------------------------- ; paged external ram data ;-------------------------------------------------------- .area PSEG (PAG,XDATA) Lnext$p$1$1==. _next_p_1_1: .ds 3 Laddlastbuff$item$1$1==. _addlastbuff_PARM_2: .ds 1 Laddlastbuff$p$1$1==. _addlastbuff_p_1_1: .ds 3 Laddfirstbuff$item$1$1==. _addfirstbuff_PARM_2: .ds 1 Laddfirstbuff$p$1$1==. _addfirstbuff_p_1_1: .ds 3 G$um6rx$0$0==. _um6rx:: .ds 50 LsendReportIfNeeded$lastReport$1$1==. _sendReportIfNeeded_lastReport_1_1: .ds 4 LsendReportIfNeeded$reg$1$1==. _sendReportIfNeeded_reg_1_1: .ds 10 ;-------------------------------------------------------- ; external ram data ;-------------------------------------------------------- .area XSEG (XDATA) Ftest_UM6$SYNC1$0$0 == 0xdf00 _SYNC1 = 0xdf00 Ftest_UM6$SYNC0$0$0 == 0xdf01 _SYNC0 = 0xdf01 Ftest_UM6$PKTLEN$0$0 == 0xdf02 _PKTLEN = 0xdf02 Ftest_UM6$PKTCTRL1$0$0 == 0xdf03 _PKTCTRL1 = 0xdf03 Ftest_UM6$PKTCTRL0$0$0 == 0xdf04 _PKTCTRL0 = 0xdf04 Ftest_UM6$ADDR$0$0 == 0xdf05 _ADDR = 0xdf05 Ftest_UM6$CHANNR$0$0 == 0xdf06 _CHANNR = 0xdf06 Ftest_UM6$FSCTRL1$0$0 == 0xdf07 _FSCTRL1 = 0xdf07 Ftest_UM6$FSCTRL0$0$0 == 0xdf08 _FSCTRL0 = 0xdf08 Ftest_UM6$FREQ2$0$0 == 0xdf09 _FREQ2 = 0xdf09 Ftest_UM6$FREQ1$0$0 == 0xdf0a _FREQ1 = 0xdf0a Ftest_UM6$FREQ0$0$0 == 0xdf0b _FREQ0 = 0xdf0b Ftest_UM6$MDMCFG4$0$0 == 0xdf0c _MDMCFG4 = 0xdf0c Ftest_UM6$MDMCFG3$0$0 == 0xdf0d _MDMCFG3 = 0xdf0d Ftest_UM6$MDMCFG2$0$0 == 0xdf0e _MDMCFG2 = 0xdf0e Ftest_UM6$MDMCFG1$0$0 == 0xdf0f _MDMCFG1 = 0xdf0f Ftest_UM6$MDMCFG0$0$0 == 0xdf10 _MDMCFG0 = 0xdf10 Ftest_UM6$DEVIATN$0$0 == 0xdf11 _DEVIATN = 0xdf11 Ftest_UM6$MCSM2$0$0 == 0xdf12 _MCSM2 = 0xdf12 Ftest_UM6$MCSM1$0$0 == 0xdf13 _MCSM1 = 0xdf13 Ftest_UM6$MCSM0$0$0 == 0xdf14 _MCSM0 = 0xdf14 Ftest_UM6$FOCCFG$0$0 == 0xdf15 _FOCCFG = 0xdf15 Ftest_UM6$BSCFG$0$0 == 0xdf16 _BSCFG = 0xdf16 Ftest_UM6$AGCCTRL2$0$0 == 0xdf17 _AGCCTRL2 = 0xdf17 Ftest_UM6$AGCCTRL1$0$0 == 0xdf18 _AGCCTRL1 = 0xdf18 Ftest_UM6$AGCCTRL0$0$0 == 0xdf19 _AGCCTRL0 = 0xdf19 Ftest_UM6$FREND1$0$0 == 0xdf1a _FREND1 = 0xdf1a Ftest_UM6$FREND0$0$0 == 0xdf1b _FREND0 = 0xdf1b Ftest_UM6$FSCAL3$0$0 == 0xdf1c _FSCAL3 = 0xdf1c Ftest_UM6$FSCAL2$0$0 == 0xdf1d _FSCAL2 = 0xdf1d Ftest_UM6$FSCAL1$0$0 == 0xdf1e _FSCAL1 = 0xdf1e Ftest_UM6$FSCAL0$0$0 == 0xdf1f _FSCAL0 = 0xdf1f Ftest_UM6$TEST2$0$0 == 0xdf23 _TEST2 = 0xdf23 Ftest_UM6$TEST1$0$0 == 0xdf24 _TEST1 = 0xdf24 Ftest_UM6$TEST0$0$0 == 0xdf25 _TEST0 = 0xdf25 Ftest_UM6$PA_TABLE0$0$0 == 0xdf2e _PA_TABLE0 = 0xdf2e Ftest_UM6$IOCFG2$0$0 == 0xdf2f _IOCFG2 = 0xdf2f Ftest_UM6$IOCFG1$0$0 == 0xdf30 _IOCFG1 = 0xdf30 Ftest_UM6$IOCFG0$0$0 == 0xdf31 _IOCFG0 = 0xdf31 Ftest_UM6$PARTNUM$0$0 == 0xdf36 _PARTNUM = 0xdf36 Ftest_UM6$VERSION$0$0 == 0xdf37 _VERSION = 0xdf37 Ftest_UM6$FREQEST$0$0 == 0xdf38 _FREQEST = 0xdf38 Ftest_UM6$LQI$0$0 == 0xdf39 _LQI = 0xdf39 Ftest_UM6$RSSI$0$0 == 0xdf3a _RSSI = 0xdf3a Ftest_UM6$MARCSTATE$0$0 == 0xdf3b _MARCSTATE = 0xdf3b Ftest_UM6$PKTSTATUS$0$0 == 0xdf3c _PKTSTATUS = 0xdf3c Ftest_UM6$VCO_VC_DAC$0$0 == 0xdf3d _VCO_VC_DAC = 0xdf3d Ftest_UM6$I2SCFG0$0$0 == 0xdf40 _I2SCFG0 = 0xdf40 Ftest_UM6$I2SCFG1$0$0 == 0xdf41 _I2SCFG1 = 0xdf41 Ftest_UM6$I2SDATL$0$0 == 0xdf42 _I2SDATL = 0xdf42 Ftest_UM6$I2SDATH$0$0 == 0xdf43 _I2SDATH = 0xdf43 Ftest_UM6$I2SWCNT$0$0 == 0xdf44 _I2SWCNT = 0xdf44 Ftest_UM6$I2SSTAT$0$0 == 0xdf45 _I2SSTAT = 0xdf45 Ftest_UM6$I2SCLKF0$0$0 == 0xdf46 _I2SCLKF0 = 0xdf46 Ftest_UM6$I2SCLKF1$0$0 == 0xdf47 _I2SCLKF1 = 0xdf47 Ftest_UM6$I2SCLKF2$0$0 == 0xdf48 _I2SCLKF2 = 0xdf48 Ftest_UM6$USBADDR$0$0 == 0xde00 _USBADDR = 0xde00 Ftest_UM6$USBPOW$0$0 == 0xde01 _USBPOW = 0xde01 Ftest_UM6$USBIIF$0$0 == 0xde02 _USBIIF = 0xde02 Ftest_UM6$USBOIF$0$0 == 0xde04 _USBOIF = 0xde04 Ftest_UM6$USBCIF$0$0 == 0xde06 _USBCIF = 0xde06 Ftest_UM6$USBIIE$0$0 == 0xde07 _USBIIE = 0xde07 Ftest_UM6$USBOIE$0$0 == 0xde09 _USBOIE = 0xde09 Ftest_UM6$USBCIE$0$0 == 0xde0b _USBCIE = 0xde0b Ftest_UM6$USBFRML$0$0 == 0xde0c _USBFRML = 0xde0c Ftest_UM6$USBFRMH$0$0 == 0xde0d _USBFRMH = 0xde0d Ftest_UM6$USBINDEX$0$0 == 0xde0e _USBINDEX = 0xde0e Ftest_UM6$USBMAXI$0$0 == 0xde10 _USBMAXI = 0xde10 Ftest_UM6$USBCSIL$0$0 == 0xde11 _USBCSIL = 0xde11 Ftest_UM6$USBCSIH$0$0 == 0xde12 _USBCSIH = 0xde12 Ftest_UM6$USBMAXO$0$0 == 0xde13 _USBMAXO = 0xde13 Ftest_UM6$USBCSOL$0$0 == 0xde14 _USBCSOL = 0xde14 Ftest_UM6$USBCSOH$0$0 == 0xde15 _USBCSOH = 0xde15 Ftest_UM6$USBCNTL$0$0 == 0xde16 _USBCNTL = 0xde16 Ftest_UM6$USBCNTH$0$0 == 0xde17 _USBCNTH = 0xde17 Ftest_UM6$USBF0$0$0 == 0xde20 _USBF0 = 0xde20 Ftest_UM6$USBF1$0$0 == 0xde22 _USBF1 = 0xde22 Ftest_UM6$USBF2$0$0 == 0xde24 _USBF2 = 0xde24 Ftest_UM6$USBF3$0$0 == 0xde26 _USBF3 = 0xde26 Ftest_UM6$USBF4$0$0 == 0xde28 _USBF4 = 0xde28 Ftest_UM6$USBF5$0$0 == 0xde2a _USBF5 = 0xde2a G$report$0$0==. _report:: .ds 300 G$rxbuf$0$0==. _rxbuf:: .ds 207 LrequestUM6config$txarray$1$1==. _requestUM6config_txarray_1_1: .ds 7 ;-------------------------------------------------------- ; absolute external ram data ;-------------------------------------------------------- .area XABS (ABS,XDATA) ;-------------------------------------------------------- ; external initialized ram data ;-------------------------------------------------------- .area XISEG (XDATA) .area HOME (CODE) .area GSINIT0 (CODE) .area GSINIT1 (CODE) .area GSINIT2 (CODE) .area GSINIT3 (CODE) .area GSINIT4 (CODE) .area GSINIT5 (CODE) .area GSINIT (CODE) .area GSFINAL (CODE) .area CSEG (CODE) ;-------------------------------------------------------- ; interrupt vector ;-------------------------------------------------------- .area HOME (CODE) __interrupt_vect: ljmp __sdcc_gsinit_startup reti .ds 7 reti .ds 7 reti .ds 7 ljmp _ISR_URX1 .ds 5 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 reti .ds 7 ljmp _ISR_T4 .ds 5 reti .ds 7 ljmp _ISR_UTX1 ;-------------------------------------------------------- ; global & static initialisations ;-------------------------------------------------------- .area HOME (CODE) .area GSINIT (CODE) .area GSFINAL (CODE) .area GSINIT (CODE) .globl __sdcc_gsinit_startup .globl __sdcc_program_startup .globl __start__stack .globl __mcs51_genXINIT .globl __mcs51_genXRAMCLEAR .globl __mcs51_genRAMCLEAR G$main$0$0 ==. C$test_UM6.c$18$1$1 ==. ; apps/test_UM6/test_UM6.c:18: uint16 DATA reportLength = 0; clr a mov _reportLength,a mov (_reportLength + 1),a G$main$0$0 ==. C$test_UM6.c$22$1$1 ==. ; apps/test_UM6/test_UM6.c:22: uint16 DATA reportBytesSent = 0; clr a mov _reportBytesSent,a mov (_reportBytesSent + 1),a G$main$0$0 ==. C$test_UM6.c$26$1$1 ==. ; apps/test_UM6/test_UM6.c:26: uint32 DATA UM6config=1; // gets the config of UM6 mov _UM6config,#0x01 clr a mov (_UM6config + 1),a mov (_UM6config + 2),a mov (_UM6config + 3),a .area GSFINAL (CODE) ljmp __sdcc_program_startup ;-------------------------------------------------------- ; Home ;-------------------------------------------------------- .area HOME (CODE) .area HOME (CODE) __sdcc_program_startup: lcall _main ; return from main will lock up sjmp . ;-------------------------------------------------------- ; code ;-------------------------------------------------------- .area CSEG (CODE) ;------------------------------------------------------------ ;Allocation info for local variables in function 'next' ;------------------------------------------------------------ ;sloc0 Allocated with name '_next_sloc0_1_0' ;sloc1 Allocated with name '_next_sloc1_1_0' ;sloc2 Allocated with name '_next_sloc2_1_0' ;------------------------------------------------------------ G$next$0$0 ==. C$circbuf.c$5$0$0 ==. ; apps/test_UM6/../circbuf.c:5: uint8 next(struct circbuff *p) ; ----------------------------------------- ; function next ; ----------------------------------------- _next: ar2 = 0x02 ar3 = 0x03 ar4 = 0x04 ar5 = 0x05 ar6 = 0x06 ar7 = 0x07 ar0 = 0x00 ar1 = 0x01 mov r2,b mov r3,dph mov a,dpl mov r0,#_next_p_1_1 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a C$circbuf.c$8$1$1 ==. ; apps/test_UM6/../circbuf.c:8: if(p->start==p->end) mov r0,#_next_p_1_1 movx a,@r0 add a,#0xC8 mov _next_sloc2_1_0,a inc r0 movx a,@r0 addc a,#0x00 mov (_next_sloc2_1_0 + 1),a inc r0 movx a,@r0 mov (_next_sloc2_1_0 + 2),a mov dpl,_next_sloc2_1_0 mov dph,(_next_sloc2_1_0 + 1) mov b,(_next_sloc2_1_0 + 2) lcall __gptrget mov _next_sloc0_1_0,a inc dptr lcall __gptrget mov (_next_sloc0_1_0 + 1),a inc dptr lcall __gptrget mov (_next_sloc0_1_0 + 2),a mov r0,#_next_p_1_1 movx a,@r0 add a,#0xCB mov _next_sloc1_1_0,a inc r0 movx a,@r0 addc a,#0x00 mov (_next_sloc1_1_0 + 1),a inc r0 movx a,@r0 mov (_next_sloc1_1_0 + 2),a mov dpl,_next_sloc1_1_0 mov dph,(_next_sloc1_1_0 + 1) mov b,(_next_sloc1_1_0 + 2) lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a inc dptr lcall __gptrget mov r5,a mov a,r3 cjne a,_next_sloc0_1_0,00105$ mov a,r4 cjne a,(_next_sloc0_1_0 + 1),00105$ mov a,r5 cjne a,(_next_sloc0_1_0 + 2),00105$ C$circbuf.c$11$2$2 ==. ; apps/test_UM6/../circbuf.c:11: return 0; mov dpl,#0x00 ret 00105$: C$circbuf.c$15$2$3 ==. ; apps/test_UM6/../circbuf.c:15: tch = *(p->start); mov dpl,_next_sloc0_1_0 mov dph,(_next_sloc0_1_0 + 1) mov b,(_next_sloc0_1_0 + 2) lcall __gptrget mov r3,a C$circbuf.c$16$2$3 ==. ; apps/test_UM6/../circbuf.c:16: if(p->start != p->ch+bufsize-1) mov r0,#_next_p_1_1 movx a,@r0 add a,#0xC7 mov r4,a inc r0 movx a,@r0 addc a,#0x00 mov r5,a inc r0 movx a,@r0 mov r6,a mov a,r4 cjne a,_next_sloc0_1_0,00113$ mov a,r5 cjne a,(_next_sloc0_1_0 + 1),00113$ mov a,r6 cjne a,(_next_sloc0_1_0 + 2),00113$ sjmp 00102$ 00113$: C$circbuf.c$18$3$4 ==. ; apps/test_UM6/../circbuf.c:18: p->start = p->start+1; mov a,#0x01 add a,_next_sloc0_1_0 mov r4,a clr a addc a,(_next_sloc0_1_0 + 1) mov r5,a mov r6,(_next_sloc0_1_0 + 2) mov dpl,_next_sloc2_1_0 mov dph,(_next_sloc2_1_0 + 1) mov b,(_next_sloc2_1_0 + 2) mov a,r4 lcall __gptrput inc dptr mov a,r5 lcall __gptrput inc dptr mov a,r6 lcall __gptrput sjmp 00103$ 00102$: C$circbuf.c$22$3$5 ==. ; apps/test_UM6/../circbuf.c:22: p->start = p->ch; mov dpl,_next_sloc2_1_0 mov dph,(_next_sloc2_1_0 + 1) mov b,(_next_sloc2_1_0 + 2) mov r0,#_next_p_1_1 movx a,@r0 lcall __gptrput inc dptr inc r0 movx a,@r0 lcall __gptrput inc dptr inc r0 movx a,@r0 lcall __gptrput 00103$: C$circbuf.c$25$2$3 ==. ; apps/test_UM6/../circbuf.c:25: return tch; mov dpl,r3 C$circbuf.c$28$1$1 ==. XG$next$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'addlastbuff' ;------------------------------------------------------------ ;sloc0 Allocated with name '_addlastbuff_sloc0_1_0' ;------------------------------------------------------------ G$addlastbuff$0$0 ==. C$circbuf.c$30$1$1 ==. ; apps/test_UM6/../circbuf.c:30: int addlastbuff(struct circbuff *p,uint8 item) ; ----------------------------------------- ; function addlastbuff ; ----------------------------------------- _addlastbuff: mov r2,b mov r3,dph mov a,dpl mov r0,#_addlastbuff_p_1_1 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a C$circbuf.c$32$1$1 ==. ; apps/test_UM6/../circbuf.c:32: if(p->end==p->ch+bufsize-1) mov r0,#_addlastbuff_p_1_1 movx a,@r0 add a,#0xCB mov r5,a inc r0 movx a,@r0 addc a,#0x00 mov r6,a inc r0 movx a,@r0 mov r7,a mov dpl,r5 mov dph,r6 mov b,r7 lcall __gptrget mov _addlastbuff_sloc0_1_0,a inc dptr lcall __gptrget mov (_addlastbuff_sloc0_1_0 + 1),a inc dptr lcall __gptrget mov (_addlastbuff_sloc0_1_0 + 2),a mov r0,#_addlastbuff_p_1_1 movx a,@r0 add a,#0xC7 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov a,r2 cjne a,_addlastbuff_sloc0_1_0,00108$ mov a,r3 cjne a,(_addlastbuff_sloc0_1_0 + 1),00108$ mov a,r4 cjne a,(_addlastbuff_sloc0_1_0 + 2),00108$ C$circbuf.c$34$2$2 ==. ; apps/test_UM6/../circbuf.c:34: if(p->start==p->ch) mov r0,#_addlastbuff_p_1_1 movx a,@r0 add a,#0xC8 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov dpl,r2 mov dph,r3 mov b,r4 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a mov r0,#_addlastbuff_p_1_1 movx a,@r0 cjne a,ar2,00117$ inc r0 movx a,@r0 cjne a,ar3,00117$ inc r0 movx a,@r0 cjne a,ar4,00117$ sjmp 00118$ 00117$: sjmp 00102$ 00118$: C$circbuf.c$37$3$3 ==. ; apps/test_UM6/../circbuf.c:37: return 0; mov dptr,#0x0000 ret 00102$: C$circbuf.c$41$3$4 ==. ; apps/test_UM6/../circbuf.c:41: *(p->end)=item; mov dpl,_addlastbuff_sloc0_1_0 mov dph,(_addlastbuff_sloc0_1_0 + 1) mov b,(_addlastbuff_sloc0_1_0 + 2) mov r0,#_addlastbuff_PARM_2 movx a,@r0 lcall __gptrput C$circbuf.c$42$3$4 ==. ; apps/test_UM6/../circbuf.c:42: p->end = p->ch; mov dpl,r5 mov dph,r6 mov b,r7 mov r0,#_addlastbuff_p_1_1 movx a,@r0 lcall __gptrput inc dptr inc r0 movx a,@r0 lcall __gptrput inc dptr inc r0 movx a,@r0 ljmp __gptrput 00108$: C$circbuf.c$47$2$5 ==. ; apps/test_UM6/../circbuf.c:47: if(p->end==(p->start-1)) mov r0,#_addlastbuff_p_1_1 movx a,@r0 add a,#0xC8 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov dpl,r2 mov dph,r3 mov b,r4 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a dec r2 cjne r2,#0xff,00119$ dec r3 00119$: mov a,r2 cjne a,_addlastbuff_sloc0_1_0,00105$ mov a,r3 cjne a,(_addlastbuff_sloc0_1_0 + 1),00105$ mov a,r4 cjne a,(_addlastbuff_sloc0_1_0 + 2),00105$ C$circbuf.c$50$3$6 ==. ; apps/test_UM6/../circbuf.c:50: return 0; mov dptr,#0x0000 ret 00105$: C$circbuf.c$54$3$7 ==. ; apps/test_UM6/../circbuf.c:54: *(p->end)=item; mov dpl,_addlastbuff_sloc0_1_0 mov dph,(_addlastbuff_sloc0_1_0 + 1) mov b,(_addlastbuff_sloc0_1_0 + 2) mov r0,#_addlastbuff_PARM_2 movx a,@r0 lcall __gptrput C$circbuf.c$55$3$7 ==. ; apps/test_UM6/../circbuf.c:55: p->end = p->end+1; mov a,#0x01 add a,_addlastbuff_sloc0_1_0 mov r2,a clr a addc a,(_addlastbuff_sloc0_1_0 + 1) mov r3,a mov r4,(_addlastbuff_sloc0_1_0 + 2) mov dpl,r5 mov dph,r6 mov b,r7 mov a,r2 lcall __gptrput inc dptr mov a,r3 lcall __gptrput inc dptr mov a,r4 C$circbuf.c$58$1$1 ==. XG$addlastbuff$0$0 ==. ljmp __gptrput ;------------------------------------------------------------ ;Allocation info for local variables in function 'addfirstbuff' ;------------------------------------------------------------ ;sloc0 Allocated with name '_addfirstbuff_sloc0_1_0' ;------------------------------------------------------------ G$addfirstbuff$0$0 ==. C$circbuf.c$60$1$1 ==. ; apps/test_UM6/../circbuf.c:60: int addfirstbuff(struct circbuff *p,uint8 item) ; ----------------------------------------- ; function addfirstbuff ; ----------------------------------------- _addfirstbuff: mov r2,b mov r3,dph mov a,dpl mov r0,#_addfirstbuff_p_1_1 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a C$circbuf.c$62$1$1 ==. ; apps/test_UM6/../circbuf.c:62: if(p->start==p->ch) mov r0,#_addfirstbuff_p_1_1 movx a,@r0 add a,#0xC8 mov r5,a inc r0 movx a,@r0 addc a,#0x00 mov r6,a inc r0 movx a,@r0 mov r7,a mov dpl,r5 mov dph,r6 mov b,r7 lcall __gptrget mov _addfirstbuff_sloc0_1_0,a inc dptr lcall __gptrget mov (_addfirstbuff_sloc0_1_0 + 1),a inc dptr lcall __gptrget mov (_addfirstbuff_sloc0_1_0 + 2),a mov r0,#_addfirstbuff_p_1_1 movx a,@r0 cjne a,_addfirstbuff_sloc0_1_0,00115$ inc r0 movx a,@r0 cjne a,(_addfirstbuff_sloc0_1_0 + 1),00115$ inc r0 movx a,@r0 cjne a,(_addfirstbuff_sloc0_1_0 + 2),00115$ sjmp 00116$ 00115$: ljmp 00108$ 00116$: C$circbuf.c$64$1$1 ==. ; apps/test_UM6/../circbuf.c:64: if(p->end==p->ch+bufsize-1) push ar5 push ar6 push ar7 mov r0,#_addfirstbuff_p_1_1 movx a,@r0 add a,#0xCB mov r5,a inc r0 movx a,@r0 addc a,#0x00 mov r6,a inc r0 movx a,@r0 mov r7,a mov dpl,r5 mov dph,r6 mov b,r7 lcall __gptrget mov r5,a inc dptr lcall __gptrget mov r6,a inc dptr lcall __gptrget mov r7,a mov r0,#_addfirstbuff_p_1_1 movx a,@r0 add a,#0xC7 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov a,r5 cjne a,ar2,00117$ mov a,r6 cjne a,ar3,00117$ mov a,r7 cjne a,ar4,00117$ sjmp 00118$ 00117$: pop ar7 pop ar6 pop ar5 sjmp 00102$ 00118$: pop ar7 pop ar6 pop ar5 C$circbuf.c$67$3$3 ==. ; apps/test_UM6/../circbuf.c:67: return 0; mov dptr,#0x0000 ret 00102$: C$circbuf.c$71$3$4 ==. ; apps/test_UM6/../circbuf.c:71: p->start = p->ch+bufsize-1; mov r0,#_addfirstbuff_p_1_1 movx a,@r0 add a,#0xC7 mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov dpl,r5 mov dph,r6 mov b,r7 mov a,r2 lcall __gptrput inc dptr mov a,r3 lcall __gptrput inc dptr mov a,r4 lcall __gptrput C$circbuf.c$72$3$4 ==. ; apps/test_UM6/../circbuf.c:72: *(p->start)=item; mov dpl,r5 mov dph,r6 mov b,r7 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a mov dpl,r2 mov dph,r3 mov b,r4 mov r0,#_addfirstbuff_PARM_2 movx a,@r0 ljmp __gptrput 00108$: C$circbuf.c$78$2$5 ==. ; apps/test_UM6/../circbuf.c:78: if(p->end==(p->start-1)) mov r0,#_addfirstbuff_p_1_1 movx a,@r0 add a,#0xCB mov r2,a inc r0 movx a,@r0 addc a,#0x00 mov r3,a inc r0 movx a,@r0 mov r4,a mov dpl,r2 mov dph,r3 mov b,r4 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a dec _addfirstbuff_sloc0_1_0 mov a,#0xff cjne a,_addfirstbuff_sloc0_1_0,00119$ dec (_addfirstbuff_sloc0_1_0 + 1) 00119$: mov a,r2 cjne a,_addfirstbuff_sloc0_1_0,00105$ mov a,r3 cjne a,(_addfirstbuff_sloc0_1_0 + 1),00105$ mov a,r4 cjne a,(_addfirstbuff_sloc0_1_0 + 2),00105$ C$circbuf.c$81$3$6 ==. ; apps/test_UM6/../circbuf.c:81: return 0; mov dptr,#0x0000 ret 00105$: C$circbuf.c$85$3$7 ==. ; apps/test_UM6/../circbuf.c:85: p->start = p->start-1; mov dpl,r5 mov dph,r6 mov b,r7 mov a,_addfirstbuff_sloc0_1_0 lcall __gptrput inc dptr mov a,(_addfirstbuff_sloc0_1_0 + 1) lcall __gptrput inc dptr mov a,(_addfirstbuff_sloc0_1_0 + 2) lcall __gptrput C$circbuf.c$86$3$7 ==. ; apps/test_UM6/../circbuf.c:86: *(p->start)=item; mov dpl,_addfirstbuff_sloc0_1_0 mov dph,(_addfirstbuff_sloc0_1_0 + 1) mov b,(_addfirstbuff_sloc0_1_0 + 2) mov r0,#_addfirstbuff_PARM_2 movx a,@r0 C$circbuf.c$89$1$1 ==. XG$addfirstbuff$0$0 ==. ljmp __gptrput ;------------------------------------------------------------ ;Allocation info for local variables in function 'isbufffull' ;------------------------------------------------------------ ;sloc0 Allocated with name '_isbufffull_sloc0_1_0' ;sloc1 Allocated with name '_isbufffull_sloc1_1_0' ;------------------------------------------------------------ G$isbufffull$0$0 ==. C$circbuf.c$92$1$1 ==. ; apps/test_UM6/../circbuf.c:92: int isbufffull(struct circbuff *p) ; ----------------------------------------- ; function isbufffull ; ----------------------------------------- _isbufffull: mov r3,dpl mov r4,dph mov r2,b C$circbuf.c$94$1$1 ==. ; apps/test_UM6/../circbuf.c:94: if(p->end==p->ch+bufsize-1) mov a,#0xCB add a,r3 mov r5,a clr a addc a,r4 mov r6,a mov ar7,r2 mov dpl,r5 mov dph,r6 mov b,r7 lcall __gptrget mov _isbufffull_sloc1_1_0,a inc dptr lcall __gptrget mov (_isbufffull_sloc1_1_0 + 1),a inc dptr lcall __gptrget mov (_isbufffull_sloc1_1_0 + 2),a mov a,#0xC7 add a,r3 mov _isbufffull_sloc0_1_0,a clr a addc a,r4 mov (_isbufffull_sloc0_1_0 + 1),a mov (_isbufffull_sloc0_1_0 + 2),r2 mov a,_isbufffull_sloc0_1_0 cjne a,_isbufffull_sloc1_1_0,00108$ mov a,(_isbufffull_sloc0_1_0 + 1) cjne a,(_isbufffull_sloc1_1_0 + 1),00108$ mov a,(_isbufffull_sloc0_1_0 + 2) cjne a,(_isbufffull_sloc1_1_0 + 2),00108$ C$circbuf.c$96$2$2 ==. ; apps/test_UM6/../circbuf.c:96: if(p->start==p->ch) mov a,#0xC8 add a,r3 mov _isbufffull_sloc0_1_0,a clr a addc a,r4 mov (_isbufffull_sloc0_1_0 + 1),a mov (_isbufffull_sloc0_1_0 + 2),r2 mov dpl,_isbufffull_sloc0_1_0 mov dph,(_isbufffull_sloc0_1_0 + 1) mov b,(_isbufffull_sloc0_1_0 + 2) lcall __gptrget mov _isbufffull_sloc0_1_0,a inc dptr lcall __gptrget mov (_isbufffull_sloc0_1_0 + 1),a inc dptr lcall __gptrget mov (_isbufffull_sloc0_1_0 + 2),a mov a,r3 cjne a,_isbufffull_sloc0_1_0,00102$ mov a,r4 cjne a,(_isbufffull_sloc0_1_0 + 1),00102$ mov a,r2 cjne a,(_isbufffull_sloc0_1_0 + 2),00102$ C$circbuf.c$99$3$3 ==. ; apps/test_UM6/../circbuf.c:99: return 1; mov dptr,#0x0001 ret 00102$: C$circbuf.c$103$3$4 ==. ; apps/test_UM6/../circbuf.c:103: return 0; mov dptr,#0x0000 ret 00108$: C$circbuf.c$108$2$5 ==. ; apps/test_UM6/../circbuf.c:108: if(p->end==p->start-1) mov a,#0xC8 add a,r3 mov r3,a clr a addc a,r4 mov r4,a mov ar5,r2 mov dpl,r3 mov dph,r4 mov b,r5 lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a inc dptr lcall __gptrget mov r5,a dec r3 cjne r3,#0xff,00119$ dec r4 00119$: mov a,r3 cjne a,_isbufffull_sloc1_1_0,00105$ mov a,r4 cjne a,(_isbufffull_sloc1_1_0 + 1),00105$ mov a,r5 cjne a,(_isbufffull_sloc1_1_0 + 2),00105$ C$circbuf.c$111$3$6 ==. ; apps/test_UM6/../circbuf.c:111: return 1; mov dptr,#0x0001 C$circbuf.c$115$3$7 ==. ; apps/test_UM6/../circbuf.c:115: return 0; C$circbuf.c$118$1$1 ==. XG$isbufffull$0$0 ==. ret 00105$: mov dptr,#0x0000 ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'updateLeds' ;------------------------------------------------------------ ;------------------------------------------------------------ G$updateLeds$0$0 ==. C$test_UM6.c$44$1$1 ==. ; apps/test_UM6/test_UM6.c:44: void updateLeds() ; ----------------------------------------- ; function updateLeds ; ----------------------------------------- _updateLeds: C$test_UM6.c$46$1$1 ==. ; apps/test_UM6/test_UM6.c:46: usbShowStatusWithGreenLed(); C$test_UM6.c$48$1$1 ==. XG$updateLeds$0$0 ==. ljmp _usbShowStatusWithGreenLed ;------------------------------------------------------------ ;Allocation info for local variables in function 'putchar' ;------------------------------------------------------------ ;------------------------------------------------------------ G$putchar$0$0 ==. C$test_UM6.c$49$1$1 ==. ; apps/test_UM6/test_UM6.c:49: void putchar(char c) ; ----------------------------------------- ; function putchar ; ----------------------------------------- _putchar: mov r2,dpl C$test_UM6.c$51$1$1 ==. ; apps/test_UM6/test_UM6.c:51: report[reportLength] = c; mov a,_reportLength add a,#_report mov dpl,a mov a,(_reportLength + 1) addc a,#(_report >> 8) mov dph,a mov a,r2 movx @dptr,a C$test_UM6.c$52$1$1 ==. ; apps/test_UM6/test_UM6.c:52: reportLength++; inc _reportLength clr a cjne a,_reportLength,00103$ inc (_reportLength + 1) 00103$: C$test_UM6.c$53$1$1 ==. XG$putchar$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'requestUM6config' ;------------------------------------------------------------ ;txarray Allocated with name '_requestUM6config_txarray_1_1' ;------------------------------------------------------------ G$requestUM6config$0$0 ==. C$test_UM6.c$56$1$1 ==. ; apps/test_UM6/test_UM6.c:56: void requestUM6config(){ ; ----------------------------------------- ; function requestUM6config ; ----------------------------------------- _requestUM6config: C$test_UM6.c$58$1$1 ==. ; apps/test_UM6/test_UM6.c:58: uint8 XDATA txarray[7] = {0x73,0x6e,0x70,0x44,0x00,0x01,0x95}; mov dptr,#_requestUM6config_txarray_1_1 mov a,#0x73 movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0001) mov a,#0x6E movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0002) mov a,#0x70 movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0003) mov a,#0x44 movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0004) clr a movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0005) mov a,#0x01 movx @dptr,a mov dptr,#(_requestUM6config_txarray_1_1 + 0x0006) mov a,#0x95 movx @dptr,a C$test_UM6.c$59$1$1 ==. ; apps/test_UM6/test_UM6.c:59: while(uart1TxAvailable()<7){} //wait until 7 bytes in buffer opens up 00101$: lcall _uart1TxAvailable mov r2,dpl cjne r2,#0x07,00108$ 00108$: jc 00101$ C$test_UM6.c$60$1$1 ==. ; apps/test_UM6/test_UM6.c:60: uart1TxSend(txarray,7); mov r0,#_uart1TxSend_PARM_2 mov a,#0x07 movx @r0,a mov dptr,#_requestUM6config_txarray_1_1 C$test_UM6.c$64$1$1 ==. XG$requestUM6config$0$0 ==. ljmp _uart1TxSend ;------------------------------------------------------------ ;Allocation info for local variables in function 'processRxbuffer' ;------------------------------------------------------------ ;sloc0 Allocated with name '_processRxbuffer_sloc0_1_0' ;------------------------------------------------------------ G$processRxbuffer$0$0 ==. C$test_UM6.c$68$1$1 ==. ; apps/test_UM6/test_UM6.c:68: void processRxbuffer(){ ; ----------------------------------------- ; function processRxbuffer ; ----------------------------------------- _processRxbuffer: C$test_UM6.c$76$1$1 ==. ; apps/test_UM6/test_UM6.c:76: if(rxbuf.start = rxbuf.end){ mov dptr,#(_rxbuf + 0x00cb) movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a mov dptr,#(_rxbuf + 0x00c8) mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a mov a,r2 orl a,r3 orl a,r4 jz 00140$ C$test_UM6.c$77$2$2 ==. ; apps/test_UM6/test_UM6.c:77: return; ret C$test_UM6.c$80$1$1 ==. ; apps/test_UM6/test_UM6.c:80: while((rxbuf.start!=rxbuf.end) && bytecount < 100){ 00140$: mov r2,#0x00 00131$: push ar2 mov dptr,#(_rxbuf + 0x00c8) movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr mov r5,a mov dptr,#(_rxbuf + 0x00cb) movx a,@dptr mov r6,a inc dptr movx a,@dptr mov r7,a inc dptr movx a,@dptr mov r2,a mov a,r3 cjne a,ar6,00153$ mov a,r4 cjne a,ar7,00153$ mov a,r5 cjne a,ar2,00153$ pop ar2 ret 00153$: pop ar2 cjne r2,#0x64,00154$ 00154$: jc 00155$ ret 00155$: C$test_UM6.c$81$2$3 ==. ; apps/test_UM6/test_UM6.c:81: newbyte = next(&rxbuf); mov dptr,#_rxbuf mov b,#0x00 push ar2 lcall _next mov r7,dpl pop ar2 C$test_UM6.c$82$2$3 ==. ; apps/test_UM6/test_UM6.c:82: bytecount++; inc r2 C$test_UM6.c$83$2$3 ==. ; apps/test_UM6/test_UM6.c:83: if(um6rx.plen==0){// start new packet look for 's' or 0x73 mov r0,#_um6rx movx a,@r0 jnz 00118$ C$test_UM6.c$84$3$4 ==. ; apps/test_UM6/test_UM6.c:84: if(newbyte!=0x73){ cjne r7,#0x73,00131$ C$test_UM6.c$87$4$6 ==. ; apps/test_UM6/test_UM6.c:87: um6rx.plen = 1; mov r0,#_um6rx mov a,#0x01 movx @r0,a C$test_UM6.c$88$4$6 ==. ; apps/test_UM6/test_UM6.c:88: um6rx.chksum = 0x73; // initialize checksum mov r0,#(_um6rx + 0x000a) mov a,#0x73 movx @r0,a inc r0 clr a movx @r0,a inc r0 movx @r0,a inc r0 movx @r0,a C$test_UM6.c$89$4$6 ==. ; apps/test_UM6/test_UM6.c:89: continue; sjmp 00131$ 00118$: C$test_UM6.c$91$2$3 ==. ; apps/test_UM6/test_UM6.c:91: }else if(um6rx.plen == 1){ // look for 'n' 0x6e mov r0,#_um6rx movx a,@r0 mov r4,a cjne r4,#0x01,00115$ C$test_UM6.c$92$3$7 ==. ; apps/test_UM6/test_UM6.c:92: if(newbyte!=0x6e){ cjne r7,#0x6E,00131$ C$test_UM6.c$95$4$9 ==. ; apps/test_UM6/test_UM6.c:95: um6rx.plen=2; mov r0,#_um6rx mov a,#0x02 movx @r0,a C$test_UM6.c$96$4$9 ==. ; apps/test_UM6/test_UM6.c:96: um6rx.chksum += 0x6e; mov r0,#(_um6rx + 0x000a) movx a,@r0 mov r4,a inc r0 movx a,@r0 mov r5,a inc r0 movx a,@r0 mov r6,a inc r0 movx a,@r0 mov r7,a mov a,#0x6E add a,r4 mov r4,a clr a addc a,r5 mov r5,a clr a addc a,r6 mov r6,a clr a addc a,r7 mov r7,a mov r0,#(_um6rx + 0x000a) mov a,r4 movx @r0,a inc r0 mov a,r5 movx @r0,a inc r0 mov a,r6 movx @r0,a inc r0 mov a,r7 movx @r0,a C$test_UM6.c$97$4$9 ==. ; apps/test_UM6/test_UM6.c:97: continue; ljmp 00131$ 00115$: C$test_UM6.c$99$2$3 ==. ; apps/test_UM6/test_UM6.c:99: }else if(um6rx.plen == 2){ // look for 'p' 0x70 mov r0,#_um6rx movx a,@r0 mov r4,a cjne r4,#0x02,00119$ C$test_UM6.c$100$3$10 ==. ; apps/test_UM6/test_UM6.c:100: if(newbyte!=0x6e){ cjne r7,#0x6E,00165$ sjmp 00166$ 00165$: ljmp 00131$ 00166$: C$test_UM6.c$103$4$12 ==. ; apps/test_UM6/test_UM6.c:103: um6rx.plen=3; mov r0,#_um6rx mov a,#0x03 movx @r0,a C$test_UM6.c$104$4$12 ==. ; apps/test_UM6/test_UM6.c:104: um6rx.chksum += 0x70; mov r0,#(_um6rx + 0x000a) movx a,@r0 mov r4,a inc r0 movx a,@r0 mov r5,a inc r0 movx a,@r0 mov r6,a inc r0 movx a,@r0 mov r7,a mov a,#0x70 add a,r4 mov r4,a clr a addc a,r5 mov r5,a clr a addc a,r6 mov r6,a clr a addc a,r7 mov r7,a mov r0,#(_um6rx + 0x000a) mov a,r4 movx @r0,a inc r0 mov a,r5 movx @r0,a inc r0 mov a,r6 movx @r0,a inc r0 mov a,r7 movx @r0,a C$test_UM6.c$105$4$12 ==. ; apps/test_UM6/test_UM6.c:105: continue; ljmp 00131$ 00119$: C$test_UM6.c$110$2$3 ==. ; apps/test_UM6/test_UM6.c:110: if(um6rx.plen == 3){//PT mov r0,#_um6rx movx a,@r0 mov r4,a cjne r4,#0x03,00127$ C$test_UM6.c$111$1$1 ==. ; apps/test_UM6/test_UM6.c:111: um6rx.curpkt = newbyte; push ar2 mov r0,#(_um6rx + 0x0001) mov a,r7 movx @r0,a C$test_UM6.c$112$3$13 ==. ; apps/test_UM6/test_UM6.c:112: um6rx.plen += 1; mov r0,#_um6rx movx a,@r0 mov r5,a inc r5 mov r0,#_um6rx mov a,r5 movx @r0,a C$test_UM6.c$113$3$13 ==. ; apps/test_UM6/test_UM6.c:113: um6rx.chksum += newbyte; mov r0,#(_um6rx + 0x000a) movx a,@r0 mov _processRxbuffer_sloc0_1_0,a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 1),a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 2),a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 3),a mov ar3,r7 clr a mov r2,a mov r5,a mov r6,a mov a,r3 add a,_processRxbuffer_sloc0_1_0 mov r3,a mov a,r2 addc a,(_processRxbuffer_sloc0_1_0 + 1) mov r2,a mov a,r5 addc a,(_processRxbuffer_sloc0_1_0 + 2) mov r5,a mov a,r6 addc a,(_processRxbuffer_sloc0_1_0 + 3) mov r6,a mov r0,#(_um6rx + 0x000a) mov a,r3 movx @r0,a inc r0 mov a,r2 movx @r0,a inc r0 mov a,r5 movx @r0,a inc r0 mov a,r6 movx @r0,a C$test_UM6.c$115$3$13 ==. ; apps/test_UM6/test_UM6.c:115: if(newbyte & 0x80){ // check if it has data mov a,r7 pop ar2 jnb acc.7,00121$ C$test_UM6.c$116$4$14 ==. ; apps/test_UM6/test_UM6.c:116: um6rx.hasdata = 1; mov r0,#(_um6rx + 0x0004) mov a,#0x01 movx @r0,a 00121$: C$test_UM6.c$118$3$13 ==. ; apps/test_UM6/test_UM6.c:118: if(newbyte & 0x40){ // check if bytes or registers mov a,r7 jnb acc.6,00123$ C$test_UM6.c$119$4$15 ==. ; apps/test_UM6/test_UM6.c:119: um6rx.isbatch = 1; mov r0,#(_um6rx + 0x0005) mov a,#0x01 movx @r0,a 00123$: C$test_UM6.c$121$3$13 ==. ; apps/test_UM6/test_UM6.c:121: if(!(newbyte & 0xfe)){ // check if it is a command failed packet mov a,r7 anl a,#0xFE jz 00172$ ljmp 00131$ 00172$: C$test_UM6.c$122$4$16 ==. ; apps/test_UM6/test_UM6.c:122: um6rx.commandfailed = 1; mov r0,#(_um6rx + 0x0006) mov a,#0x01 movx @r0,a inc r0 clr a movx @r0,a inc r0 movx @r0,a inc r0 movx @r0,a C$test_UM6.c$124$3$13 ==. ; apps/test_UM6/test_UM6.c:124: continue; ljmp 00131$ 00127$: C$test_UM6.c$126$2$3 ==. ; apps/test_UM6/test_UM6.c:126: if(um6rx.plen==4){//ADDRESS cjne r4,#0x04,00173$ sjmp 00174$ 00173$: ljmp 00131$ 00174$: C$test_UM6.c$127$1$1 ==. ; apps/test_UM6/test_UM6.c:127: um6rx.address = newbyte; push ar2 mov r0,#(_um6rx + 0x0002) mov a,r7 movx @r0,a C$test_UM6.c$128$3$17 ==. ; apps/test_UM6/test_UM6.c:128: um6rx.chksum += newbyte; mov r0,#(_um6rx + 0x000a) movx a,@r0 mov _processRxbuffer_sloc0_1_0,a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 1),a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 2),a inc r0 movx a,@r0 mov (_processRxbuffer_sloc0_1_0 + 3),a clr a mov r2,a mov r3,a mov r4,a mov a,r7 add a,_processRxbuffer_sloc0_1_0 mov r7,a mov a,r2 addc a,(_processRxbuffer_sloc0_1_0 + 1) mov r2,a mov a,r3 addc a,(_processRxbuffer_sloc0_1_0 + 2) mov r3,a mov a,r4 addc a,(_processRxbuffer_sloc0_1_0 + 3) mov r4,a mov r0,#(_um6rx + 0x000a) mov a,r7 movx @r0,a inc r0 mov a,r2 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r4 movx @r0,a C$test_UM6.c$129$3$17 ==. ; apps/test_UM6/test_UM6.c:129: um6rx.plen += 1; mov r0,#_um6rx movx a,@r0 mov r2,a inc r2 mov r0,#_um6rx mov a,r2 movx @r0,a C$test_UM6.c$130$1$1 ==. ; apps/test_UM6/test_UM6.c:130: continue; pop ar2 C$test_UM6.c$140$1$1 ==. XG$processRxbuffer$0$0 ==. ljmp 00131$ ;------------------------------------------------------------ ;Allocation info for local variables in function 'sendReportIfNeeded' ;------------------------------------------------------------ ;sloc0 Allocated with name '_sendReportIfNeeded_sloc0_1_0' ;------------------------------------------------------------ G$sendReportIfNeeded$0$0 ==. C$test_UM6.c$142$1$1 ==. ; apps/test_UM6/test_UM6.c:142: void sendReportIfNeeded() ; ----------------------------------------- ; function sendReportIfNeeded ; ----------------------------------------- _sendReportIfNeeded: C$test_UM6.c$147$1$1 ==. ; apps/test_UM6/test_UM6.c:147: uint8 reg[10]={0}; mov r0,#_sendReportIfNeeded_reg_1_1 clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0001) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0002) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0003) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0004) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0005) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0006) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0007) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0008) clr a movx @r0,a mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0009) clr a movx @r0,a C$test_UM6.c$151$1$1 ==. ; apps/test_UM6/test_UM6.c:151: if (getMs() - lastReport >= param_report_period_ms && reportLength == 0) lcall _getMs mov r2,dpl mov r3,dph mov r4,b mov r5,a mov r0,#_sendReportIfNeeded_lastReport_1_1 setb c movx a,@r0 subb a,r2 cpl a cpl c mov _sendReportIfNeeded_sloc0_1_0,a cpl c inc r0 movx a,@r0 subb a,r3 cpl a cpl c mov (_sendReportIfNeeded_sloc0_1_0 + 1),a cpl c inc r0 movx a,@r0 subb a,r4 cpl a cpl c mov (_sendReportIfNeeded_sloc0_1_0 + 2),a cpl c inc r0 movx a,@r0 subb a,r5 cpl a mov (_sendReportIfNeeded_sloc0_1_0 + 3),a mov dptr,#_param_report_period_ms clr a movc a,@a+dptr mov r6,a mov a,#0x01 movc a,@a+dptr mov r7,a mov a,#0x02 movc a,@a+dptr mov r2,a mov a,#0x03 movc a,@a+dptr mov r3,a clr c mov a,_sendReportIfNeeded_sloc0_1_0 subb a,r6 mov a,(_sendReportIfNeeded_sloc0_1_0 + 1) subb a,r7 mov a,(_sendReportIfNeeded_sloc0_1_0 + 2) subb a,r2 mov a,(_sendReportIfNeeded_sloc0_1_0 + 3) subb a,r3 jc 00107$ mov a,_reportLength orl a,(_reportLength + 1) jnz 00107$ C$test_UM6.c$153$2$2 ==. ; apps/test_UM6/test_UM6.c:153: requestUM6config(); lcall _requestUM6config C$test_UM6.c$154$2$2 ==. ; apps/test_UM6/test_UM6.c:154: lastReport = getMs(); lcall _getMs mov r2,dpl mov r3,dph mov r4,b mov r5,a mov r0,#_sendReportIfNeeded_lastReport_1_1 mov a,r2 movx @r0,a inc r0 mov a,r3 movx @r0,a inc r0 mov a,r4 movx @r0,a inc r0 mov a,r5 movx @r0,a C$test_UM6.c$155$2$2 ==. ; apps/test_UM6/test_UM6.c:155: reportBytesSent = 0; clr a mov _reportBytesSent,a mov (_reportBytesSent + 1),a C$test_UM6.c$170$3$3 ==. ; apps/test_UM6/test_UM6.c:170: while(rxbuf.start!=rxbuf.end){ 00101$: mov dptr,#(_rxbuf + 0x00c8) movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a mov dptr,#(_rxbuf + 0x00cb) movx a,@dptr mov r5,a inc dptr movx a,@dptr mov r6,a inc dptr movx a,@dptr mov r7,a mov a,r2 cjne a,ar5,00124$ mov a,r3 cjne a,ar6,00124$ mov a,r4 cjne a,ar7,00124$ sjmp 00107$ 00124$: C$test_UM6.c$171$4$4 ==. ; apps/test_UM6/test_UM6.c:171: printf("UM6 COnfig reg : 0x%x \n",next(&rxbuf)); mov dptr,#_rxbuf mov b,#0x00 lcall _next mov r2,dpl mov r3,#0x00 push ar2 push ar3 mov a,#__str_0 push acc mov a,#(__str_0 >> 8) push acc mov a,#0x80 push acc lcall _printf mov a,sp add a,#0xfb mov sp,a sjmp 00101$ 00107$: C$test_UM6.c$183$1$1 ==. ; apps/test_UM6/test_UM6.c:183: if (reportLength > 0) mov a,_reportLength orl a,(_reportLength + 1) jz 00114$ C$test_UM6.c$185$2$6 ==. ; apps/test_UM6/test_UM6.c:185: bytesToSend = usbComTxAvailable(); lcall _usbComTxAvailable mov r2,dpl C$test_UM6.c$186$2$6 ==. ; apps/test_UM6/test_UM6.c:186: if (bytesToSend > reportLength - reportBytesSent) mov a,_reportLength clr c subb a,_reportBytesSent mov r3,a mov a,(_reportLength + 1) subb a,(_reportBytesSent + 1) mov r4,a mov ar5,r2 mov r6,#0x00 clr c mov a,r3 subb a,r5 mov a,r4 subb a,r6 jnc 00110$ C$test_UM6.c$189$3$7 ==. ; apps/test_UM6/test_UM6.c:189: usbComTxSend(report+reportBytesSent, reportLength - reportBytesSent); mov a,_reportBytesSent add a,#_report mov dpl,a mov a,(_reportBytesSent + 1) addc a,#(_report >> 8) mov dph,a mov r3,_reportLength mov r4,_reportBytesSent mov a,r3 clr c subb a,r4 mov r0,#_usbComTxSend_PARM_2 movx @r0,a lcall _usbComTxSend C$test_UM6.c$190$3$7 ==. ; apps/test_UM6/test_UM6.c:190: reportLength = 0; clr a mov _reportLength,a mov (_reportLength + 1),a ret 00110$: C$test_UM6.c$194$3$8 ==. ; apps/test_UM6/test_UM6.c:194: usbComTxSend(report+reportBytesSent, bytesToSend); mov a,_reportBytesSent add a,#_report mov dpl,a mov a,(_reportBytesSent + 1) addc a,#(_report >> 8) mov dph,a mov r0,#_usbComTxSend_PARM_2 mov a,r2 movx @r0,a push ar2 lcall _usbComTxSend pop ar2 C$test_UM6.c$195$3$8 ==. ; apps/test_UM6/test_UM6.c:195: reportBytesSent += bytesToSend; mov r3,#0x00 mov a,r2 add a,_reportBytesSent mov _reportBytesSent,a mov a,r3 addc a,(_reportBytesSent + 1) mov (_reportBytesSent + 1),a 00114$: C$test_UM6.c$199$2$1 ==. XG$sendReportIfNeeded$0$0 ==. ret ;------------------------------------------------------------ ;Allocation info for local variables in function 'uart1set' ;------------------------------------------------------------ ;------------------------------------------------------------ G$uart1set$0$0 ==. C$test_UM6.c$200$2$1 ==. ; apps/test_UM6/test_UM6.c:200: void uart1set(){ ; ----------------------------------------- ; function uart1set ; ----------------------------------------- _uart1set: C$test_UM6.c$201$1$1 ==. ; apps/test_UM6/test_UM6.c:201: uart1SetBaudRate(115000); mov dptr,#0xC138 mov b,#0x01 clr a lcall _uart1SetBaudRate C$test_UM6.c$202$1$1 ==. ; apps/test_UM6/test_UM6.c:202: uart1SetParity(PARITY_NONE); mov dpl,#0x00 lcall _uart1SetParity C$test_UM6.c$203$1$1 ==. ; apps/test_UM6/test_UM6.c:203: uart1SetStopBits(STOP_BITS_1); mov dpl,#0x00 C$test_UM6.c$204$1$1 ==. XG$uart1set$0$0 ==. ljmp _uart1SetStopBits ;------------------------------------------------------------ ;Allocation info for local variables in function 'main' ;------------------------------------------------------------ ;------------------------------------------------------------ G$main$0$0 ==. C$test_UM6.c$207$1$1 ==. ; apps/test_UM6/test_UM6.c:207: void main() ; ----------------------------------------- ; function main ; ----------------------------------------- _main: C$test_UM6.c$210$1$1 ==. ; apps/test_UM6/test_UM6.c:210: rxbuf.start = rxbuf.ch; mov dptr,#(_rxbuf + 0x00c8) mov a,#_rxbuf movx @dptr,a inc dptr mov a,#(_rxbuf >> 8) movx @dptr,a inc dptr clr a movx @dptr,a C$test_UM6.c$211$1$1 ==. ; apps/test_UM6/test_UM6.c:211: rxbuf.end = rxbuf.ch; mov dptr,#(_rxbuf + 0x00cb) mov a,#_rxbuf movx @dptr,a inc dptr mov a,#(_rxbuf >> 8) movx @dptr,a inc dptr clr a movx @dptr,a C$test_UM6.c$212$1$1 ==. ; apps/test_UM6/test_UM6.c:212: um6rx.plen = 0; mov r0,#_um6rx clr a movx @r0,a C$test_UM6.c$213$1$1 ==. ; apps/test_UM6/test_UM6.c:213: um6rx.curpkt = 0; mov r0,#(_um6rx + 0x0001) clr a movx @r0,a C$test_UM6.c$214$1$1 ==. ; apps/test_UM6/test_UM6.c:214: systemInit(); lcall _systemInit C$test_UM6.c$215$1$1 ==. ; apps/test_UM6/test_UM6.c:215: usbInit(); lcall _usbInit C$test_UM6.c$216$1$1 ==. ; apps/test_UM6/test_UM6.c:216: uart1Init(); lcall _uart1Init C$test_UM6.c$217$1$1 ==. ; apps/test_UM6/test_UM6.c:217: uart1set(); lcall _uart1set C$test_UM6.c$218$1$1 ==. ; apps/test_UM6/test_UM6.c:218: while(1) 00105$: C$test_UM6.c$220$2$2 ==. ; apps/test_UM6/test_UM6.c:220: boardService(); lcall _boardService C$test_UM6.c$221$2$2 ==. ; apps/test_UM6/test_UM6.c:221: usbComService(); lcall _usbComService C$test_UM6.c$224$2$2 ==. ; apps/test_UM6/test_UM6.c:224: while(uart1RxAvailable()) 00101$: lcall _uart1RxAvailable mov a,dpl jz 00103$ C$test_UM6.c$226$4$4 ==. ; apps/test_UM6/test_UM6.c:226: LED_YELLOW(!LED_YELLOW_STATE); mov a,_P2DIR rr a rr a anl a,#0x01 mov r2,a cjne a,#0x01,00116$ 00116$: clr a rlc a mov r2,a jz 00109$ orl _P2DIR,#0x04 sjmp 00110$ 00109$: anl _P2DIR,#0xFB 00110$: C$test_UM6.c$227$3$3 ==. ; apps/test_UM6/test_UM6.c:227: addlastbuff(&rxbuf,uart1RxReceiveByte()); lcall _uart1RxReceiveByte mov r2,dpl mov r0,#_addlastbuff_PARM_2 mov a,r2 movx @r0,a mov dptr,#_rxbuf mov b,#0x00 lcall _addlastbuff sjmp 00101$ 00103$: C$test_UM6.c$231$2$2 ==. ; apps/test_UM6/test_UM6.c:231: sendReportIfNeeded(); lcall _sendReportIfNeeded C$test_UM6.c$233$1$1 ==. XG$main$0$0 ==. sjmp 00105$ .area CSEG (CODE) .area CONST (CODE) G$param_report_period_ms$0$0 == . _param_report_period_ms: .byte #0x90,#0x01,#0x00,#0x00 ; 400 Ftest_UM6$_str_0$0$0 == . __str_0: .ascii "UM6 COnfig reg : 0x%x " .db 0x0A .db 0x00 .area XINIT (CODE) .area CABS (ABS,CODE)