1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 3.0.0 #6037 (Oct 31 2010) (Linux) 4 ; This file was generated Fri Mar 23 03:14:56 2012 5 ;-------------------------------------------------------- 6 .module test_UM6 7 .optsdcc -mmcs51 --model-medium 8 9 ;-------------------------------------------------------- 10 ; Public variables in this module 11 ;-------------------------------------------------------- 12 .globl _param_report_period_ms 13 .globl _main 14 .globl _uart1set 15 .globl _sendReportIfNeeded 16 .globl _processRxbuffer 17 .globl _requestUM6config 18 .globl _updateLeds 19 .globl _rxbuf 20 .globl _report 21 .globl _um6rx 22 .globl _addfirstbuff_PARM_2 23 .globl _addlastbuff_PARM_2 24 .globl _UM6config 25 .globl _reportBytesSent 26 .globl _reportLength 27 .globl _next 28 .globl _addlastbuff 29 .globl _addfirstbuff 30 .globl _isbufffull 31 .globl _putchar 32 ;-------------------------------------------------------- 33 ; special function registers 34 ;-------------------------------------------------------- 35 .area RSEG (ABS,DATA) 0000 36 .org 0x0000 0080 37 Ftest_UM6$P0$0$0 == 0x0080 0080 38 _P0 = 0x0080 0081 39 Ftest_UM6$SP$0$0 == 0x0081 0081 40 _SP = 0x0081 0082 41 Ftest_UM6$DPL0$0$0 == 0x0082 0082 42 _DPL0 = 0x0082 0083 43 Ftest_UM6$DPH0$0$0 == 0x0083 0083 44 _DPH0 = 0x0083 0084 45 Ftest_UM6$DPL1$0$0 == 0x0084 0084 46 _DPL1 = 0x0084 0085 47 Ftest_UM6$DPH1$0$0 == 0x0085 0085 48 _DPH1 = 0x0085 0086 49 Ftest_UM6$U0CSR$0$0 == 0x0086 0086 50 _U0CSR = 0x0086 0087 51 Ftest_UM6$PCON$0$0 == 0x0087 0087 52 _PCON = 0x0087 0088 53 Ftest_UM6$TCON$0$0 == 0x0088 0088 54 _TCON = 0x0088 0089 55 Ftest_UM6$P0IFG$0$0 == 0x0089 0089 56 _P0IFG = 0x0089 008A 57 Ftest_UM6$P1IFG$0$0 == 0x008a 008A 58 _P1IFG = 0x008a 008B 59 Ftest_UM6$P2IFG$0$0 == 0x008b 008B 60 _P2IFG = 0x008b 008C 61 Ftest_UM6$PICTL$0$0 == 0x008c 008C 62 _PICTL = 0x008c 008D 63 Ftest_UM6$P1IEN$0$0 == 0x008d 008D 64 _P1IEN = 0x008d 008F 65 Ftest_UM6$P0INP$0$0 == 0x008f 008F 66 _P0INP = 0x008f 0090 67 Ftest_UM6$P1$0$0 == 0x0090 0090 68 _P1 = 0x0090 0091 69 Ftest_UM6$RFIM$0$0 == 0x0091 0091 70 _RFIM = 0x0091 0092 71 Ftest_UM6$DPS$0$0 == 0x0092 0092 72 _DPS = 0x0092 0093 73 Ftest_UM6$MPAGE$0$0 == 0x0093 0093 74 _MPAGE = 0x0093 0095 75 Ftest_UM6$ENDIAN$0$0 == 0x0095 0095 76 _ENDIAN = 0x0095 0098 77 Ftest_UM6$S0CON$0$0 == 0x0098 0098 78 _S0CON = 0x0098 009A 79 Ftest_UM6$IEN2$0$0 == 0x009a 009A 80 _IEN2 = 0x009a 009B 81 Ftest_UM6$S1CON$0$0 == 0x009b 009B 82 _S1CON = 0x009b 009C 83 Ftest_UM6$T2CT$0$0 == 0x009c 009C 84 _T2CT = 0x009c 009D 85 Ftest_UM6$T2PR$0$0 == 0x009d 009D 86 _T2PR = 0x009d 009E 87 Ftest_UM6$T2CTL$0$0 == 0x009e 009E 88 _T2CTL = 0x009e 00A0 89 Ftest_UM6$P2$0$0 == 0x00a0 00A0 90 _P2 = 0x00a0 00A1 91 Ftest_UM6$WORIRQ$0$0 == 0x00a1 00A1 92 _WORIRQ = 0x00a1 00A2 93 Ftest_UM6$WORCTRL$0$0 == 0x00a2 00A2 94 _WORCTRL = 0x00a2 00A3 95 Ftest_UM6$WOREVT0$0$0 == 0x00a3 00A3 96 _WOREVT0 = 0x00a3 00A4 97 Ftest_UM6$WOREVT1$0$0 == 0x00a4 00A4 98 _WOREVT1 = 0x00a4 00A5 99 Ftest_UM6$WORTIME0$0$0 == 0x00a5 00A5 100 _WORTIME0 = 0x00a5 00A6 101 Ftest_UM6$WORTIME1$0$0 == 0x00a6 00A6 102 _WORTIME1 = 0x00a6 00A8 103 Ftest_UM6$IEN0$0$0 == 0x00a8 00A8 104 _IEN0 = 0x00a8 00A9 105 Ftest_UM6$IP0$0$0 == 0x00a9 00A9 106 _IP0 = 0x00a9 00AB 107 Ftest_UM6$FWT$0$0 == 0x00ab 00AB 108 _FWT = 0x00ab 00AC 109 Ftest_UM6$FADDRL$0$0 == 0x00ac 00AC 110 _FADDRL = 0x00ac 00AD 111 Ftest_UM6$FADDRH$0$0 == 0x00ad 00AD 112 _FADDRH = 0x00ad 00AE 113 Ftest_UM6$FCTL$0$0 == 0x00ae 00AE 114 _FCTL = 0x00ae 00AF 115 Ftest_UM6$FWDATA$0$0 == 0x00af 00AF 116 _FWDATA = 0x00af 00B1 117 Ftest_UM6$ENCDI$0$0 == 0x00b1 00B1 118 _ENCDI = 0x00b1 00B2 119 Ftest_UM6$ENCDO$0$0 == 0x00b2 00B2 120 _ENCDO = 0x00b2 00B3 121 Ftest_UM6$ENCCS$0$0 == 0x00b3 00B3 122 _ENCCS = 0x00b3 00B4 123 Ftest_UM6$ADCCON1$0$0 == 0x00b4 00B4 124 _ADCCON1 = 0x00b4 00B5 125 Ftest_UM6$ADCCON2$0$0 == 0x00b5 00B5 126 _ADCCON2 = 0x00b5 00B6 127 Ftest_UM6$ADCCON3$0$0 == 0x00b6 00B6 128 _ADCCON3 = 0x00b6 00B8 129 Ftest_UM6$IEN1$0$0 == 0x00b8 00B8 130 _IEN1 = 0x00b8 00B9 131 Ftest_UM6$IP1$0$0 == 0x00b9 00B9 132 _IP1 = 0x00b9 00BA 133 Ftest_UM6$ADCL$0$0 == 0x00ba 00BA 134 _ADCL = 0x00ba 00BB 135 Ftest_UM6$ADCH$0$0 == 0x00bb 00BB 136 _ADCH = 0x00bb 00BC 137 Ftest_UM6$RNDL$0$0 == 0x00bc 00BC 138 _RNDL = 0x00bc 00BD 139 Ftest_UM6$RNDH$0$0 == 0x00bd 00BD 140 _RNDH = 0x00bd 00BE 141 Ftest_UM6$SLEEP$0$0 == 0x00be 00BE 142 _SLEEP = 0x00be 00C0 143 Ftest_UM6$IRCON$0$0 == 0x00c0 00C0 144 _IRCON = 0x00c0 00C1 145 Ftest_UM6$U0DBUF$0$0 == 0x00c1 00C1 146 _U0DBUF = 0x00c1 00C2 147 Ftest_UM6$U0BAUD$0$0 == 0x00c2 00C2 148 _U0BAUD = 0x00c2 00C4 149 Ftest_UM6$U0UCR$0$0 == 0x00c4 00C4 150 _U0UCR = 0x00c4 00C5 151 Ftest_UM6$U0GCR$0$0 == 0x00c5 00C5 152 _U0GCR = 0x00c5 00C6 153 Ftest_UM6$CLKCON$0$0 == 0x00c6 00C6 154 _CLKCON = 0x00c6 00C7 155 Ftest_UM6$MEMCTR$0$0 == 0x00c7 00C7 156 _MEMCTR = 0x00c7 00C9 157 Ftest_UM6$WDCTL$0$0 == 0x00c9 00C9 158 _WDCTL = 0x00c9 00CA 159 Ftest_UM6$T3CNT$0$0 == 0x00ca 00CA 160 _T3CNT = 0x00ca 00CB 161 Ftest_UM6$T3CTL$0$0 == 0x00cb 00CB 162 _T3CTL = 0x00cb 00CC 163 Ftest_UM6$T3CCTL0$0$0 == 0x00cc 00CC 164 _T3CCTL0 = 0x00cc 00CD 165 Ftest_UM6$T3CC0$0$0 == 0x00cd 00CD 166 _T3CC0 = 0x00cd 00CE 167 Ftest_UM6$T3CCTL1$0$0 == 0x00ce 00CE 168 _T3CCTL1 = 0x00ce 00CF 169 Ftest_UM6$T3CC1$0$0 == 0x00cf 00CF 170 _T3CC1 = 0x00cf 00D0 171 Ftest_UM6$PSW$0$0 == 0x00d0 00D0 172 _PSW = 0x00d0 00D1 173 Ftest_UM6$DMAIRQ$0$0 == 0x00d1 00D1 174 _DMAIRQ = 0x00d1 00D2 175 Ftest_UM6$DMA1CFGL$0$0 == 0x00d2 00D2 176 _DMA1CFGL = 0x00d2 00D3 177 Ftest_UM6$DMA1CFGH$0$0 == 0x00d3 00D3 178 _DMA1CFGH = 0x00d3 00D4 179 Ftest_UM6$DMA0CFGL$0$0 == 0x00d4 00D4 180 _DMA0CFGL = 0x00d4 00D5 181 Ftest_UM6$DMA0CFGH$0$0 == 0x00d5 00D5 182 _DMA0CFGH = 0x00d5 00D6 183 Ftest_UM6$DMAARM$0$0 == 0x00d6 00D6 184 _DMAARM = 0x00d6 00D7 185 Ftest_UM6$DMAREQ$0$0 == 0x00d7 00D7 186 _DMAREQ = 0x00d7 00D8 187 Ftest_UM6$TIMIF$0$0 == 0x00d8 00D8 188 _TIMIF = 0x00d8 00D9 189 Ftest_UM6$RFD$0$0 == 0x00d9 00D9 190 _RFD = 0x00d9 00DA 191 Ftest_UM6$T1CC0L$0$0 == 0x00da 00DA 192 _T1CC0L = 0x00da 00DB 193 Ftest_UM6$T1CC0H$0$0 == 0x00db 00DB 194 _T1CC0H = 0x00db 00DC 195 Ftest_UM6$T1CC1L$0$0 == 0x00dc 00DC 196 _T1CC1L = 0x00dc 00DD 197 Ftest_UM6$T1CC1H$0$0 == 0x00dd 00DD 198 _T1CC1H = 0x00dd 00DE 199 Ftest_UM6$T1CC2L$0$0 == 0x00de 00DE 200 _T1CC2L = 0x00de 00DF 201 Ftest_UM6$T1CC2H$0$0 == 0x00df 00DF 202 _T1CC2H = 0x00df 00E0 203 Ftest_UM6$ACC$0$0 == 0x00e0 00E0 204 _ACC = 0x00e0 00E1 205 Ftest_UM6$RFST$0$0 == 0x00e1 00E1 206 _RFST = 0x00e1 00E2 207 Ftest_UM6$T1CNTL$0$0 == 0x00e2 00E2 208 _T1CNTL = 0x00e2 00E3 209 Ftest_UM6$T1CNTH$0$0 == 0x00e3 00E3 210 _T1CNTH = 0x00e3 00E4 211 Ftest_UM6$T1CTL$0$0 == 0x00e4 00E4 212 _T1CTL = 0x00e4 00E5 213 Ftest_UM6$T1CCTL0$0$0 == 0x00e5 00E5 214 _T1CCTL0 = 0x00e5 00E6 215 Ftest_UM6$T1CCTL1$0$0 == 0x00e6 00E6 216 _T1CCTL1 = 0x00e6 00E7 217 Ftest_UM6$T1CCTL2$0$0 == 0x00e7 00E7 218 _T1CCTL2 = 0x00e7 00E8 219 Ftest_UM6$IRCON2$0$0 == 0x00e8 00E8 220 _IRCON2 = 0x00e8 00E9 221 Ftest_UM6$RFIF$0$0 == 0x00e9 00E9 222 _RFIF = 0x00e9 00EA 223 Ftest_UM6$T4CNT$0$0 == 0x00ea 00EA 224 _T4CNT = 0x00ea 00EB 225 Ftest_UM6$T4CTL$0$0 == 0x00eb 00EB 226 _T4CTL = 0x00eb 00EC 227 Ftest_UM6$T4CCTL0$0$0 == 0x00ec 00EC 228 _T4CCTL0 = 0x00ec 00ED 229 Ftest_UM6$T4CC0$0$0 == 0x00ed 00ED 230 _T4CC0 = 0x00ed 00EE 231 Ftest_UM6$T4CCTL1$0$0 == 0x00ee 00EE 232 _T4CCTL1 = 0x00ee 00EF 233 Ftest_UM6$T4CC1$0$0 == 0x00ef 00EF 234 _T4CC1 = 0x00ef 00F0 235 Ftest_UM6$B$0$0 == 0x00f0 00F0 236 _B = 0x00f0 00F1 237 Ftest_UM6$PERCFG$0$0 == 0x00f1 00F1 238 _PERCFG = 0x00f1 00F2 239 Ftest_UM6$ADCCFG$0$0 == 0x00f2 00F2 240 _ADCCFG = 0x00f2 00F3 241 Ftest_UM6$P0SEL$0$0 == 0x00f3 00F3 242 _P0SEL = 0x00f3 00F4 243 Ftest_UM6$P1SEL$0$0 == 0x00f4 00F4 244 _P1SEL = 0x00f4 00F5 245 Ftest_UM6$P2SEL$0$0 == 0x00f5 00F5 246 _P2SEL = 0x00f5 00F6 247 Ftest_UM6$P1INP$0$0 == 0x00f6 00F6 248 _P1INP = 0x00f6 00F7 249 Ftest_UM6$P2INP$0$0 == 0x00f7 00F7 250 _P2INP = 0x00f7 00F8 251 Ftest_UM6$U1CSR$0$0 == 0x00f8 00F8 252 _U1CSR = 0x00f8 00F9 253 Ftest_UM6$U1DBUF$0$0 == 0x00f9 00F9 254 _U1DBUF = 0x00f9 00FA 255 Ftest_UM6$U1BAUD$0$0 == 0x00fa 00FA 256 _U1BAUD = 0x00fa 00FB 257 Ftest_UM6$U1UCR$0$0 == 0x00fb 00FB 258 _U1UCR = 0x00fb 00FC 259 Ftest_UM6$U1GCR$0$0 == 0x00fc 00FC 260 _U1GCR = 0x00fc 00FD 261 Ftest_UM6$P0DIR$0$0 == 0x00fd 00FD 262 _P0DIR = 0x00fd 00FE 263 Ftest_UM6$P1DIR$0$0 == 0x00fe 00FE 264 _P1DIR = 0x00fe 00FF 265 Ftest_UM6$P2DIR$0$0 == 0x00ff 00FF 266 _P2DIR = 0x00ff FFFFD5D4 267 Ftest_UM6$DMA0CFG$0$0 == 0xffffd5d4 FFFFD5D4 268 _DMA0CFG = 0xffffd5d4 FFFFD3D2 269 Ftest_UM6$DMA1CFG$0$0 == 0xffffd3d2 FFFFD3D2 270 _DMA1CFG = 0xffffd3d2 FFFFADAC 271 Ftest_UM6$FADDR$0$0 == 0xffffadac FFFFADAC 272 _FADDR = 0xffffadac FFFFBBBA 273 Ftest_UM6$ADC$0$0 == 0xffffbbba FFFFBBBA 274 _ADC = 0xffffbbba FFFFDBDA 275 Ftest_UM6$T1CC0$0$0 == 0xffffdbda FFFFDBDA 276 _T1CC0 = 0xffffdbda FFFFDDDC 277 Ftest_UM6$T1CC1$0$0 == 0xffffdddc FFFFDDDC 278 _T1CC1 = 0xffffdddc FFFFDFDE 279 Ftest_UM6$T1CC2$0$0 == 0xffffdfde FFFFDFDE 280 _T1CC2 = 0xffffdfde 281 ;-------------------------------------------------------- 282 ; special function bits 283 ;-------------------------------------------------------- 284 .area RSEG (ABS,DATA) 0000 285 .org 0x0000 0080 286 Ftest_UM6$P0_0$0$0 == 0x0080 0080 287 _P0_0 = 0x0080 0081 288 Ftest_UM6$P0_1$0$0 == 0x0081 0081 289 _P0_1 = 0x0081 0082 290 Ftest_UM6$P0_2$0$0 == 0x0082 0082 291 _P0_2 = 0x0082 0083 292 Ftest_UM6$P0_3$0$0 == 0x0083 0083 293 _P0_3 = 0x0083 0084 294 Ftest_UM6$P0_4$0$0 == 0x0084 0084 295 _P0_4 = 0x0084 0085 296 Ftest_UM6$P0_5$0$0 == 0x0085 0085 297 _P0_5 = 0x0085 0086 298 Ftest_UM6$P0_6$0$0 == 0x0086 0086 299 _P0_6 = 0x0086 0087 300 Ftest_UM6$P0_7$0$0 == 0x0087 0087 301 _P0_7 = 0x0087 0088 302 Ftest_UM6$_TCON_0$0$0 == 0x0088 0088 303 __TCON_0 = 0x0088 0089 304 Ftest_UM6$RFTXRXIF$0$0 == 0x0089 0089 305 _RFTXRXIF = 0x0089 008A 306 Ftest_UM6$_TCON_2$0$0 == 0x008a 008A 307 __TCON_2 = 0x008a 008B 308 Ftest_UM6$URX0IF$0$0 == 0x008b 008B 309 _URX0IF = 0x008b 008C 310 Ftest_UM6$_TCON_4$0$0 == 0x008c 008C 311 __TCON_4 = 0x008c 008D 312 Ftest_UM6$ADCIF$0$0 == 0x008d 008D 313 _ADCIF = 0x008d 008E 314 Ftest_UM6$_TCON_6$0$0 == 0x008e 008E 315 __TCON_6 = 0x008e 008F 316 Ftest_UM6$URX1IF$0$0 == 0x008f 008F 317 _URX1IF = 0x008f 0090 318 Ftest_UM6$P1_0$0$0 == 0x0090 0090 319 _P1_0 = 0x0090 0091 320 Ftest_UM6$P1_1$0$0 == 0x0091 0091 321 _P1_1 = 0x0091 0092 322 Ftest_UM6$P1_2$0$0 == 0x0092 0092 323 _P1_2 = 0x0092 0093 324 Ftest_UM6$P1_3$0$0 == 0x0093 0093 325 _P1_3 = 0x0093 0094 326 Ftest_UM6$P1_4$0$0 == 0x0094 0094 327 _P1_4 = 0x0094 0095 328 Ftest_UM6$P1_5$0$0 == 0x0095 0095 329 _P1_5 = 0x0095 0096 330 Ftest_UM6$P1_6$0$0 == 0x0096 0096 331 _P1_6 = 0x0096 0097 332 Ftest_UM6$P1_7$0$0 == 0x0097 0097 333 _P1_7 = 0x0097 0098 334 Ftest_UM6$ENCIF_0$0$0 == 0x0098 0098 335 _ENCIF_0 = 0x0098 0099 336 Ftest_UM6$ENCIF_1$0$0 == 0x0099 0099 337 _ENCIF_1 = 0x0099 009A 338 Ftest_UM6$_SOCON2$0$0 == 0x009a 009A 339 __SOCON2 = 0x009a 009B 340 Ftest_UM6$_SOCON3$0$0 == 0x009b 009B 341 __SOCON3 = 0x009b 009C 342 Ftest_UM6$_SOCON4$0$0 == 0x009c 009C 343 __SOCON4 = 0x009c 009D 344 Ftest_UM6$_SOCON5$0$0 == 0x009d 009D 345 __SOCON5 = 0x009d 009E 346 Ftest_UM6$_SOCON6$0$0 == 0x009e 009E 347 __SOCON6 = 0x009e 009F 348 Ftest_UM6$_SOCON7$0$0 == 0x009f 009F 349 __SOCON7 = 0x009f 00A0 350 Ftest_UM6$P2_0$0$0 == 0x00a0 00A0 351 _P2_0 = 0x00a0 00A1 352 Ftest_UM6$P2_1$0$0 == 0x00a1 00A1 353 _P2_1 = 0x00a1 00A2 354 Ftest_UM6$P2_2$0$0 == 0x00a2 00A2 355 _P2_2 = 0x00a2 00A3 356 Ftest_UM6$P2_3$0$0 == 0x00a3 00A3 357 _P2_3 = 0x00a3 00A4 358 Ftest_UM6$P2_4$0$0 == 0x00a4 00A4 359 _P2_4 = 0x00a4 00A5 360 Ftest_UM6$P2_5$0$0 == 0x00a5 00A5 361 _P2_5 = 0x00a5 00A6 362 Ftest_UM6$P2_6$0$0 == 0x00a6 00A6 363 _P2_6 = 0x00a6 00A7 364 Ftest_UM6$P2_7$0$0 == 0x00a7 00A7 365 _P2_7 = 0x00a7 00A8 366 Ftest_UM6$RFTXRXIE$0$0 == 0x00a8 00A8 367 _RFTXRXIE = 0x00a8 00A9 368 Ftest_UM6$ADCIE$0$0 == 0x00a9 00A9 369 _ADCIE = 0x00a9 00AA 370 Ftest_UM6$URX0IE$0$0 == 0x00aa 00AA 371 _URX0IE = 0x00aa 00AB 372 Ftest_UM6$URX1IE$0$0 == 0x00ab 00AB 373 _URX1IE = 0x00ab 00AC 374 Ftest_UM6$ENCIE$0$0 == 0x00ac 00AC 375 _ENCIE = 0x00ac 00AD 376 Ftest_UM6$STIE$0$0 == 0x00ad 00AD 377 _STIE = 0x00ad 00AE 378 Ftest_UM6$_IEN06$0$0 == 0x00ae 00AE 379 __IEN06 = 0x00ae 00AF 380 Ftest_UM6$EA$0$0 == 0x00af 00AF 381 _EA = 0x00af 00B8 382 Ftest_UM6$DMAIE$0$0 == 0x00b8 00B8 383 _DMAIE = 0x00b8 00B9 384 Ftest_UM6$T1IE$0$0 == 0x00b9 00B9 385 _T1IE = 0x00b9 00BA 386 Ftest_UM6$T2IE$0$0 == 0x00ba 00BA 387 _T2IE = 0x00ba 00BB 388 Ftest_UM6$T3IE$0$0 == 0x00bb 00BB 389 _T3IE = 0x00bb 00BC 390 Ftest_UM6$T4IE$0$0 == 0x00bc 00BC 391 _T4IE = 0x00bc 00BD 392 Ftest_UM6$P0IE$0$0 == 0x00bd 00BD 393 _P0IE = 0x00bd 00BE 394 Ftest_UM6$_IEN16$0$0 == 0x00be 00BE 395 __IEN16 = 0x00be 00BF 396 Ftest_UM6$_IEN17$0$0 == 0x00bf 00BF 397 __IEN17 = 0x00bf 00C0 398 Ftest_UM6$DMAIF$0$0 == 0x00c0 00C0 399 _DMAIF = 0x00c0 00C1 400 Ftest_UM6$T1IF$0$0 == 0x00c1 00C1 401 _T1IF = 0x00c1 00C2 402 Ftest_UM6$T2IF$0$0 == 0x00c2 00C2 403 _T2IF = 0x00c2 00C3 404 Ftest_UM6$T3IF$0$0 == 0x00c3 00C3 405 _T3IF = 0x00c3 00C4 406 Ftest_UM6$T4IF$0$0 == 0x00c4 00C4 407 _T4IF = 0x00c4 00C5 408 Ftest_UM6$P0IF$0$0 == 0x00c5 00C5 409 _P0IF = 0x00c5 00C6 410 Ftest_UM6$_IRCON6$0$0 == 0x00c6 00C6 411 __IRCON6 = 0x00c6 00C7 412 Ftest_UM6$STIF$0$0 == 0x00c7 00C7 413 _STIF = 0x00c7 00D0 414 Ftest_UM6$P$0$0 == 0x00d0 00D0 415 _P = 0x00d0 00D1 416 Ftest_UM6$F1$0$0 == 0x00d1 00D1 417 _F1 = 0x00d1 00D2 418 Ftest_UM6$OV$0$0 == 0x00d2 00D2 419 _OV = 0x00d2 00D3 420 Ftest_UM6$RS0$0$0 == 0x00d3 00D3 421 _RS0 = 0x00d3 00D4 422 Ftest_UM6$RS1$0$0 == 0x00d4 00D4 423 _RS1 = 0x00d4 00D5 424 Ftest_UM6$F0$0$0 == 0x00d5 00D5 425 _F0 = 0x00d5 00D6 426 Ftest_UM6$AC$0$0 == 0x00d6 00D6 427 _AC = 0x00d6 00D7 428 Ftest_UM6$CY$0$0 == 0x00d7 00D7 429 _CY = 0x00d7 00D8 430 Ftest_UM6$T3OVFIF$0$0 == 0x00d8 00D8 431 _T3OVFIF = 0x00d8 00D9 432 Ftest_UM6$T3CH0IF$0$0 == 0x00d9 00D9 433 _T3CH0IF = 0x00d9 00DA 434 Ftest_UM6$T3CH1IF$0$0 == 0x00da 00DA 435 _T3CH1IF = 0x00da 00DB 436 Ftest_UM6$T4OVFIF$0$0 == 0x00db 00DB 437 _T4OVFIF = 0x00db 00DC 438 Ftest_UM6$T4CH0IF$0$0 == 0x00dc 00DC 439 _T4CH0IF = 0x00dc 00DD 440 Ftest_UM6$T4CH1IF$0$0 == 0x00dd 00DD 441 _T4CH1IF = 0x00dd 00DE 442 Ftest_UM6$OVFIM$0$0 == 0x00de 00DE 443 _OVFIM = 0x00de 00DF 444 Ftest_UM6$_TIMIF7$0$0 == 0x00df 00DF 445 __TIMIF7 = 0x00df 00E0 446 Ftest_UM6$ACC_0$0$0 == 0x00e0 00E0 447 _ACC_0 = 0x00e0 00E1 448 Ftest_UM6$ACC_1$0$0 == 0x00e1 00E1 449 _ACC_1 = 0x00e1 00E2 450 Ftest_UM6$ACC_2$0$0 == 0x00e2 00E2 451 _ACC_2 = 0x00e2 00E3 452 Ftest_UM6$ACC_3$0$0 == 0x00e3 00E3 453 _ACC_3 = 0x00e3 00E4 454 Ftest_UM6$ACC_4$0$0 == 0x00e4 00E4 455 _ACC_4 = 0x00e4 00E5 456 Ftest_UM6$ACC_5$0$0 == 0x00e5 00E5 457 _ACC_5 = 0x00e5 00E6 458 Ftest_UM6$ACC_6$0$0 == 0x00e6 00E6 459 _ACC_6 = 0x00e6 00E7 460 Ftest_UM6$ACC_7$0$0 == 0x00e7 00E7 461 _ACC_7 = 0x00e7 00E8 462 Ftest_UM6$P2IF$0$0 == 0x00e8 00E8 463 _P2IF = 0x00e8 00E9 464 Ftest_UM6$UTX0IF$0$0 == 0x00e9 00E9 465 _UTX0IF = 0x00e9 00EA 466 Ftest_UM6$UTX1IF$0$0 == 0x00ea 00EA 467 _UTX1IF = 0x00ea 00EB 468 Ftest_UM6$P1IF$0$0 == 0x00eb 00EB 469 _P1IF = 0x00eb 00EC 470 Ftest_UM6$WDTIF$0$0 == 0x00ec 00EC 471 _WDTIF = 0x00ec 00ED 472 Ftest_UM6$_IRCON25$0$0 == 0x00ed 00ED 473 __IRCON25 = 0x00ed 00EE 474 Ftest_UM6$_IRCON26$0$0 == 0x00ee 00EE 475 __IRCON26 = 0x00ee 00EF 476 Ftest_UM6$_IRCON27$0$0 == 0x00ef 00EF 477 __IRCON27 = 0x00ef 00F0 478 Ftest_UM6$B_0$0$0 == 0x00f0 00F0 479 _B_0 = 0x00f0 00F1 480 Ftest_UM6$B_1$0$0 == 0x00f1 00F1 481 _B_1 = 0x00f1 00F2 482 Ftest_UM6$B_2$0$0 == 0x00f2 00F2 483 _B_2 = 0x00f2 00F3 484 Ftest_UM6$B_3$0$0 == 0x00f3 00F3 485 _B_3 = 0x00f3 00F4 486 Ftest_UM6$B_4$0$0 == 0x00f4 00F4 487 _B_4 = 0x00f4 00F5 488 Ftest_UM6$B_5$0$0 == 0x00f5 00F5 489 _B_5 = 0x00f5 00F6 490 Ftest_UM6$B_6$0$0 == 0x00f6 00F6 491 _B_6 = 0x00f6 00F7 492 Ftest_UM6$B_7$0$0 == 0x00f7 00F7 493 _B_7 = 0x00f7 00F8 494 Ftest_UM6$U1ACTIVE$0$0 == 0x00f8 00F8 495 _U1ACTIVE = 0x00f8 00F9 496 Ftest_UM6$U1TX_BYTE$0$0 == 0x00f9 00F9 497 _U1TX_BYTE = 0x00f9 00FA 498 Ftest_UM6$U1RX_BYTE$0$0 == 0x00fa 00FA 499 _U1RX_BYTE = 0x00fa 00FB 500 Ftest_UM6$U1ERR$0$0 == 0x00fb 00FB 501 _U1ERR = 0x00fb 00FC 502 Ftest_UM6$U1FE$0$0 == 0x00fc 00FC 503 _U1FE = 0x00fc 00FD 504 Ftest_UM6$U1SLAVE$0$0 == 0x00fd 00FD 505 _U1SLAVE = 0x00fd 00FE 506 Ftest_UM6$U1RE$0$0 == 0x00fe 00FE 507 _U1RE = 0x00fe 00FF 508 Ftest_UM6$U1MODE$0$0 == 0x00ff 00FF 509 _U1MODE = 0x00ff 510 ;-------------------------------------------------------- 511 ; overlayable register banks 512 ;-------------------------------------------------------- 513 .area REG_BANK_0 (REL,OVR,DATA) 0000 514 .ds 8 515 ;-------------------------------------------------------- 516 ; internal ram data 517 ;-------------------------------------------------------- 518 .area DSEG (DATA) 0000 519 G$reportLength$0$0==. 0000 520 _reportLength:: 0000 521 .ds 2 0002 522 G$reportBytesSent$0$0==. 0002 523 _reportBytesSent:: 0002 524 .ds 2 0004 525 G$UM6config$0$0==. 0004 526 _UM6config:: 0004 527 .ds 4 0008 528 LprocessRxbuffer$sloc0$1$0==. 0008 529 _processRxbuffer_sloc0_1_0: 0008 530 .ds 4 000C 531 LsendReportIfNeeded$sloc0$1$0==. 000C 532 _sendReportIfNeeded_sloc0_1_0: 000C 533 .ds 4 534 ;-------------------------------------------------------- 535 ; overlayable items in internal ram 536 ;-------------------------------------------------------- 537 .area OSEG (OVR,DATA) 0000 538 Lnext$sloc0$1$0==. 0000 539 _next_sloc0_1_0:: 0000 540 .ds 3 0003 541 Lnext$sloc1$1$0==. 0003 542 _next_sloc1_1_0:: 0003 543 .ds 3 0006 544 Lnext$sloc2$1$0==. 0006 545 _next_sloc2_1_0:: 0006 546 .ds 3 547 .area OSEG (OVR,DATA) 0000 548 Laddlastbuff$sloc0$1$0==. 0000 549 _addlastbuff_sloc0_1_0:: 0000 550 .ds 3 551 .area OSEG (OVR,DATA) 0000 552 Laddfirstbuff$sloc0$1$0==. 0000 553 _addfirstbuff_sloc0_1_0:: 0000 554 .ds 3 555 .area OSEG (OVR,DATA) 0000 556 Lisbufffull$sloc0$1$0==. 0000 557 _isbufffull_sloc0_1_0:: 0000 558 .ds 3 0003 559 Lisbufffull$sloc1$1$0==. 0003 560 _isbufffull_sloc1_1_0:: 0003 561 .ds 3 562 ;-------------------------------------------------------- 563 ; Stack segment in internal ram 564 ;-------------------------------------------------------- 565 .area SSEG (DATA) 0000 566 __start__stack: 0000 567 .ds 1 568 569 ;-------------------------------------------------------- 570 ; indirectly addressable internal ram data 571 ;-------------------------------------------------------- 572 .area ISEG (DATA) 573 ;-------------------------------------------------------- 574 ; absolute internal ram data 575 ;-------------------------------------------------------- 576 .area IABS (ABS,DATA) 577 .area IABS (ABS,DATA) 578 ;-------------------------------------------------------- 579 ; bit data 580 ;-------------------------------------------------------- 581 .area BSEG (BIT) 582 ;-------------------------------------------------------- 583 ; paged external ram data 584 ;-------------------------------------------------------- 585 .area PSEG (PAG,XDATA) 0000 586 Lnext$p$1$1==. 0000 587 _next_p_1_1: 0000 588 .ds 3 0003 589 Laddlastbuff$item$1$1==. 0003 590 _addlastbuff_PARM_2: 0003 591 .ds 1 0004 592 Laddlastbuff$p$1$1==. 0004 593 _addlastbuff_p_1_1: 0004 594 .ds 3 0007 595 Laddfirstbuff$item$1$1==. 0007 596 _addfirstbuff_PARM_2: 0007 597 .ds 1 0008 598 Laddfirstbuff$p$1$1==. 0008 599 _addfirstbuff_p_1_1: 0008 600 .ds 3 000B 601 G$um6rx$0$0==. 000B 602 _um6rx:: 000B 603 .ds 50 003D 604 LsendReportIfNeeded$lastReport$1$1==. 003D 605 _sendReportIfNeeded_lastReport_1_1: 003D 606 .ds 4 0041 607 LsendReportIfNeeded$reg$1$1==. 0041 608 _sendReportIfNeeded_reg_1_1: 0041 609 .ds 10 610 ;-------------------------------------------------------- 611 ; external ram data 612 ;-------------------------------------------------------- 613 .area XSEG (XDATA) DF00 614 Ftest_UM6$SYNC1$0$0 == 0xdf00 DF00 615 _SYNC1 = 0xdf00 DF01 616 Ftest_UM6$SYNC0$0$0 == 0xdf01 DF01 617 _SYNC0 = 0xdf01 DF02 618 Ftest_UM6$PKTLEN$0$0 == 0xdf02 DF02 619 _PKTLEN = 0xdf02 DF03 620 Ftest_UM6$PKTCTRL1$0$0 == 0xdf03 DF03 621 _PKTCTRL1 = 0xdf03 DF04 622 Ftest_UM6$PKTCTRL0$0$0 == 0xdf04 DF04 623 _PKTCTRL0 = 0xdf04 DF05 624 Ftest_UM6$ADDR$0$0 == 0xdf05 DF05 625 _ADDR = 0xdf05 DF06 626 Ftest_UM6$CHANNR$0$0 == 0xdf06 DF06 627 _CHANNR = 0xdf06 DF07 628 Ftest_UM6$FSCTRL1$0$0 == 0xdf07 DF07 629 _FSCTRL1 = 0xdf07 DF08 630 Ftest_UM6$FSCTRL0$0$0 == 0xdf08 DF08 631 _FSCTRL0 = 0xdf08 DF09 632 Ftest_UM6$FREQ2$0$0 == 0xdf09 DF09 633 _FREQ2 = 0xdf09 DF0A 634 Ftest_UM6$FREQ1$0$0 == 0xdf0a DF0A 635 _FREQ1 = 0xdf0a DF0B 636 Ftest_UM6$FREQ0$0$0 == 0xdf0b DF0B 637 _FREQ0 = 0xdf0b DF0C 638 Ftest_UM6$MDMCFG4$0$0 == 0xdf0c DF0C 639 _MDMCFG4 = 0xdf0c DF0D 640 Ftest_UM6$MDMCFG3$0$0 == 0xdf0d DF0D 641 _MDMCFG3 = 0xdf0d DF0E 642 Ftest_UM6$MDMCFG2$0$0 == 0xdf0e DF0E 643 _MDMCFG2 = 0xdf0e DF0F 644 Ftest_UM6$MDMCFG1$0$0 == 0xdf0f DF0F 645 _MDMCFG1 = 0xdf0f DF10 646 Ftest_UM6$MDMCFG0$0$0 == 0xdf10 DF10 647 _MDMCFG0 = 0xdf10 DF11 648 Ftest_UM6$DEVIATN$0$0 == 0xdf11 DF11 649 _DEVIATN = 0xdf11 DF12 650 Ftest_UM6$MCSM2$0$0 == 0xdf12 DF12 651 _MCSM2 = 0xdf12 DF13 652 Ftest_UM6$MCSM1$0$0 == 0xdf13 DF13 653 _MCSM1 = 0xdf13 DF14 654 Ftest_UM6$MCSM0$0$0 == 0xdf14 DF14 655 _MCSM0 = 0xdf14 DF15 656 Ftest_UM6$FOCCFG$0$0 == 0xdf15 DF15 657 _FOCCFG = 0xdf15 DF16 658 Ftest_UM6$BSCFG$0$0 == 0xdf16 DF16 659 _BSCFG = 0xdf16 DF17 660 Ftest_UM6$AGCCTRL2$0$0 == 0xdf17 DF17 661 _AGCCTRL2 = 0xdf17 DF18 662 Ftest_UM6$AGCCTRL1$0$0 == 0xdf18 DF18 663 _AGCCTRL1 = 0xdf18 DF19 664 Ftest_UM6$AGCCTRL0$0$0 == 0xdf19 DF19 665 _AGCCTRL0 = 0xdf19 DF1A 666 Ftest_UM6$FREND1$0$0 == 0xdf1a DF1A 667 _FREND1 = 0xdf1a DF1B 668 Ftest_UM6$FREND0$0$0 == 0xdf1b DF1B 669 _FREND0 = 0xdf1b DF1C 670 Ftest_UM6$FSCAL3$0$0 == 0xdf1c DF1C 671 _FSCAL3 = 0xdf1c DF1D 672 Ftest_UM6$FSCAL2$0$0 == 0xdf1d DF1D 673 _FSCAL2 = 0xdf1d DF1E 674 Ftest_UM6$FSCAL1$0$0 == 0xdf1e DF1E 675 _FSCAL1 = 0xdf1e DF1F 676 Ftest_UM6$FSCAL0$0$0 == 0xdf1f DF1F 677 _FSCAL0 = 0xdf1f DF23 678 Ftest_UM6$TEST2$0$0 == 0xdf23 DF23 679 _TEST2 = 0xdf23 DF24 680 Ftest_UM6$TEST1$0$0 == 0xdf24 DF24 681 _TEST1 = 0xdf24 DF25 682 Ftest_UM6$TEST0$0$0 == 0xdf25 DF25 683 _TEST0 = 0xdf25 DF2E 684 Ftest_UM6$PA_TABLE0$0$0 == 0xdf2e DF2E 685 _PA_TABLE0 = 0xdf2e DF2F 686 Ftest_UM6$IOCFG2$0$0 == 0xdf2f DF2F 687 _IOCFG2 = 0xdf2f DF30 688 Ftest_UM6$IOCFG1$0$0 == 0xdf30 DF30 689 _IOCFG1 = 0xdf30 DF31 690 Ftest_UM6$IOCFG0$0$0 == 0xdf31 DF31 691 _IOCFG0 = 0xdf31 DF36 692 Ftest_UM6$PARTNUM$0$0 == 0xdf36 DF36 693 _PARTNUM = 0xdf36 DF37 694 Ftest_UM6$VERSION$0$0 == 0xdf37 DF37 695 _VERSION = 0xdf37 DF38 696 Ftest_UM6$FREQEST$0$0 == 0xdf38 DF38 697 _FREQEST = 0xdf38 DF39 698 Ftest_UM6$LQI$0$0 == 0xdf39 DF39 699 _LQI = 0xdf39 DF3A 700 Ftest_UM6$RSSI$0$0 == 0xdf3a DF3A 701 _RSSI = 0xdf3a DF3B 702 Ftest_UM6$MARCSTATE$0$0 == 0xdf3b DF3B 703 _MARCSTATE = 0xdf3b DF3C 704 Ftest_UM6$PKTSTATUS$0$0 == 0xdf3c DF3C 705 _PKTSTATUS = 0xdf3c DF3D 706 Ftest_UM6$VCO_VC_DAC$0$0 == 0xdf3d DF3D 707 _VCO_VC_DAC = 0xdf3d DF40 708 Ftest_UM6$I2SCFG0$0$0 == 0xdf40 DF40 709 _I2SCFG0 = 0xdf40 DF41 710 Ftest_UM6$I2SCFG1$0$0 == 0xdf41 DF41 711 _I2SCFG1 = 0xdf41 DF42 712 Ftest_UM6$I2SDATL$0$0 == 0xdf42 DF42 713 _I2SDATL = 0xdf42 DF43 714 Ftest_UM6$I2SDATH$0$0 == 0xdf43 DF43 715 _I2SDATH = 0xdf43 DF44 716 Ftest_UM6$I2SWCNT$0$0 == 0xdf44 DF44 717 _I2SWCNT = 0xdf44 DF45 718 Ftest_UM6$I2SSTAT$0$0 == 0xdf45 DF45 719 _I2SSTAT = 0xdf45 DF46 720 Ftest_UM6$I2SCLKF0$0$0 == 0xdf46 DF46 721 _I2SCLKF0 = 0xdf46 DF47 722 Ftest_UM6$I2SCLKF1$0$0 == 0xdf47 DF47 723 _I2SCLKF1 = 0xdf47 DF48 724 Ftest_UM6$I2SCLKF2$0$0 == 0xdf48 DF48 725 _I2SCLKF2 = 0xdf48 DE00 726 Ftest_UM6$USBADDR$0$0 == 0xde00 DE00 727 _USBADDR = 0xde00 DE01 728 Ftest_UM6$USBPOW$0$0 == 0xde01 DE01 729 _USBPOW = 0xde01 DE02 730 Ftest_UM6$USBIIF$0$0 == 0xde02 DE02 731 _USBIIF = 0xde02 DE04 732 Ftest_UM6$USBOIF$0$0 == 0xde04 DE04 733 _USBOIF = 0xde04 DE06 734 Ftest_UM6$USBCIF$0$0 == 0xde06 DE06 735 _USBCIF = 0xde06 DE07 736 Ftest_UM6$USBIIE$0$0 == 0xde07 DE07 737 _USBIIE = 0xde07 DE09 738 Ftest_UM6$USBOIE$0$0 == 0xde09 DE09 739 _USBOIE = 0xde09 DE0B 740 Ftest_UM6$USBCIE$0$0 == 0xde0b DE0B 741 _USBCIE = 0xde0b DE0C 742 Ftest_UM6$USBFRML$0$0 == 0xde0c DE0C 743 _USBFRML = 0xde0c DE0D 744 Ftest_UM6$USBFRMH$0$0 == 0xde0d DE0D 745 _USBFRMH = 0xde0d DE0E 746 Ftest_UM6$USBINDEX$0$0 == 0xde0e DE0E 747 _USBINDEX = 0xde0e DE10 748 Ftest_UM6$USBMAXI$0$0 == 0xde10 DE10 749 _USBMAXI = 0xde10 DE11 750 Ftest_UM6$USBCSIL$0$0 == 0xde11 DE11 751 _USBCSIL = 0xde11 DE12 752 Ftest_UM6$USBCSIH$0$0 == 0xde12 DE12 753 _USBCSIH = 0xde12 DE13 754 Ftest_UM6$USBMAXO$0$0 == 0xde13 DE13 755 _USBMAXO = 0xde13 DE14 756 Ftest_UM6$USBCSOL$0$0 == 0xde14 DE14 757 _USBCSOL = 0xde14 DE15 758 Ftest_UM6$USBCSOH$0$0 == 0xde15 DE15 759 _USBCSOH = 0xde15 DE16 760 Ftest_UM6$USBCNTL$0$0 == 0xde16 DE16 761 _USBCNTL = 0xde16 DE17 762 Ftest_UM6$USBCNTH$0$0 == 0xde17 DE17 763 _USBCNTH = 0xde17 DE20 764 Ftest_UM6$USBF0$0$0 == 0xde20 DE20 765 _USBF0 = 0xde20 DE22 766 Ftest_UM6$USBF1$0$0 == 0xde22 DE22 767 _USBF1 = 0xde22 DE24 768 Ftest_UM6$USBF2$0$0 == 0xde24 DE24 769 _USBF2 = 0xde24 DE26 770 Ftest_UM6$USBF3$0$0 == 0xde26 DE26 771 _USBF3 = 0xde26 DE28 772 Ftest_UM6$USBF4$0$0 == 0xde28 DE28 773 _USBF4 = 0xde28 DE2A 774 Ftest_UM6$USBF5$0$0 == 0xde2a DE2A 775 _USBF5 = 0xde2a 0000 776 G$report$0$0==. 0000 777 _report:: 0000 778 .ds 300 012C 779 G$rxbuf$0$0==. 012C 780 _rxbuf:: 012C 781 .ds 207 01FB 782 LrequestUM6config$txarray$1$1==. 01FB 783 _requestUM6config_txarray_1_1: 01FB 784 .ds 7 785 ;-------------------------------------------------------- 786 ; absolute external ram data 787 ;-------------------------------------------------------- 788 .area XABS (ABS,XDATA) 789 ;-------------------------------------------------------- 790 ; external initialized ram data 791 ;-------------------------------------------------------- 792 .area XISEG (XDATA) 793 .area HOME (CODE) 794 .area GSINIT0 (CODE) 795 .area GSINIT1 (CODE) 796 .area GSINIT2 (CODE) 797 .area GSINIT3 (CODE) 798 .area GSINIT4 (CODE) 799 .area GSINIT5 (CODE) 800 .area GSINIT (CODE) 801 .area GSFINAL (CODE) 802 .area CSEG (CODE) 803 ;-------------------------------------------------------- 804 ; interrupt vector 805 ;-------------------------------------------------------- 806 .area HOME (CODE) 0000 807 __interrupt_vect: 0000 02s00r00 808 ljmp __sdcc_gsinit_startup 0003 32 809 reti 0004 810 .ds 7 000B 32 811 reti 000C 812 .ds 7 0013 32 813 reti 0014 814 .ds 7 001B 02s00r00 815 ljmp _ISR_URX1 001E 816 .ds 5 0023 32 817 reti 0024 818 .ds 7 002B 32 819 reti 002C 820 .ds 7 0033 32 821 reti 0034 822 .ds 7 003B 32 823 reti 003C 824 .ds 7 0043 32 825 reti 0044 826 .ds 7 004B 32 827 reti 004C 828 .ds 7 0053 32 829 reti 0054 830 .ds 7 005B 32 831 reti 005C 832 .ds 7 0063 02s00r00 833 ljmp _ISR_T4 0066 834 .ds 5 006B 32 835 reti 006C 836 .ds 7 0073 02s00r00 837 ljmp _ISR_UTX1 838 ;-------------------------------------------------------- 839 ; global & static initialisations 840 ;-------------------------------------------------------- 841 .area HOME (CODE) 842 .area GSINIT (CODE) 843 .area GSFINAL (CODE) 844 .area GSINIT (CODE) 845 .globl __sdcc_gsinit_startup 846 .globl __sdcc_program_startup 847 .globl __start__stack 848 .globl __mcs51_genXINIT 849 .globl __mcs51_genXRAMCLEAR 850 .globl __mcs51_genRAMCLEAR 0000 851 G$main$0$0 ==. 0000 852 C$test_UM6.c$18$1$1 ==. 853 ; apps/test_UM6/test_UM6.c:18: uint16 DATA reportLength = 0; 0000 E4 854 clr a 0001 F5*00 855 mov _reportLength,a 0003 F5*01 856 mov (_reportLength + 1),a 0005 857 G$main$0$0 ==. 0005 858 C$test_UM6.c$22$1$1 ==. 859 ; apps/test_UM6/test_UM6.c:22: uint16 DATA reportBytesSent = 0; 0005 E4 860 clr a 0006 F5*02 861 mov _reportBytesSent,a 0008 F5*03 862 mov (_reportBytesSent + 1),a 000A 863 G$main$0$0 ==. 000A 864 C$test_UM6.c$26$1$1 ==. 865 ; apps/test_UM6/test_UM6.c:26: uint32 DATA UM6config=1; // gets the config of UM6 000A 75*04 01 866 mov _UM6config,#0x01 000D E4 867 clr a 000E F5*05 868 mov (_UM6config + 1),a 0010 F5*06 869 mov (_UM6config + 2),a 0012 F5*07 870 mov (_UM6config + 3),a 871 .area GSFINAL (CODE) 0000 02s00r76 872 ljmp __sdcc_program_startup 873 ;-------------------------------------------------------- 874 ; Home 875 ;-------------------------------------------------------- 876 .area HOME (CODE) 877 .area HOME (CODE) 0076 878 __sdcc_program_startup: 0076 12s07r4C 879 lcall _main 880 ; return from main will lock up 0079 80 FE 881 sjmp . 882 ;-------------------------------------------------------- 883 ; code 884 ;-------------------------------------------------------- 885 .area CSEG (CODE) 886 ;------------------------------------------------------------ 887 ;Allocation info for local variables in function 'next' 888 ;------------------------------------------------------------ 889 ;sloc0 Allocated with name '_next_sloc0_1_0' 890 ;sloc1 Allocated with name '_next_sloc1_1_0' 891 ;sloc2 Allocated with name '_next_sloc2_1_0' 892 ;------------------------------------------------------------ 0000 893 G$next$0$0 ==. 0000 894 C$circbuf.c$5$0$0 ==. 895 ; apps/test_UM6/../circbuf.c:5: uint8 next(struct circbuff *p) 896 ; ----------------------------------------- 897 ; function next 898 ; ----------------------------------------- 0000 899 _next: 0002 900 ar2 = 0x02 0003 901 ar3 = 0x03 0004 902 ar4 = 0x04 0005 903 ar5 = 0x05 0006 904 ar6 = 0x06 0007 905 ar7 = 0x07 0000 906 ar0 = 0x00 0001 907 ar1 = 0x01 0000 AA F0 908 mov r2,b 0002 AB 83 909 mov r3,dph 0004 E5 82 910 mov a,dpl 0006 78r00 911 mov r0,#_next_p_1_1 0008 F2 912 movx @r0,a 0009 08 913 inc r0 000A EB 914 mov a,r3 000B F2 915 movx @r0,a 000C 08 916 inc r0 000D EA 917 mov a,r2 000E F2 918 movx @r0,a 000F 919 C$circbuf.c$8$1$1 ==. 920 ; apps/test_UM6/../circbuf.c:8: if(p->start==p->end) 000F 78r00 921 mov r0,#_next_p_1_1 0011 E2 922 movx a,@r0 0012 24 C8 923 add a,#0xC8 0014 F5*06 924 mov _next_sloc2_1_0,a 0016 08 925 inc r0 0017 E2 926 movx a,@r0 0018 34 00 927 addc a,#0x00 001A F5*07 928 mov (_next_sloc2_1_0 + 1),a 001C 08 929 inc r0 001D E2 930 movx a,@r0 001E F5*08 931 mov (_next_sloc2_1_0 + 2),a 0020 85*06 82 932 mov dpl,_next_sloc2_1_0 0023 85*07 83 933 mov dph,(_next_sloc2_1_0 + 1) 0026 85*08 F0 934 mov b,(_next_sloc2_1_0 + 2) 0029 12s00r00 935 lcall __gptrget 002C F5*00 936 mov _next_sloc0_1_0,a 002E A3 937 inc dptr 002F 12s00r00 938 lcall __gptrget 0032 F5*01 939 mov (_next_sloc0_1_0 + 1),a 0034 A3 940 inc dptr 0035 12s00r00 941 lcall __gptrget 0038 F5*02 942 mov (_next_sloc0_1_0 + 2),a 003A 78r00 943 mov r0,#_next_p_1_1 003C E2 944 movx a,@r0 003D 24 CB 945 add a,#0xCB 003F F5*03 946 mov _next_sloc1_1_0,a 0041 08 947 inc r0 0042 E2 948 movx a,@r0 0043 34 00 949 addc a,#0x00 0045 F5*04 950 mov (_next_sloc1_1_0 + 1),a 0047 08 951 inc r0 0048 E2 952 movx a,@r0 0049 F5*05 953 mov (_next_sloc1_1_0 + 2),a 004B 85*03 82 954 mov dpl,_next_sloc1_1_0 004E 85*04 83 955 mov dph,(_next_sloc1_1_0 + 1) 0051 85*05 F0 956 mov b,(_next_sloc1_1_0 + 2) 0054 12s00r00 957 lcall __gptrget 0057 FB 958 mov r3,a 0058 A3 959 inc dptr 0059 12s00r00 960 lcall __gptrget 005C FC 961 mov r4,a 005D A3 962 inc dptr 005E 12s00r00 963 lcall __gptrget 0061 FD 964 mov r5,a 0062 EB 965 mov a,r3 0063 B5*00 0C 966 cjne a,_next_sloc0_1_0,00105$ 0066 EC 967 mov a,r4 0067 B5*01 08 968 cjne a,(_next_sloc0_1_0 + 1),00105$ 006A ED 969 mov a,r5 006B B5*02 04 970 cjne a,(_next_sloc0_1_0 + 2),00105$ 006E 971 C$circbuf.c$11$2$2 ==. 972 ; apps/test_UM6/../circbuf.c:11: return 0; 006E 75 82 00 973 mov dpl,#0x00 0071 22 974 ret 0072 975 00105$: 0072 976 C$circbuf.c$15$2$3 ==. 977 ; apps/test_UM6/../circbuf.c:15: tch = *(p->start); 0072 85*00 82 978 mov dpl,_next_sloc0_1_0 0075 85*01 83 979 mov dph,(_next_sloc0_1_0 + 1) 0078 85*02 F0 980 mov b,(_next_sloc0_1_0 + 2) 007B 12s00r00 981 lcall __gptrget 007E FB 982 mov r3,a 007F 983 C$circbuf.c$16$2$3 ==. 984 ; apps/test_UM6/../circbuf.c:16: if(p->start != p->ch+bufsize-1) 007F 78r00 985 mov r0,#_next_p_1_1 0081 E2 986 movx a,@r0 0082 24 C7 987 add a,#0xC7 0084 FC 988 mov r4,a 0085 08 989 inc r0 0086 E2 990 movx a,@r0 0087 34 00 991 addc a,#0x00 0089 FD 992 mov r5,a 008A 08 993 inc r0 008B E2 994 movx a,@r0 008C FE 995 mov r6,a 008D EC 996 mov a,r4 008E B5*00 0A 997 cjne a,_next_sloc0_1_0,00113$ 0091 ED 998 mov a,r5 0092 B5*01 06 999 cjne a,(_next_sloc0_1_0 + 1),00113$ 0095 EE 1000 mov a,r6 0096 B5*02 02 1001 cjne a,(_next_sloc0_1_0 + 2),00113$ 0099 80 24 1002 sjmp 00102$ 009B 1003 00113$: 009B 1004 C$circbuf.c$18$3$4 ==. 1005 ; apps/test_UM6/../circbuf.c:18: p->start = p->start+1; 009B 74 01 1006 mov a,#0x01 009D 25*00 1007 add a,_next_sloc0_1_0 009F FC 1008 mov r4,a 00A0 E4 1009 clr a 00A1 35*01 1010 addc a,(_next_sloc0_1_0 + 1) 00A3 FD 1011 mov r5,a 00A4 AE*02 1012 mov r6,(_next_sloc0_1_0 + 2) 00A6 85*06 82 1013 mov dpl,_next_sloc2_1_0 00A9 85*07 83 1014 mov dph,(_next_sloc2_1_0 + 1) 00AC 85*08 F0 1015 mov b,(_next_sloc2_1_0 + 2) 00AF EC 1016 mov a,r4 00B0 12s00r00 1017 lcall __gptrput 00B3 A3 1018 inc dptr 00B4 ED 1019 mov a,r5 00B5 12s00r00 1020 lcall __gptrput 00B8 A3 1021 inc dptr 00B9 EE 1022 mov a,r6 00BA 12s00r00 1023 lcall __gptrput 00BD 80 1B 1024 sjmp 00103$ 00BF 1025 00102$: 00BF 1026 C$circbuf.c$22$3$5 ==. 1027 ; apps/test_UM6/../circbuf.c:22: p->start = p->ch; 00BF 85*06 82 1028 mov dpl,_next_sloc2_1_0 00C2 85*07 83 1029 mov dph,(_next_sloc2_1_0 + 1) 00C5 85*08 F0 1030 mov b,(_next_sloc2_1_0 + 2) 00C8 78r00 1031 mov r0,#_next_p_1_1 00CA E2 1032 movx a,@r0 00CB 12s00r00 1033 lcall __gptrput 00CE A3 1034 inc dptr 00CF 08 1035 inc r0 00D0 E2 1036 movx a,@r0 00D1 12s00r00 1037 lcall __gptrput 00D4 A3 1038 inc dptr 00D5 08 1039 inc r0 00D6 E2 1040 movx a,@r0 00D7 12s00r00 1041 lcall __gptrput 00DA 1042 00103$: 00DA 1043 C$circbuf.c$25$2$3 ==. 1044 ; apps/test_UM6/../circbuf.c:25: return tch; 00DA 8B 82 1045 mov dpl,r3 00DC 1046 C$circbuf.c$28$1$1 ==. 00DC 1047 XG$next$0$0 ==. 00DC 22 1048 ret 1049 ;------------------------------------------------------------ 1050 ;Allocation info for local variables in function 'addlastbuff' 1051 ;------------------------------------------------------------ 1052 ;sloc0 Allocated with name '_addlastbuff_sloc0_1_0' 1053 ;------------------------------------------------------------ 00DD 1054 G$addlastbuff$0$0 ==. 00DD 1055 C$circbuf.c$30$1$1 ==. 1056 ; apps/test_UM6/../circbuf.c:30: int addlastbuff(struct circbuff *p,uint8 item) 1057 ; ----------------------------------------- 1058 ; function addlastbuff 1059 ; ----------------------------------------- 00DD 1060 _addlastbuff: 00DD AA F0 1061 mov r2,b 00DF AB 83 1062 mov r3,dph 00E1 E5 82 1063 mov a,dpl 00E3 78r04 1064 mov r0,#_addlastbuff_p_1_1 00E5 F2 1065 movx @r0,a 00E6 08 1066 inc r0 00E7 EB 1067 mov a,r3 00E8 F2 1068 movx @r0,a 00E9 08 1069 inc r0 00EA EA 1070 mov a,r2 00EB F2 1071 movx @r0,a 00EC 1072 C$circbuf.c$32$1$1 ==. 1073 ; apps/test_UM6/../circbuf.c:32: if(p->end==p->ch+bufsize-1) 00EC 78r04 1074 mov r0,#_addlastbuff_p_1_1 00EE E2 1075 movx a,@r0 00EF 24 CB 1076 add a,#0xCB 00F1 FD 1077 mov r5,a 00F2 08 1078 inc r0 00F3 E2 1079 movx a,@r0 00F4 34 00 1080 addc a,#0x00 00F6 FE 1081 mov r6,a 00F7 08 1082 inc r0 00F8 E2 1083 movx a,@r0 00F9 FF 1084 mov r7,a 00FA 8D 82 1085 mov dpl,r5 00FC 8E 83 1086 mov dph,r6 00FE 8F F0 1087 mov b,r7 0100 12s00r00 1088 lcall __gptrget 0103 F5*00 1089 mov _addlastbuff_sloc0_1_0,a 0105 A3 1090 inc dptr 0106 12s00r00 1091 lcall __gptrget 0109 F5*01 1092 mov (_addlastbuff_sloc0_1_0 + 1),a 010B A3 1093 inc dptr 010C 12s00r00 1094 lcall __gptrget 010F F5*02 1095 mov (_addlastbuff_sloc0_1_0 + 2),a 0111 78r04 1096 mov r0,#_addlastbuff_p_1_1 0113 E2 1097 movx a,@r0 0114 24 C7 1098 add a,#0xC7 0116 FA 1099 mov r2,a 0117 08 1100 inc r0 0118 E2 1101 movx a,@r0 0119 34 00 1102 addc a,#0x00 011B FB 1103 mov r3,a 011C 08 1104 inc r0 011D E2 1105 movx a,@r0 011E FC 1106 mov r4,a 011F EA 1107 mov a,r2 0120 B5*00 69 1108 cjne a,_addlastbuff_sloc0_1_0,00108$ 0123 EB 1109 mov a,r3 0124 B5*01 65 1110 cjne a,(_addlastbuff_sloc0_1_0 + 1),00108$ 0127 EC 1111 mov a,r4 0128 B5*02 61 1112 cjne a,(_addlastbuff_sloc0_1_0 + 2),00108$ 012B 1113 C$circbuf.c$34$2$2 ==. 1114 ; apps/test_UM6/../circbuf.c:34: if(p->start==p->ch) 012B 78r04 1115 mov r0,#_addlastbuff_p_1_1 012D E2 1116 movx a,@r0 012E 24 C8 1117 add a,#0xC8 0130 FA 1118 mov r2,a 0131 08 1119 inc r0 0132 E2 1120 movx a,@r0 0133 34 00 1121 addc a,#0x00 0135 FB 1122 mov r3,a 0136 08 1123 inc r0 0137 E2 1124 movx a,@r0 0138 FC 1125 mov r4,a 0139 8A 82 1126 mov dpl,r2 013B 8B 83 1127 mov dph,r3 013D 8C F0 1128 mov b,r4 013F 12s00r00 1129 lcall __gptrget 0142 FA 1130 mov r2,a 0143 A3 1131 inc dptr 0144 12s00r00 1132 lcall __gptrget 0147 FB 1133 mov r3,a 0148 A3 1134 inc dptr 0149 12s00r00 1135 lcall __gptrget 014C FC 1136 mov r4,a 014D 78r04 1137 mov r0,#_addlastbuff_p_1_1 014F E2 1138 movx a,@r0 0150 B5 02 0C 1139 cjne a,ar2,00117$ 0153 08 1140 inc r0 0154 E2 1141 movx a,@r0 0155 B5 03 07 1142 cjne a,ar3,00117$ 0158 08 1143 inc r0 0159 E2 1144 movx a,@r0 015A B5 04 02 1145 cjne a,ar4,00117$ 015D 80 02 1146 sjmp 00118$ 015F 1147 00117$: 015F 80 04 1148 sjmp 00102$ 0161 1149 00118$: 0161 1150 C$circbuf.c$37$3$3 ==. 1151 ; apps/test_UM6/../circbuf.c:37: return 0; 0161 90 00 00 1152 mov dptr,#0x0000 0164 22 1153 ret 0165 1154 00102$: 0165 1155 C$circbuf.c$41$3$4 ==. 1156 ; apps/test_UM6/../circbuf.c:41: *(p->end)=item; 0165 85*00 82 1157 mov dpl,_addlastbuff_sloc0_1_0 0168 85*01 83 1158 mov dph,(_addlastbuff_sloc0_1_0 + 1) 016B 85*02 F0 1159 mov b,(_addlastbuff_sloc0_1_0 + 2) 016E 78r03 1160 mov r0,#_addlastbuff_PARM_2 0170 E2 1161 movx a,@r0 0171 12s00r00 1162 lcall __gptrput 0174 1163 C$circbuf.c$42$3$4 ==. 1164 ; apps/test_UM6/../circbuf.c:42: p->end = p->ch; 0174 8D 82 1165 mov dpl,r5 0176 8E 83 1166 mov dph,r6 0178 8F F0 1167 mov b,r7 017A 78r04 1168 mov r0,#_addlastbuff_p_1_1 017C E2 1169 movx a,@r0 017D 12s00r00 1170 lcall __gptrput 0180 A3 1171 inc dptr 0181 08 1172 inc r0 0182 E2 1173 movx a,@r0 0183 12s00r00 1174 lcall __gptrput 0186 A3 1175 inc dptr 0187 08 1176 inc r0 0188 E2 1177 movx a,@r0 0189 02s00r00 1178 ljmp __gptrput 018C 1179 00108$: 018C 1180 C$circbuf.c$47$2$5 ==. 1181 ; apps/test_UM6/../circbuf.c:47: if(p->end==(p->start-1)) 018C 78r04 1182 mov r0,#_addlastbuff_p_1_1 018E E2 1183 movx a,@r0 018F 24 C8 1184 add a,#0xC8 0191 FA 1185 mov r2,a 0192 08 1186 inc r0 0193 E2 1187 movx a,@r0 0194 34 00 1188 addc a,#0x00 0196 FB 1189 mov r3,a 0197 08 1190 inc r0 0198 E2 1191 movx a,@r0 0199 FC 1192 mov r4,a 019A 8A 82 1193 mov dpl,r2 019C 8B 83 1194 mov dph,r3 019E 8C F0 1195 mov b,r4 01A0 12s00r00 1196 lcall __gptrget 01A3 FA 1197 mov r2,a 01A4 A3 1198 inc dptr 01A5 12s00r00 1199 lcall __gptrget 01A8 FB 1200 mov r3,a 01A9 A3 1201 inc dptr 01AA 12s00r00 1202 lcall __gptrget 01AD FC 1203 mov r4,a 01AE 1A 1204 dec r2 01AF BA FF 01 1205 cjne r2,#0xff,00119$ 01B2 1B 1206 dec r3 01B3 1207 00119$: 01B3 EA 1208 mov a,r2 01B4 B5*00 0C 1209 cjne a,_addlastbuff_sloc0_1_0,00105$ 01B7 EB 1210 mov a,r3 01B8 B5*01 08 1211 cjne a,(_addlastbuff_sloc0_1_0 + 1),00105$ 01BB EC 1212 mov a,r4 01BC B5*02 04 1213 cjne a,(_addlastbuff_sloc0_1_0 + 2),00105$ 01BF 1214 C$circbuf.c$50$3$6 ==. 1215 ; apps/test_UM6/../circbuf.c:50: return 0; 01BF 90 00 00 1216 mov dptr,#0x0000 01C2 22 1217 ret 01C3 1218 00105$: 01C3 1219 C$circbuf.c$54$3$7 ==. 1220 ; apps/test_UM6/../circbuf.c:54: *(p->end)=item; 01C3 85*00 82 1221 mov dpl,_addlastbuff_sloc0_1_0 01C6 85*01 83 1222 mov dph,(_addlastbuff_sloc0_1_0 + 1) 01C9 85*02 F0 1223 mov b,(_addlastbuff_sloc0_1_0 + 2) 01CC 78r03 1224 mov r0,#_addlastbuff_PARM_2 01CE E2 1225 movx a,@r0 01CF 12s00r00 1226 lcall __gptrput 01D2 1227 C$circbuf.c$55$3$7 ==. 1228 ; apps/test_UM6/../circbuf.c:55: p->end = p->end+1; 01D2 74 01 1229 mov a,#0x01 01D4 25*00 1230 add a,_addlastbuff_sloc0_1_0 01D6 FA 1231 mov r2,a 01D7 E4 1232 clr a 01D8 35*01 1233 addc a,(_addlastbuff_sloc0_1_0 + 1) 01DA FB 1234 mov r3,a 01DB AC*02 1235 mov r4,(_addlastbuff_sloc0_1_0 + 2) 01DD 8D 82 1236 mov dpl,r5 01DF 8E 83 1237 mov dph,r6 01E1 8F F0 1238 mov b,r7 01E3 EA 1239 mov a,r2 01E4 12s00r00 1240 lcall __gptrput 01E7 A3 1241 inc dptr 01E8 EB 1242 mov a,r3 01E9 12s00r00 1243 lcall __gptrput 01EC A3 1244 inc dptr 01ED EC 1245 mov a,r4 01EE 1246 C$circbuf.c$58$1$1 ==. 01EE 1247 XG$addlastbuff$0$0 ==. 01EE 02s00r00 1248 ljmp __gptrput 1249 ;------------------------------------------------------------ 1250 ;Allocation info for local variables in function 'addfirstbuff' 1251 ;------------------------------------------------------------ 1252 ;sloc0 Allocated with name '_addfirstbuff_sloc0_1_0' 1253 ;------------------------------------------------------------ 01F1 1254 G$addfirstbuff$0$0 ==. 01F1 1255 C$circbuf.c$60$1$1 ==. 1256 ; apps/test_UM6/../circbuf.c:60: int addfirstbuff(struct circbuff *p,uint8 item) 1257 ; ----------------------------------------- 1258 ; function addfirstbuff 1259 ; ----------------------------------------- 01F1 1260 _addfirstbuff: 01F1 AA F0 1261 mov r2,b 01F3 AB 83 1262 mov r3,dph 01F5 E5 82 1263 mov a,dpl 01F7 78r08 1264 mov r0,#_addfirstbuff_p_1_1 01F9 F2 1265 movx @r0,a 01FA 08 1266 inc r0 01FB EB 1267 mov a,r3 01FC F2 1268 movx @r0,a 01FD 08 1269 inc r0 01FE EA 1270 mov a,r2 01FF F2 1271 movx @r0,a 0200 1272 C$circbuf.c$62$1$1 ==. 1273 ; apps/test_UM6/../circbuf.c:62: if(p->start==p->ch) 0200 78r08 1274 mov r0,#_addfirstbuff_p_1_1 0202 E2 1275 movx a,@r0 0203 24 C8 1276 add a,#0xC8 0205 FD 1277 mov r5,a 0206 08 1278 inc r0 0207 E2 1279 movx a,@r0 0208 34 00 1280 addc a,#0x00 020A FE 1281 mov r6,a 020B 08 1282 inc r0 020C E2 1283 movx a,@r0 020D FF 1284 mov r7,a 020E 8D 82 1285 mov dpl,r5 0210 8E 83 1286 mov dph,r6 0212 8F F0 1287 mov b,r7 0214 12s00r00 1288 lcall __gptrget 0217 F5*00 1289 mov _addfirstbuff_sloc0_1_0,a 0219 A3 1290 inc dptr 021A 12s00r00 1291 lcall __gptrget 021D F5*01 1292 mov (_addfirstbuff_sloc0_1_0 + 1),a 021F A3 1293 inc dptr 0220 12s00r00 1294 lcall __gptrget 0223 F5*02 1295 mov (_addfirstbuff_sloc0_1_0 + 2),a 0225 78r08 1296 mov r0,#_addfirstbuff_p_1_1 0227 E2 1297 movx a,@r0 0228 B5*00 0C 1298 cjne a,_addfirstbuff_sloc0_1_0,00115$ 022B 08 1299 inc r0 022C E2 1300 movx a,@r0 022D B5*01 07 1301 cjne a,(_addfirstbuff_sloc0_1_0 + 1),00115$ 0230 08 1302 inc r0 0231 E2 1303 movx a,@r0 0232 B5*02 02 1304 cjne a,(_addfirstbuff_sloc0_1_0 + 2),00115$ 0235 80 03 1305 sjmp 00116$ 0237 1306 00115$: 0237 02s02rD2 1307 ljmp 00108$ 023A 1308 00116$: 023A 1309 C$circbuf.c$64$1$1 ==. 1310 ; apps/test_UM6/../circbuf.c:64: if(p->end==p->ch+bufsize-1) 023A C0 05 1311 push ar5 023C C0 06 1312 push ar6 023E C0 07 1313 push ar7 0240 78r08 1314 mov r0,#_addfirstbuff_p_1_1 0242 E2 1315 movx a,@r0 0243 24 CB 1316 add a,#0xCB 0245 FD 1317 mov r5,a 0246 08 1318 inc r0 0247 E2 1319 movx a,@r0 0248 34 00 1320 addc a,#0x00 024A FE 1321 mov r6,a 024B 08 1322 inc r0 024C E2 1323 movx a,@r0 024D FF 1324 mov r7,a 024E 8D 82 1325 mov dpl,r5 0250 8E 83 1326 mov dph,r6 0252 8F F0 1327 mov b,r7 0254 12s00r00 1328 lcall __gptrget 0257 FD 1329 mov r5,a 0258 A3 1330 inc dptr 0259 12s00r00 1331 lcall __gptrget 025C FE 1332 mov r6,a 025D A3 1333 inc dptr 025E 12s00r00 1334 lcall __gptrget 0261 FF 1335 mov r7,a 0262 78r08 1336 mov r0,#_addfirstbuff_p_1_1 0264 E2 1337 movx a,@r0 0265 24 C7 1338 add a,#0xC7 0267 FA 1339 mov r2,a 0268 08 1340 inc r0 0269 E2 1341 movx a,@r0 026A 34 00 1342 addc a,#0x00 026C FB 1343 mov r3,a 026D 08 1344 inc r0 026E E2 1345 movx a,@r0 026F FC 1346 mov r4,a 0270 ED 1347 mov a,r5 0271 B5 02 0A 1348 cjne a,ar2,00117$ 0274 EE 1349 mov a,r6 0275 B5 03 06 1350 cjne a,ar3,00117$ 0278 EF 1351 mov a,r7 0279 B5 04 02 1352 cjne a,ar4,00117$ 027C 80 08 1353 sjmp 00118$ 027E 1354 00117$: 027E D0 07 1355 pop ar7 0280 D0 06 1356 pop ar6 0282 D0 05 1357 pop ar5 0284 80 0A 1358 sjmp 00102$ 0286 1359 00118$: 0286 D0 07 1360 pop ar7 0288 D0 06 1361 pop ar6 028A D0 05 1362 pop ar5 028C 1363 C$circbuf.c$67$3$3 ==. 1364 ; apps/test_UM6/../circbuf.c:67: return 0; 028C 90 00 00 1365 mov dptr,#0x0000 028F 22 1366 ret 0290 1367 00102$: 0290 1368 C$circbuf.c$71$3$4 ==. 1369 ; apps/test_UM6/../circbuf.c:71: p->start = p->ch+bufsize-1; 0290 78r08 1370 mov r0,#_addfirstbuff_p_1_1 0292 E2 1371 movx a,@r0 0293 24 C7 1372 add a,#0xC7 0295 FA 1373 mov r2,a 0296 08 1374 inc r0 0297 E2 1375 movx a,@r0 0298 34 00 1376 addc a,#0x00 029A FB 1377 mov r3,a 029B 08 1378 inc r0 029C E2 1379 movx a,@r0 029D FC 1380 mov r4,a 029E 8D 82 1381 mov dpl,r5 02A0 8E 83 1382 mov dph,r6 02A2 8F F0 1383 mov b,r7 02A4 EA 1384 mov a,r2 02A5 12s00r00 1385 lcall __gptrput 02A8 A3 1386 inc dptr 02A9 EB 1387 mov a,r3 02AA 12s00r00 1388 lcall __gptrput 02AD A3 1389 inc dptr 02AE EC 1390 mov a,r4 02AF 12s00r00 1391 lcall __gptrput 02B2 1392 C$circbuf.c$72$3$4 ==. 1393 ; apps/test_UM6/../circbuf.c:72: *(p->start)=item; 02B2 8D 82 1394 mov dpl,r5 02B4 8E 83 1395 mov dph,r6 02B6 8F F0 1396 mov b,r7 02B8 12s00r00 1397 lcall __gptrget 02BB FA 1398 mov r2,a 02BC A3 1399 inc dptr 02BD 12s00r00 1400 lcall __gptrget 02C0 FB 1401 mov r3,a 02C1 A3 1402 inc dptr 02C2 12s00r00 1403 lcall __gptrget 02C5 FC 1404 mov r4,a 02C6 8A 82 1405 mov dpl,r2 02C8 8B 83 1406 mov dph,r3 02CA 8C F0 1407 mov b,r4 02CC 78r07 1408 mov r0,#_addfirstbuff_PARM_2 02CE E2 1409 movx a,@r0 02CF 02s00r00 1410 ljmp __gptrput 02D2 1411 00108$: 02D2 1412 C$circbuf.c$78$2$5 ==. 1413 ; apps/test_UM6/../circbuf.c:78: if(p->end==(p->start-1)) 02D2 78r08 1414 mov r0,#_addfirstbuff_p_1_1 02D4 E2 1415 movx a,@r0 02D5 24 CB 1416 add a,#0xCB 02D7 FA 1417 mov r2,a 02D8 08 1418 inc r0 02D9 E2 1419 movx a,@r0 02DA 34 00 1420 addc a,#0x00 02DC FB 1421 mov r3,a 02DD 08 1422 inc r0 02DE E2 1423 movx a,@r0 02DF FC 1424 mov r4,a 02E0 8A 82 1425 mov dpl,r2 02E2 8B 83 1426 mov dph,r3 02E4 8C F0 1427 mov b,r4 02E6 12s00r00 1428 lcall __gptrget 02E9 FA 1429 mov r2,a 02EA A3 1430 inc dptr 02EB 12s00r00 1431 lcall __gptrget 02EE FB 1432 mov r3,a 02EF A3 1433 inc dptr 02F0 12s00r00 1434 lcall __gptrget 02F3 FC 1435 mov r4,a 02F4 15*00 1436 dec _addfirstbuff_sloc0_1_0 02F6 74 FF 1437 mov a,#0xff 02F8 B5*00 02 1438 cjne a,_addfirstbuff_sloc0_1_0,00119$ 02FB 15*01 1439 dec (_addfirstbuff_sloc0_1_0 + 1) 02FD 1440 00119$: 02FD EA 1441 mov a,r2 02FE B5*00 0C 1442 cjne a,_addfirstbuff_sloc0_1_0,00105$ 0301 EB 1443 mov a,r3 0302 B5*01 08 1444 cjne a,(_addfirstbuff_sloc0_1_0 + 1),00105$ 0305 EC 1445 mov a,r4 0306 B5*02 04 1446 cjne a,(_addfirstbuff_sloc0_1_0 + 2),00105$ 0309 1447 C$circbuf.c$81$3$6 ==. 1448 ; apps/test_UM6/../circbuf.c:81: return 0; 0309 90 00 00 1449 mov dptr,#0x0000 030C 22 1450 ret 030D 1451 00105$: 030D 1452 C$circbuf.c$85$3$7 ==. 1453 ; apps/test_UM6/../circbuf.c:85: p->start = p->start-1; 030D 8D 82 1454 mov dpl,r5 030F 8E 83 1455 mov dph,r6 0311 8F F0 1456 mov b,r7 0313 E5*00 1457 mov a,_addfirstbuff_sloc0_1_0 0315 12s00r00 1458 lcall __gptrput 0318 A3 1459 inc dptr 0319 E5*01 1460 mov a,(_addfirstbuff_sloc0_1_0 + 1) 031B 12s00r00 1461 lcall __gptrput 031E A3 1462 inc dptr 031F E5*02 1463 mov a,(_addfirstbuff_sloc0_1_0 + 2) 0321 12s00r00 1464 lcall __gptrput 0324 1465 C$circbuf.c$86$3$7 ==. 1466 ; apps/test_UM6/../circbuf.c:86: *(p->start)=item; 0324 85*00 82 1467 mov dpl,_addfirstbuff_sloc0_1_0 0327 85*01 83 1468 mov dph,(_addfirstbuff_sloc0_1_0 + 1) 032A 85*02 F0 1469 mov b,(_addfirstbuff_sloc0_1_0 + 2) 032D 78r07 1470 mov r0,#_addfirstbuff_PARM_2 032F E2 1471 movx a,@r0 0330 1472 C$circbuf.c$89$1$1 ==. 0330 1473 XG$addfirstbuff$0$0 ==. 0330 02s00r00 1474 ljmp __gptrput 1475 ;------------------------------------------------------------ 1476 ;Allocation info for local variables in function 'isbufffull' 1477 ;------------------------------------------------------------ 1478 ;sloc0 Allocated with name '_isbufffull_sloc0_1_0' 1479 ;sloc1 Allocated with name '_isbufffull_sloc1_1_0' 1480 ;------------------------------------------------------------ 0333 1481 G$isbufffull$0$0 ==. 0333 1482 C$circbuf.c$92$1$1 ==. 1483 ; apps/test_UM6/../circbuf.c:92: int isbufffull(struct circbuff *p) 1484 ; ----------------------------------------- 1485 ; function isbufffull 1486 ; ----------------------------------------- 0333 1487 _isbufffull: 0333 AB 82 1488 mov r3,dpl 0335 AC 83 1489 mov r4,dph 0337 AA F0 1490 mov r2,b 0339 1491 C$circbuf.c$94$1$1 ==. 1492 ; apps/test_UM6/../circbuf.c:94: if(p->end==p->ch+bufsize-1) 0339 74 CB 1493 mov a,#0xCB 033B 2B 1494 add a,r3 033C FD 1495 mov r5,a 033D E4 1496 clr a 033E 3C 1497 addc a,r4 033F FE 1498 mov r6,a 0340 8A 07 1499 mov ar7,r2 0342 8D 82 1500 mov dpl,r5 0344 8E 83 1501 mov dph,r6 0346 8F F0 1502 mov b,r7 0348 12s00r00 1503 lcall __gptrget 034B F5*03 1504 mov _isbufffull_sloc1_1_0,a 034D A3 1505 inc dptr 034E 12s00r00 1506 lcall __gptrget 0351 F5*04 1507 mov (_isbufffull_sloc1_1_0 + 1),a 0353 A3 1508 inc dptr 0354 12s00r00 1509 lcall __gptrget 0357 F5*05 1510 mov (_isbufffull_sloc1_1_0 + 2),a 0359 74 C7 1511 mov a,#0xC7 035B 2B 1512 add a,r3 035C F5*00 1513 mov _isbufffull_sloc0_1_0,a 035E E4 1514 clr a 035F 3C 1515 addc a,r4 0360 F5*01 1516 mov (_isbufffull_sloc0_1_0 + 1),a 0362 8A*02 1517 mov (_isbufffull_sloc0_1_0 + 2),r2 0364 E5*00 1518 mov a,_isbufffull_sloc0_1_0 0366 B5*03 43 1519 cjne a,_isbufffull_sloc1_1_0,00108$ 0369 E5*01 1520 mov a,(_isbufffull_sloc0_1_0 + 1) 036B B5*04 3E 1521 cjne a,(_isbufffull_sloc1_1_0 + 1),00108$ 036E E5*02 1522 mov a,(_isbufffull_sloc0_1_0 + 2) 0370 B5*05 39 1523 cjne a,(_isbufffull_sloc1_1_0 + 2),00108$ 0373 1524 C$circbuf.c$96$2$2 ==. 1525 ; apps/test_UM6/../circbuf.c:96: if(p->start==p->ch) 0373 74 C8 1526 mov a,#0xC8 0375 2B 1527 add a,r3 0376 F5*00 1528 mov _isbufffull_sloc0_1_0,a 0378 E4 1529 clr a 0379 3C 1530 addc a,r4 037A F5*01 1531 mov (_isbufffull_sloc0_1_0 + 1),a 037C 8A*02 1532 mov (_isbufffull_sloc0_1_0 + 2),r2 037E 85*00 82 1533 mov dpl,_isbufffull_sloc0_1_0 0381 85*01 83 1534 mov dph,(_isbufffull_sloc0_1_0 + 1) 0384 85*02 F0 1535 mov b,(_isbufffull_sloc0_1_0 + 2) 0387 12s00r00 1536 lcall __gptrget 038A F5*00 1537 mov _isbufffull_sloc0_1_0,a 038C A3 1538 inc dptr 038D 12s00r00 1539 lcall __gptrget 0390 F5*01 1540 mov (_isbufffull_sloc0_1_0 + 1),a 0392 A3 1541 inc dptr 0393 12s00r00 1542 lcall __gptrget 0396 F5*02 1543 mov (_isbufffull_sloc0_1_0 + 2),a 0398 EB 1544 mov a,r3 0399 B5*00 0C 1545 cjne a,_isbufffull_sloc0_1_0,00102$ 039C EC 1546 mov a,r4 039D B5*01 08 1547 cjne a,(_isbufffull_sloc0_1_0 + 1),00102$ 03A0 EA 1548 mov a,r2 03A1 B5*02 04 1549 cjne a,(_isbufffull_sloc0_1_0 + 2),00102$ 03A4 1550 C$circbuf.c$99$3$3 ==. 1551 ; apps/test_UM6/../circbuf.c:99: return 1; 03A4 90 00 01 1552 mov dptr,#0x0001 03A7 22 1553 ret 03A8 1554 00102$: 03A8 1555 C$circbuf.c$103$3$4 ==. 1556 ; apps/test_UM6/../circbuf.c:103: return 0; 03A8 90 00 00 1557 mov dptr,#0x0000 03AB 22 1558 ret 03AC 1559 00108$: 03AC 1560 C$circbuf.c$108$2$5 ==. 1561 ; apps/test_UM6/../circbuf.c:108: if(p->end==p->start-1) 03AC 74 C8 1562 mov a,#0xC8 03AE 2B 1563 add a,r3 03AF FB 1564 mov r3,a 03B0 E4 1565 clr a 03B1 3C 1566 addc a,r4 03B2 FC 1567 mov r4,a 03B3 8A 05 1568 mov ar5,r2 03B5 8B 82 1569 mov dpl,r3 03B7 8C 83 1570 mov dph,r4 03B9 8D F0 1571 mov b,r5 03BB 12s00r00 1572 lcall __gptrget 03BE FB 1573 mov r3,a 03BF A3 1574 inc dptr 03C0 12s00r00 1575 lcall __gptrget 03C3 FC 1576 mov r4,a 03C4 A3 1577 inc dptr 03C5 12s00r00 1578 lcall __gptrget 03C8 FD 1579 mov r5,a 03C9 1B 1580 dec r3 03CA BB FF 01 1581 cjne r3,#0xff,00119$ 03CD 1C 1582 dec r4 03CE 1583 00119$: 03CE EB 1584 mov a,r3 03CF B5*03 0C 1585 cjne a,_isbufffull_sloc1_1_0,00105$ 03D2 EC 1586 mov a,r4 03D3 B5*04 08 1587 cjne a,(_isbufffull_sloc1_1_0 + 1),00105$ 03D6 ED 1588 mov a,r5 03D7 B5*05 04 1589 cjne a,(_isbufffull_sloc1_1_0 + 2),00105$ 03DA 1590 C$circbuf.c$111$3$6 ==. 1591 ; apps/test_UM6/../circbuf.c:111: return 1; 03DA 90 00 01 1592 mov dptr,#0x0001 03DD 1593 C$circbuf.c$115$3$7 ==. 1594 ; apps/test_UM6/../circbuf.c:115: return 0; 03DD 1595 C$circbuf.c$118$1$1 ==. 03DD 1596 XG$isbufffull$0$0 ==. 03DD 22 1597 ret 03DE 1598 00105$: 03DE 90 00 00 1599 mov dptr,#0x0000 03E1 22 1600 ret 1601 ;------------------------------------------------------------ 1602 ;Allocation info for local variables in function 'updateLeds' 1603 ;------------------------------------------------------------ 1604 ;------------------------------------------------------------ 03E2 1605 G$updateLeds$0$0 ==. 03E2 1606 C$test_UM6.c$44$1$1 ==. 1607 ; apps/test_UM6/test_UM6.c:44: void updateLeds() 1608 ; ----------------------------------------- 1609 ; function updateLeds 1610 ; ----------------------------------------- 03E2 1611 _updateLeds: 03E2 1612 C$test_UM6.c$46$1$1 ==. 1613 ; apps/test_UM6/test_UM6.c:46: usbShowStatusWithGreenLed(); 03E2 1614 C$test_UM6.c$48$1$1 ==. 03E2 1615 XG$updateLeds$0$0 ==. 03E2 02s00r00 1616 ljmp _usbShowStatusWithGreenLed 1617 ;------------------------------------------------------------ 1618 ;Allocation info for local variables in function 'putchar' 1619 ;------------------------------------------------------------ 1620 ;------------------------------------------------------------ 03E5 1621 G$putchar$0$0 ==. 03E5 1622 C$test_UM6.c$49$1$1 ==. 1623 ; apps/test_UM6/test_UM6.c:49: void putchar(char c) 1624 ; ----------------------------------------- 1625 ; function putchar 1626 ; ----------------------------------------- 03E5 1627 _putchar: 03E5 AA 82 1628 mov r2,dpl 03E7 1629 C$test_UM6.c$51$1$1 ==. 1630 ; apps/test_UM6/test_UM6.c:51: report[reportLength] = c; 03E7 E5*00 1631 mov a,_reportLength 03E9 24r00 1632 add a,#_report 03EB F5 82 1633 mov dpl,a 03ED E5*01 1634 mov a,(_reportLength + 1) 03EF 34s00 1635 addc a,#(_report >> 8) 03F1 F5 83 1636 mov dph,a 03F3 EA 1637 mov a,r2 03F4 F0 1638 movx @dptr,a 03F5 1639 C$test_UM6.c$52$1$1 ==. 1640 ; apps/test_UM6/test_UM6.c:52: reportLength++; 03F5 05*00 1641 inc _reportLength 03F7 E4 1642 clr a 03F8 B5*00 02 1643 cjne a,_reportLength,00103$ 03FB 05*01 1644 inc (_reportLength + 1) 03FD 1645 00103$: 03FD 1646 C$test_UM6.c$53$1$1 ==. 03FD 1647 XG$putchar$0$0 ==. 03FD 22 1648 ret 1649 ;------------------------------------------------------------ 1650 ;Allocation info for local variables in function 'requestUM6config' 1651 ;------------------------------------------------------------ 1652 ;txarray Allocated with name '_requestUM6config_txarray_1_1' 1653 ;------------------------------------------------------------ 03FE 1654 G$requestUM6config$0$0 ==. 03FE 1655 C$test_UM6.c$56$1$1 ==. 1656 ; apps/test_UM6/test_UM6.c:56: void requestUM6config(){ 1657 ; ----------------------------------------- 1658 ; function requestUM6config 1659 ; ----------------------------------------- 03FE 1660 _requestUM6config: 03FE 1661 C$test_UM6.c$58$1$1 ==. 1662 ; apps/test_UM6/test_UM6.c:58: uint8 XDATA txarray[7] = {0x73,0x6e,0x70,0x44,0x00,0x01,0x95}; 03FE 90s01rFB 1663 mov dptr,#_requestUM6config_txarray_1_1 0401 74 73 1664 mov a,#0x73 0403 F0 1665 movx @dptr,a 0404 90s01rFC 1666 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0001) 0407 74 6E 1667 mov a,#0x6E 0409 F0 1668 movx @dptr,a 040A 90s01rFD 1669 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0002) 040D 74 70 1670 mov a,#0x70 040F F0 1671 movx @dptr,a 0410 90s01rFE 1672 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0003) 0413 74 44 1673 mov a,#0x44 0415 F0 1674 movx @dptr,a 0416 90s01rFF 1675 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0004) 0419 E4 1676 clr a 041A F0 1677 movx @dptr,a 041B 90s02r00 1678 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0005) 041E 74 01 1679 mov a,#0x01 0420 F0 1680 movx @dptr,a 0421 90s02r01 1681 mov dptr,#(_requestUM6config_txarray_1_1 + 0x0006) 0424 74 95 1682 mov a,#0x95 0426 F0 1683 movx @dptr,a 0427 1684 C$test_UM6.c$59$1$1 ==. 1685 ; apps/test_UM6/test_UM6.c:59: while(uart1TxAvailable()<7){} //wait until 7 bytes in buffer opens up 0427 1686 00101$: 0427 12s00r00 1687 lcall _uart1TxAvailable 042A AA 82 1688 mov r2,dpl 042C BA 07 00 1689 cjne r2,#0x07,00108$ 042F 1690 00108$: 042F 40 F6 1691 jc 00101$ 0431 1692 C$test_UM6.c$60$1$1 ==. 1693 ; apps/test_UM6/test_UM6.c:60: uart1TxSend(txarray,7); 0431 78r00 1694 mov r0,#_uart1TxSend_PARM_2 0433 74 07 1695 mov a,#0x07 0435 F2 1696 movx @r0,a 0436 90s01rFB 1697 mov dptr,#_requestUM6config_txarray_1_1 0439 1698 C$test_UM6.c$64$1$1 ==. 0439 1699 XG$requestUM6config$0$0 ==. 0439 02s00r00 1700 ljmp _uart1TxSend 1701 ;------------------------------------------------------------ 1702 ;Allocation info for local variables in function 'processRxbuffer' 1703 ;------------------------------------------------------------ 1704 ;sloc0 Allocated with name '_processRxbuffer_sloc0_1_0' 1705 ;------------------------------------------------------------ 043C 1706 G$processRxbuffer$0$0 ==. 043C 1707 C$test_UM6.c$68$1$1 ==. 1708 ; apps/test_UM6/test_UM6.c:68: void processRxbuffer(){ 1709 ; ----------------------------------------- 1710 ; function processRxbuffer 1711 ; ----------------------------------------- 043C 1712 _processRxbuffer: 043C 1713 C$test_UM6.c$76$1$1 ==. 1714 ; apps/test_UM6/test_UM6.c:76: if(rxbuf.start = rxbuf.end){ 043C 90s01rF7 1715 mov dptr,#(_rxbuf + 0x00cb) 043F E0 1716 movx a,@dptr 0440 FA 1717 mov r2,a 0441 A3 1718 inc dptr 0442 E0 1719 movx a,@dptr 0443 FB 1720 mov r3,a 0444 A3 1721 inc dptr 0445 E0 1722 movx a,@dptr 0446 FC 1723 mov r4,a 0447 90s01rF4 1724 mov dptr,#(_rxbuf + 0x00c8) 044A EA 1725 mov a,r2 044B F0 1726 movx @dptr,a 044C A3 1727 inc dptr 044D EB 1728 mov a,r3 044E F0 1729 movx @dptr,a 044F A3 1730 inc dptr 0450 EC 1731 mov a,r4 0451 F0 1732 movx @dptr,a 0452 EA 1733 mov a,r2 0453 4B 1734 orl a,r3 0454 4C 1735 orl a,r4 0455 60 01 1736 jz 00140$ 0457 1737 C$test_UM6.c$77$2$2 ==. 1738 ; apps/test_UM6/test_UM6.c:77: return; 0457 22 1739 ret 0458 1740 C$test_UM6.c$80$1$1 ==. 1741 ; apps/test_UM6/test_UM6.c:80: while((rxbuf.start!=rxbuf.end) && bytecount < 100){ 0458 1742 00140$: 0458 7A 00 1743 mov r2,#0x00 045A 1744 00131$: 045A C0 02 1745 push ar2 045C 90s01rF4 1746 mov dptr,#(_rxbuf + 0x00c8) 045F E0 1747 movx a,@dptr 0460 FB 1748 mov r3,a 0461 A3 1749 inc dptr 0462 E0 1750 movx a,@dptr 0463 FC 1751 mov r4,a 0464 A3 1752 inc dptr 0465 E0 1753 movx a,@dptr 0466 FD 1754 mov r5,a 0467 90s01rF7 1755 mov dptr,#(_rxbuf + 0x00cb) 046A E0 1756 movx a,@dptr 046B FE 1757 mov r6,a 046C A3 1758 inc dptr 046D E0 1759 movx a,@dptr 046E FF 1760 mov r7,a 046F A3 1761 inc dptr 0470 E0 1762 movx a,@dptr 0471 FA 1763 mov r2,a 0472 EB 1764 mov a,r3 0473 B5 06 0B 1765 cjne a,ar6,00153$ 0476 EC 1766 mov a,r4 0477 B5 07 07 1767 cjne a,ar7,00153$ 047A ED 1768 mov a,r5 047B B5 02 03 1769 cjne a,ar2,00153$ 047E D0 02 1770 pop ar2 0480 22 1771 ret 0481 1772 00153$: 0481 D0 02 1773 pop ar2 0483 BA 64 00 1774 cjne r2,#0x64,00154$ 0486 1775 00154$: 0486 40 01 1776 jc 00155$ 0488 22 1777 ret 0489 1778 00155$: 0489 1779 C$test_UM6.c$81$2$3 ==. 1780 ; apps/test_UM6/test_UM6.c:81: newbyte = next(&rxbuf); 0489 90s01r2C 1781 mov dptr,#_rxbuf 048C 75 F0 00 1782 mov b,#0x00 048F C0 02 1783 push ar2 0491 12s00r00 1784 lcall _next 0494 AF 82 1785 mov r7,dpl 0496 D0 02 1786 pop ar2 0498 1787 C$test_UM6.c$82$2$3 ==. 1788 ; apps/test_UM6/test_UM6.c:82: bytecount++; 0498 0A 1789 inc r2 0499 1790 C$test_UM6.c$83$2$3 ==. 1791 ; apps/test_UM6/test_UM6.c:83: if(um6rx.plen==0){// start new packet look for 's' or 0x73 0499 78r0B 1792 mov r0,#_um6rx 049B E2 1793 movx a,@r0 049C 70 16 1794 jnz 00118$ 049E 1795 C$test_UM6.c$84$3$4 ==. 1796 ; apps/test_UM6/test_UM6.c:84: if(newbyte!=0x73){ 049E BF 73 B9 1797 cjne r7,#0x73,00131$ 04A1 1798 C$test_UM6.c$87$4$6 ==. 1799 ; apps/test_UM6/test_UM6.c:87: um6rx.plen = 1; 04A1 78r0B 1800 mov r0,#_um6rx 04A3 74 01 1801 mov a,#0x01 04A5 F2 1802 movx @r0,a 04A6 1803 C$test_UM6.c$88$4$6 ==. 1804 ; apps/test_UM6/test_UM6.c:88: um6rx.chksum = 0x73; // initialize checksum 04A6 78r15 1805 mov r0,#(_um6rx + 0x000a) 04A8 74 73 1806 mov a,#0x73 04AA F2 1807 movx @r0,a 04AB 08 1808 inc r0 04AC E4 1809 clr a 04AD F2 1810 movx @r0,a 04AE 08 1811 inc r0 04AF F2 1812 movx @r0,a 04B0 08 1813 inc r0 04B1 F2 1814 movx @r0,a 04B2 1815 C$test_UM6.c$89$4$6 ==. 1816 ; apps/test_UM6/test_UM6.c:89: continue; 04B2 80 A6 1817 sjmp 00131$ 04B4 1818 00118$: 04B4 1819 C$test_UM6.c$91$2$3 ==. 1820 ; apps/test_UM6/test_UM6.c:91: }else if(um6rx.plen == 1){ // look for 'n' 0x6e 04B4 78r0B 1821 mov r0,#_um6rx 04B6 E2 1822 movx a,@r0 04B7 FC 1823 mov r4,a 04B8 BC 01 32 1824 cjne r4,#0x01,00115$ 04BB 1825 C$test_UM6.c$92$3$7 ==. 1826 ; apps/test_UM6/test_UM6.c:92: if(newbyte!=0x6e){ 04BB BF 6E 9C 1827 cjne r7,#0x6E,00131$ 04BE 1828 C$test_UM6.c$95$4$9 ==. 1829 ; apps/test_UM6/test_UM6.c:95: um6rx.plen=2; 04BE 78r0B 1830 mov r0,#_um6rx 04C0 74 02 1831 mov a,#0x02 04C2 F2 1832 movx @r0,a 04C3 1833 C$test_UM6.c$96$4$9 ==. 1834 ; apps/test_UM6/test_UM6.c:96: um6rx.chksum += 0x6e; 04C3 78r15 1835 mov r0,#(_um6rx + 0x000a) 04C5 E2 1836 movx a,@r0 04C6 FC 1837 mov r4,a 04C7 08 1838 inc r0 04C8 E2 1839 movx a,@r0 04C9 FD 1840 mov r5,a 04CA 08 1841 inc r0 04CB E2 1842 movx a,@r0 04CC FE 1843 mov r6,a 04CD 08 1844 inc r0 04CE E2 1845 movx a,@r0 04CF FF 1846 mov r7,a 04D0 74 6E 1847 mov a,#0x6E 04D2 2C 1848 add a,r4 04D3 FC 1849 mov r4,a 04D4 E4 1850 clr a 04D5 3D 1851 addc a,r5 04D6 FD 1852 mov r5,a 04D7 E4 1853 clr a 04D8 3E 1854 addc a,r6 04D9 FE 1855 mov r6,a 04DA E4 1856 clr a 04DB 3F 1857 addc a,r7 04DC FF 1858 mov r7,a 04DD 78r15 1859 mov r0,#(_um6rx + 0x000a) 04DF EC 1860 mov a,r4 04E0 F2 1861 movx @r0,a 04E1 08 1862 inc r0 04E2 ED 1863 mov a,r5 04E3 F2 1864 movx @r0,a 04E4 08 1865 inc r0 04E5 EE 1866 mov a,r6 04E6 F2 1867 movx @r0,a 04E7 08 1868 inc r0 04E8 EF 1869 mov a,r7 04E9 F2 1870 movx @r0,a 04EA 1871 C$test_UM6.c$97$4$9 ==. 1872 ; apps/test_UM6/test_UM6.c:97: continue; 04EA 02s04r5A 1873 ljmp 00131$ 04ED 1874 00115$: 04ED 1875 C$test_UM6.c$99$2$3 ==. 1876 ; apps/test_UM6/test_UM6.c:99: }else if(um6rx.plen == 2){ // look for 'p' 0x70 04ED 78r0B 1877 mov r0,#_um6rx 04EF E2 1878 movx a,@r0 04F0 FC 1879 mov r4,a 04F1 BC 02 37 1880 cjne r4,#0x02,00119$ 04F4 1881 C$test_UM6.c$100$3$10 ==. 1882 ; apps/test_UM6/test_UM6.c:100: if(newbyte!=0x6e){ 04F4 BF 6E 02 1883 cjne r7,#0x6E,00165$ 04F7 80 03 1884 sjmp 00166$ 04F9 1885 00165$: 04F9 02s04r5A 1886 ljmp 00131$ 04FC 1887 00166$: 04FC 1888 C$test_UM6.c$103$4$12 ==. 1889 ; apps/test_UM6/test_UM6.c:103: um6rx.plen=3; 04FC 78r0B 1890 mov r0,#_um6rx 04FE 74 03 1891 mov a,#0x03 0500 F2 1892 movx @r0,a 0501 1893 C$test_UM6.c$104$4$12 ==. 1894 ; apps/test_UM6/test_UM6.c:104: um6rx.chksum += 0x70; 0501 78r15 1895 mov r0,#(_um6rx + 0x000a) 0503 E2 1896 movx a,@r0 0504 FC 1897 mov r4,a 0505 08 1898 inc r0 0506 E2 1899 movx a,@r0 0507 FD 1900 mov r5,a 0508 08 1901 inc r0 0509 E2 1902 movx a,@r0 050A FE 1903 mov r6,a 050B 08 1904 inc r0 050C E2 1905 movx a,@r0 050D FF 1906 mov r7,a 050E 74 70 1907 mov a,#0x70 0510 2C 1908 add a,r4 0511 FC 1909 mov r4,a 0512 E4 1910 clr a 0513 3D 1911 addc a,r5 0514 FD 1912 mov r5,a 0515 E4 1913 clr a 0516 3E 1914 addc a,r6 0517 FE 1915 mov r6,a 0518 E4 1916 clr a 0519 3F 1917 addc a,r7 051A FF 1918 mov r7,a 051B 78r15 1919 mov r0,#(_um6rx + 0x000a) 051D EC 1920 mov a,r4 051E F2 1921 movx @r0,a 051F 08 1922 inc r0 0520 ED 1923 mov a,r5 0521 F2 1924 movx @r0,a 0522 08 1925 inc r0 0523 EE 1926 mov a,r6 0524 F2 1927 movx @r0,a 0525 08 1928 inc r0 0526 EF 1929 mov a,r7 0527 F2 1930 movx @r0,a 0528 1931 C$test_UM6.c$105$4$12 ==. 1932 ; apps/test_UM6/test_UM6.c:105: continue; 0528 02s04r5A 1933 ljmp 00131$ 052B 1934 00119$: 052B 1935 C$test_UM6.c$110$2$3 ==. 1936 ; apps/test_UM6/test_UM6.c:110: if(um6rx.plen == 3){//PT 052B 78r0B 1937 mov r0,#_um6rx 052D E2 1938 movx a,@r0 052E FC 1939 mov r4,a 052F BC 03 6E 1940 cjne r4,#0x03,00127$ 0532 1941 C$test_UM6.c$111$1$1 ==. 1942 ; apps/test_UM6/test_UM6.c:111: um6rx.curpkt = newbyte; 0532 C0 02 1943 push ar2 0534 78r0C 1944 mov r0,#(_um6rx + 0x0001) 0536 EF 1945 mov a,r7 0537 F2 1946 movx @r0,a 0538 1947 C$test_UM6.c$112$3$13 ==. 1948 ; apps/test_UM6/test_UM6.c:112: um6rx.plen += 1; 0538 78r0B 1949 mov r0,#_um6rx 053A E2 1950 movx a,@r0 053B FD 1951 mov r5,a 053C 0D 1952 inc r5 053D 78r0B 1953 mov r0,#_um6rx 053F ED 1954 mov a,r5 0540 F2 1955 movx @r0,a 0541 1956 C$test_UM6.c$113$3$13 ==. 1957 ; apps/test_UM6/test_UM6.c:113: um6rx.chksum += newbyte; 0541 78r15 1958 mov r0,#(_um6rx + 0x000a) 0543 E2 1959 movx a,@r0 0544 F5*08 1960 mov _processRxbuffer_sloc0_1_0,a 0546 08 1961 inc r0 0547 E2 1962 movx a,@r0 0548 F5*09 1963 mov (_processRxbuffer_sloc0_1_0 + 1),a 054A 08 1964 inc r0 054B E2 1965 movx a,@r0 054C F5*0A 1966 mov (_processRxbuffer_sloc0_1_0 + 2),a 054E 08 1967 inc r0 054F E2 1968 movx a,@r0 0550 F5*0B 1969 mov (_processRxbuffer_sloc0_1_0 + 3),a 0552 8F 03 1970 mov ar3,r7 0554 E4 1971 clr a 0555 FA 1972 mov r2,a 0556 FD 1973 mov r5,a 0557 FE 1974 mov r6,a 0558 EB 1975 mov a,r3 0559 25*08 1976 add a,_processRxbuffer_sloc0_1_0 055B FB 1977 mov r3,a 055C EA 1978 mov a,r2 055D 35*09 1979 addc a,(_processRxbuffer_sloc0_1_0 + 1) 055F FA 1980 mov r2,a 0560 ED 1981 mov a,r5 0561 35*0A 1982 addc a,(_processRxbuffer_sloc0_1_0 + 2) 0563 FD 1983 mov r5,a 0564 EE 1984 mov a,r6 0565 35*0B 1985 addc a,(_processRxbuffer_sloc0_1_0 + 3) 0567 FE 1986 mov r6,a 0568 78r15 1987 mov r0,#(_um6rx + 0x000a) 056A EB 1988 mov a,r3 056B F2 1989 movx @r0,a 056C 08 1990 inc r0 056D EA 1991 mov a,r2 056E F2 1992 movx @r0,a 056F 08 1993 inc r0 0570 ED 1994 mov a,r5 0571 F2 1995 movx @r0,a 0572 08 1996 inc r0 0573 EE 1997 mov a,r6 0574 F2 1998 movx @r0,a 0575 1999 C$test_UM6.c$115$3$13 ==. 2000 ; apps/test_UM6/test_UM6.c:115: if(newbyte & 0x80){ // check if it has data 0575 EF 2001 mov a,r7 0576 D0 02 2002 pop ar2 0578 30 E7 05 2003 jnb acc.7,00121$ 057B 2004 C$test_UM6.c$116$4$14 ==. 2005 ; apps/test_UM6/test_UM6.c:116: um6rx.hasdata = 1; 057B 78r0F 2006 mov r0,#(_um6rx + 0x0004) 057D 74 01 2007 mov a,#0x01 057F F2 2008 movx @r0,a 0580 2009 00121$: 0580 2010 C$test_UM6.c$118$3$13 ==. 2011 ; apps/test_UM6/test_UM6.c:118: if(newbyte & 0x40){ // check if bytes or registers 0580 EF 2012 mov a,r7 0581 30 E6 05 2013 jnb acc.6,00123$ 0584 2014 C$test_UM6.c$119$4$15 ==. 2015 ; apps/test_UM6/test_UM6.c:119: um6rx.isbatch = 1; 0584 78r10 2016 mov r0,#(_um6rx + 0x0005) 0586 74 01 2017 mov a,#0x01 0588 F2 2018 movx @r0,a 0589 2019 00123$: 0589 2020 C$test_UM6.c$121$3$13 ==. 2021 ; apps/test_UM6/test_UM6.c:121: if(!(newbyte & 0xfe)){ // check if it is a command failed packet 0589 EF 2022 mov a,r7 058A 54 FE 2023 anl a,#0xFE 058C 60 03 2024 jz 00172$ 058E 02s04r5A 2025 ljmp 00131$ 0591 2026 00172$: 0591 2027 C$test_UM6.c$122$4$16 ==. 2028 ; apps/test_UM6/test_UM6.c:122: um6rx.commandfailed = 1; 0591 78r11 2029 mov r0,#(_um6rx + 0x0006) 0593 74 01 2030 mov a,#0x01 0595 F2 2031 movx @r0,a 0596 08 2032 inc r0 0597 E4 2033 clr a 0598 F2 2034 movx @r0,a 0599 08 2035 inc r0 059A F2 2036 movx @r0,a 059B 08 2037 inc r0 059C F2 2038 movx @r0,a 059D 2039 C$test_UM6.c$124$3$13 ==. 2040 ; apps/test_UM6/test_UM6.c:124: continue; 059D 02s04r5A 2041 ljmp 00131$ 05A0 2042 00127$: 05A0 2043 C$test_UM6.c$126$2$3 ==. 2044 ; apps/test_UM6/test_UM6.c:126: if(um6rx.plen==4){//ADDRESS 05A0 BC 04 02 2045 cjne r4,#0x04,00173$ 05A3 80 03 2046 sjmp 00174$ 05A5 2047 00173$: 05A5 02s04r5A 2048 ljmp 00131$ 05A8 2049 00174$: 05A8 2050 C$test_UM6.c$127$1$1 ==. 2051 ; apps/test_UM6/test_UM6.c:127: um6rx.address = newbyte; 05A8 C0 02 2052 push ar2 05AA 78r0D 2053 mov r0,#(_um6rx + 0x0002) 05AC EF 2054 mov a,r7 05AD F2 2055 movx @r0,a 05AE 2056 C$test_UM6.c$128$3$17 ==. 2057 ; apps/test_UM6/test_UM6.c:128: um6rx.chksum += newbyte; 05AE 78r15 2058 mov r0,#(_um6rx + 0x000a) 05B0 E2 2059 movx a,@r0 05B1 F5*08 2060 mov _processRxbuffer_sloc0_1_0,a 05B3 08 2061 inc r0 05B4 E2 2062 movx a,@r0 05B5 F5*09 2063 mov (_processRxbuffer_sloc0_1_0 + 1),a 05B7 08 2064 inc r0 05B8 E2 2065 movx a,@r0 05B9 F5*0A 2066 mov (_processRxbuffer_sloc0_1_0 + 2),a 05BB 08 2067 inc r0 05BC E2 2068 movx a,@r0 05BD F5*0B 2069 mov (_processRxbuffer_sloc0_1_0 + 3),a 05BF E4 2070 clr a 05C0 FA 2071 mov r2,a 05C1 FB 2072 mov r3,a 05C2 FC 2073 mov r4,a 05C3 EF 2074 mov a,r7 05C4 25*08 2075 add a,_processRxbuffer_sloc0_1_0 05C6 FF 2076 mov r7,a 05C7 EA 2077 mov a,r2 05C8 35*09 2078 addc a,(_processRxbuffer_sloc0_1_0 + 1) 05CA FA 2079 mov r2,a 05CB EB 2080 mov a,r3 05CC 35*0A 2081 addc a,(_processRxbuffer_sloc0_1_0 + 2) 05CE FB 2082 mov r3,a 05CF EC 2083 mov a,r4 05D0 35*0B 2084 addc a,(_processRxbuffer_sloc0_1_0 + 3) 05D2 FC 2085 mov r4,a 05D3 78r15 2086 mov r0,#(_um6rx + 0x000a) 05D5 EF 2087 mov a,r7 05D6 F2 2088 movx @r0,a 05D7 08 2089 inc r0 05D8 EA 2090 mov a,r2 05D9 F2 2091 movx @r0,a 05DA 08 2092 inc r0 05DB EB 2093 mov a,r3 05DC F2 2094 movx @r0,a 05DD 08 2095 inc r0 05DE EC 2096 mov a,r4 05DF F2 2097 movx @r0,a 05E0 2098 C$test_UM6.c$129$3$17 ==. 2099 ; apps/test_UM6/test_UM6.c:129: um6rx.plen += 1; 05E0 78r0B 2100 mov r0,#_um6rx 05E2 E2 2101 movx a,@r0 05E3 FA 2102 mov r2,a 05E4 0A 2103 inc r2 05E5 78r0B 2104 mov r0,#_um6rx 05E7 EA 2105 mov a,r2 05E8 F2 2106 movx @r0,a 05E9 2107 C$test_UM6.c$130$1$1 ==. 2108 ; apps/test_UM6/test_UM6.c:130: continue; 05E9 D0 02 2109 pop ar2 05EB 2110 C$test_UM6.c$140$1$1 ==. 05EB 2111 XG$processRxbuffer$0$0 ==. 05EB 02s04r5A 2112 ljmp 00131$ 2113 ;------------------------------------------------------------ 2114 ;Allocation info for local variables in function 'sendReportIfNeeded' 2115 ;------------------------------------------------------------ 2116 ;sloc0 Allocated with name '_sendReportIfNeeded_sloc0_1_0' 2117 ;------------------------------------------------------------ 05EE 2118 G$sendReportIfNeeded$0$0 ==. 05EE 2119 C$test_UM6.c$142$1$1 ==. 2120 ; apps/test_UM6/test_UM6.c:142: void sendReportIfNeeded() 2121 ; ----------------------------------------- 2122 ; function sendReportIfNeeded 2123 ; ----------------------------------------- 05EE 2124 _sendReportIfNeeded: 05EE 2125 C$test_UM6.c$147$1$1 ==. 2126 ; apps/test_UM6/test_UM6.c:147: uint8 reg[10]={0}; 05EE 78r41 2127 mov r0,#_sendReportIfNeeded_reg_1_1 05F0 E4 2128 clr a 05F1 F2 2129 movx @r0,a 05F2 78r42 2130 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0001) 05F4 E4 2131 clr a 05F5 F2 2132 movx @r0,a 05F6 78r43 2133 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0002) 05F8 E4 2134 clr a 05F9 F2 2135 movx @r0,a 05FA 78r44 2136 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0003) 05FC E4 2137 clr a 05FD F2 2138 movx @r0,a 05FE 78r45 2139 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0004) 0600 E4 2140 clr a 0601 F2 2141 movx @r0,a 0602 78r46 2142 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0005) 0604 E4 2143 clr a 0605 F2 2144 movx @r0,a 0606 78r47 2145 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0006) 0608 E4 2146 clr a 0609 F2 2147 movx @r0,a 060A 78r48 2148 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0007) 060C E4 2149 clr a 060D F2 2150 movx @r0,a 060E 78r49 2151 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0008) 0610 E4 2152 clr a 0611 F2 2153 movx @r0,a 0612 78r4A 2154 mov r0,#(_sendReportIfNeeded_reg_1_1 + 0x0009) 0614 E4 2155 clr a 0615 F2 2156 movx @r0,a 0616 2157 C$test_UM6.c$151$1$1 ==. 2158 ; apps/test_UM6/test_UM6.c:151: if (getMs() - lastReport >= param_report_period_ms && reportLength == 0) 0616 12s00r00 2159 lcall _getMs 0619 AA 82 2160 mov r2,dpl 061B AB 83 2161 mov r3,dph 061D AC F0 2162 mov r4,b 061F FD 2163 mov r5,a 0620 78r3D 2164 mov r0,#_sendReportIfNeeded_lastReport_1_1 0622 D3 2165 setb c 0623 E2 2166 movx a,@r0 0624 9A 2167 subb a,r2 0625 F4 2168 cpl a 0626 B3 2169 cpl c 0627 F5*0C 2170 mov _sendReportIfNeeded_sloc0_1_0,a 0629 B3 2171 cpl c 062A 08 2172 inc r0 062B E2 2173 movx a,@r0 062C 9B 2174 subb a,r3 062D F4 2175 cpl a 062E B3 2176 cpl c 062F F5*0D 2177 mov (_sendReportIfNeeded_sloc0_1_0 + 1),a 0631 B3 2178 cpl c 0632 08 2179 inc r0 0633 E2 2180 movx a,@r0 0634 9C 2181 subb a,r4 0635 F4 2182 cpl a 0636 B3 2183 cpl c 0637 F5*0E 2184 mov (_sendReportIfNeeded_sloc0_1_0 + 2),a 0639 B3 2185 cpl c 063A 08 2186 inc r0 063B E2 2187 movx a,@r0 063C 9D 2188 subb a,r5 063D F4 2189 cpl a 063E F5*0F 2190 mov (_sendReportIfNeeded_sloc0_1_0 + 3),a 0640 90s00r00 2191 mov dptr,#_param_report_period_ms 0643 E4 2192 clr a 0644 93 2193 movc a,@a+dptr 0645 FE 2194 mov r6,a 0646 74 01 2195 mov a,#0x01 0648 93 2196 movc a,@a+dptr 0649 FF 2197 mov r7,a 064A 74 02 2198 mov a,#0x02 064C 93 2199 movc a,@a+dptr 064D FA 2200 mov r2,a 064E 74 03 2201 mov a,#0x03 0650 93 2202 movc a,@a+dptr 0651 FB 2203 mov r3,a 0652 C3 2204 clr c 0653 E5*0C 2205 mov a,_sendReportIfNeeded_sloc0_1_0 0655 9E 2206 subb a,r6 0656 E5*0D 2207 mov a,(_sendReportIfNeeded_sloc0_1_0 + 1) 0658 9F 2208 subb a,r7 0659 E5*0E 2209 mov a,(_sendReportIfNeeded_sloc0_1_0 + 2) 065B 9A 2210 subb a,r2 065C E5*0F 2211 mov a,(_sendReportIfNeeded_sloc0_1_0 + 3) 065E 9B 2212 subb a,r3 065F 40 71 2213 jc 00107$ 0661 E5*00 2214 mov a,_reportLength 0663 45*01 2215 orl a,(_reportLength + 1) 0665 70 6B 2216 jnz 00107$ 0667 2217 C$test_UM6.c$153$2$2 ==. 2218 ; apps/test_UM6/test_UM6.c:153: requestUM6config(); 0667 12s03rFE 2219 lcall _requestUM6config 066A 2220 C$test_UM6.c$154$2$2 ==. 2221 ; apps/test_UM6/test_UM6.c:154: lastReport = getMs(); 066A 12s00r00 2222 lcall _getMs 066D AA 82 2223 mov r2,dpl 066F AB 83 2224 mov r3,dph 0671 AC F0 2225 mov r4,b 0673 FD 2226 mov r5,a 0674 78r3D 2227 mov r0,#_sendReportIfNeeded_lastReport_1_1 0676 EA 2228 mov a,r2 0677 F2 2229 movx @r0,a 0678 08 2230 inc r0 0679 EB 2231 mov a,r3 067A F2 2232 movx @r0,a 067B 08 2233 inc r0 067C EC 2234 mov a,r4 067D F2 2235 movx @r0,a 067E 08 2236 inc r0 067F ED 2237 mov a,r5 0680 F2 2238 movx @r0,a 0681 2239 C$test_UM6.c$155$2$2 ==. 2240 ; apps/test_UM6/test_UM6.c:155: reportBytesSent = 0; 0681 E4 2241 clr a 0682 F5*02 2242 mov _reportBytesSent,a 0684 F5*03 2243 mov (_reportBytesSent + 1),a 0686 2244 C$test_UM6.c$170$3$3 ==. 2245 ; apps/test_UM6/test_UM6.c:170: while(rxbuf.start!=rxbuf.end){ 0686 2246 00101$: 0686 90s01rF4 2247 mov dptr,#(_rxbuf + 0x00c8) 0689 E0 2248 movx a,@dptr 068A FA 2249 mov r2,a 068B A3 2250 inc dptr 068C E0 2251 movx a,@dptr 068D FB 2252 mov r3,a 068E A3 2253 inc dptr 068F E0 2254 movx a,@dptr 0690 FC 2255 mov r4,a 0691 90s01rF7 2256 mov dptr,#(_rxbuf + 0x00cb) 0694 E0 2257 movx a,@dptr 0695 FD 2258 mov r5,a 0696 A3 2259 inc dptr 0697 E0 2260 movx a,@dptr 0698 FE 2261 mov r6,a 0699 A3 2262 inc dptr 069A E0 2263 movx a,@dptr 069B FF 2264 mov r7,a 069C EA 2265 mov a,r2 069D B5 05 0A 2266 cjne a,ar5,00124$ 06A0 EB 2267 mov a,r3 06A1 B5 06 06 2268 cjne a,ar6,00124$ 06A4 EC 2269 mov a,r4 06A5 B5 07 02 2270 cjne a,ar7,00124$ 06A8 80 28 2271 sjmp 00107$ 06AA 2272 00124$: 06AA 2273 C$test_UM6.c$171$4$4 ==. 2274 ; apps/test_UM6/test_UM6.c:171: printf("UM6 COnfig reg : 0x%x \n",next(&rxbuf)); 06AA 90s01r2C 2275 mov dptr,#_rxbuf 06AD 75 F0 00 2276 mov b,#0x00 06B0 12s00r00 2277 lcall _next 06B3 AA 82 2278 mov r2,dpl 06B5 7B 00 2279 mov r3,#0x00 06B7 C0 02 2280 push ar2 06B9 C0 03 2281 push ar3 06BB 74r04 2282 mov a,#__str_0 06BD C0 E0 2283 push acc 06BF 74s00 2284 mov a,#(__str_0 >> 8) 06C1 C0 E0 2285 push acc 06C3 74 80 2286 mov a,#0x80 06C5 C0 E0 2287 push acc 06C7 12s00r00 2288 lcall _printf 06CA E5 81 2289 mov a,sp 06CC 24 FB 2290 add a,#0xfb 06CE F5 81 2291 mov sp,a 06D0 80 B4 2292 sjmp 00101$ 06D2 2293 00107$: 06D2 2294 C$test_UM6.c$183$1$1 ==. 2295 ; apps/test_UM6/test_UM6.c:183: if (reportLength > 0) 06D2 E5*00 2296 mov a,_reportLength 06D4 45*01 2297 orl a,(_reportLength + 1) 06D6 60 5D 2298 jz 00114$ 06D8 2299 C$test_UM6.c$185$2$6 ==. 2300 ; apps/test_UM6/test_UM6.c:185: bytesToSend = usbComTxAvailable(); 06D8 12s00r00 2301 lcall _usbComTxAvailable 06DB AA 82 2302 mov r2,dpl 06DD 2303 C$test_UM6.c$186$2$6 ==. 2304 ; apps/test_UM6/test_UM6.c:186: if (bytesToSend > reportLength - reportBytesSent) 06DD E5*00 2305 mov a,_reportLength 06DF C3 2306 clr c 06E0 95*02 2307 subb a,_reportBytesSent 06E2 FB 2308 mov r3,a 06E3 E5*01 2309 mov a,(_reportLength + 1) 06E5 95*03 2310 subb a,(_reportBytesSent + 1) 06E7 FC 2311 mov r4,a 06E8 8A 05 2312 mov ar5,r2 06EA 7E 00 2313 mov r6,#0x00 06EC C3 2314 clr c 06ED EB 2315 mov a,r3 06EE 9D 2316 subb a,r5 06EF EC 2317 mov a,r4 06F0 9E 2318 subb a,r6 06F1 50 1F 2319 jnc 00110$ 06F3 2320 C$test_UM6.c$189$3$7 ==. 2321 ; apps/test_UM6/test_UM6.c:189: usbComTxSend(report+reportBytesSent, reportLength - reportBytesSent); 06F3 E5*02 2322 mov a,_reportBytesSent 06F5 24r00 2323 add a,#_report 06F7 F5 82 2324 mov dpl,a 06F9 E5*03 2325 mov a,(_reportBytesSent + 1) 06FB 34s00 2326 addc a,#(_report >> 8) 06FD F5 83 2327 mov dph,a 06FF AB*00 2328 mov r3,_reportLength 0701 AC*02 2329 mov r4,_reportBytesSent 0703 EB 2330 mov a,r3 0704 C3 2331 clr c 0705 9C 2332 subb a,r4 0706 78r00 2333 mov r0,#_usbComTxSend_PARM_2 0708 F2 2334 movx @r0,a 0709 12s00r00 2335 lcall _usbComTxSend 070C 2336 C$test_UM6.c$190$3$7 ==. 2337 ; apps/test_UM6/test_UM6.c:190: reportLength = 0; 070C E4 2338 clr a 070D F5*00 2339 mov _reportLength,a 070F F5*01 2340 mov (_reportLength + 1),a 0711 22 2341 ret 0712 2342 00110$: 0712 2343 C$test_UM6.c$194$3$8 ==. 2344 ; apps/test_UM6/test_UM6.c:194: usbComTxSend(report+reportBytesSent, bytesToSend); 0712 E5*02 2345 mov a,_reportBytesSent 0714 24r00 2346 add a,#_report 0716 F5 82 2347 mov dpl,a 0718 E5*03 2348 mov a,(_reportBytesSent + 1) 071A 34s00 2349 addc a,#(_report >> 8) 071C F5 83 2350 mov dph,a 071E 78r00 2351 mov r0,#_usbComTxSend_PARM_2 0720 EA 2352 mov a,r2 0721 F2 2353 movx @r0,a 0722 C0 02 2354 push ar2 0724 12s00r00 2355 lcall _usbComTxSend 0727 D0 02 2356 pop ar2 0729 2357 C$test_UM6.c$195$3$8 ==. 2358 ; apps/test_UM6/test_UM6.c:195: reportBytesSent += bytesToSend; 0729 7B 00 2359 mov r3,#0x00 072B EA 2360 mov a,r2 072C 25*02 2361 add a,_reportBytesSent 072E F5*02 2362 mov _reportBytesSent,a 0730 EB 2363 mov a,r3 0731 35*03 2364 addc a,(_reportBytesSent + 1) 0733 F5*03 2365 mov (_reportBytesSent + 1),a 0735 2366 00114$: 0735 2367 C$test_UM6.c$199$2$1 ==. 0735 2368 XG$sendReportIfNeeded$0$0 ==. 0735 22 2369 ret 2370 ;------------------------------------------------------------ 2371 ;Allocation info for local variables in function 'uart1set' 2372 ;------------------------------------------------------------ 2373 ;------------------------------------------------------------ 0736 2374 G$uart1set$0$0 ==. 0736 2375 C$test_UM6.c$200$2$1 ==. 2376 ; apps/test_UM6/test_UM6.c:200: void uart1set(){ 2377 ; ----------------------------------------- 2378 ; function uart1set 2379 ; ----------------------------------------- 0736 2380 _uart1set: 0736 2381 C$test_UM6.c$201$1$1 ==. 2382 ; apps/test_UM6/test_UM6.c:201: uart1SetBaudRate(115000); 0736 90 C1 38 2383 mov dptr,#0xC138 0739 75 F0 01 2384 mov b,#0x01 073C E4 2385 clr a 073D 12s00r00 2386 lcall _uart1SetBaudRate 0740 2387 C$test_UM6.c$202$1$1 ==. 2388 ; apps/test_UM6/test_UM6.c:202: uart1SetParity(PARITY_NONE); 0740 75 82 00 2389 mov dpl,#0x00 0743 12s00r00 2390 lcall _uart1SetParity 0746 2391 C$test_UM6.c$203$1$1 ==. 2392 ; apps/test_UM6/test_UM6.c:203: uart1SetStopBits(STOP_BITS_1); 0746 75 82 00 2393 mov dpl,#0x00 0749 2394 C$test_UM6.c$204$1$1 ==. 0749 2395 XG$uart1set$0$0 ==. 0749 02s00r00 2396 ljmp _uart1SetStopBits 2397 ;------------------------------------------------------------ 2398 ;Allocation info for local variables in function 'main' 2399 ;------------------------------------------------------------ 2400 ;------------------------------------------------------------ 074C 2401 G$main$0$0 ==. 074C 2402 C$test_UM6.c$207$1$1 ==. 2403 ; apps/test_UM6/test_UM6.c:207: void main() 2404 ; ----------------------------------------- 2405 ; function main 2406 ; ----------------------------------------- 074C 2407 _main: 074C 2408 C$test_UM6.c$210$1$1 ==. 2409 ; apps/test_UM6/test_UM6.c:210: rxbuf.start = rxbuf.ch; 074C 90s01rF4 2410 mov dptr,#(_rxbuf + 0x00c8) 074F 74r2C 2411 mov a,#_rxbuf 0751 F0 2412 movx @dptr,a 0752 A3 2413 inc dptr 0753 74s01 2414 mov a,#(_rxbuf >> 8) 0755 F0 2415 movx @dptr,a 0756 A3 2416 inc dptr 0757 E4 2417 clr a 0758 F0 2418 movx @dptr,a 0759 2419 C$test_UM6.c$211$1$1 ==. 2420 ; apps/test_UM6/test_UM6.c:211: rxbuf.end = rxbuf.ch; 0759 90s01rF7 2421 mov dptr,#(_rxbuf + 0x00cb) 075C 74r2C 2422 mov a,#_rxbuf 075E F0 2423 movx @dptr,a 075F A3 2424 inc dptr 0760 74s01 2425 mov a,#(_rxbuf >> 8) 0762 F0 2426 movx @dptr,a 0763 A3 2427 inc dptr 0764 E4 2428 clr a 0765 F0 2429 movx @dptr,a 0766 2430 C$test_UM6.c$212$1$1 ==. 2431 ; apps/test_UM6/test_UM6.c:212: um6rx.plen = 0; 0766 78r0B 2432 mov r0,#_um6rx 0768 E4 2433 clr a 0769 F2 2434 movx @r0,a 076A 2435 C$test_UM6.c$213$1$1 ==. 2436 ; apps/test_UM6/test_UM6.c:213: um6rx.curpkt = 0; 076A 78r0C 2437 mov r0,#(_um6rx + 0x0001) 076C E4 2438 clr a 076D F2 2439 movx @r0,a 076E 2440 C$test_UM6.c$214$1$1 ==. 2441 ; apps/test_UM6/test_UM6.c:214: systemInit(); 076E 12s00r00 2442 lcall _systemInit 0771 2443 C$test_UM6.c$215$1$1 ==. 2444 ; apps/test_UM6/test_UM6.c:215: usbInit(); 0771 12s00r00 2445 lcall _usbInit 0774 2446 C$test_UM6.c$216$1$1 ==. 2447 ; apps/test_UM6/test_UM6.c:216: uart1Init(); 0774 12s00r00 2448 lcall _uart1Init 0777 2449 C$test_UM6.c$217$1$1 ==. 2450 ; apps/test_UM6/test_UM6.c:217: uart1set(); 0777 12s07r36 2451 lcall _uart1set 077A 2452 C$test_UM6.c$218$1$1 ==. 2453 ; apps/test_UM6/test_UM6.c:218: while(1) 077A 2454 00105$: 077A 2455 C$test_UM6.c$220$2$2 ==. 2456 ; apps/test_UM6/test_UM6.c:220: boardService(); 077A 12s00r00 2457 lcall _boardService 077D 2458 C$test_UM6.c$221$2$2 ==. 2459 ; apps/test_UM6/test_UM6.c:221: usbComService(); 077D 12s00r00 2460 lcall _usbComService 0780 2461 C$test_UM6.c$224$2$2 ==. 2462 ; apps/test_UM6/test_UM6.c:224: while(uart1RxAvailable()) 0780 2463 00101$: 0780 12s00r00 2464 lcall _uart1RxAvailable 0783 E5 82 2465 mov a,dpl 0785 60 2B 2466 jz 00103$ 0787 2467 C$test_UM6.c$226$4$4 ==. 2468 ; apps/test_UM6/test_UM6.c:226: LED_YELLOW(!LED_YELLOW_STATE); 0787 E5 FF 2469 mov a,_P2DIR 0789 03 2470 rr a 078A 03 2471 rr a 078B 54 01 2472 anl a,#0x01 078D FA 2473 mov r2,a 078E B4 01 00 2474 cjne a,#0x01,00116$ 0791 2475 00116$: 0791 E4 2476 clr a 0792 33 2477 rlc a 0793 FA 2478 mov r2,a 0794 60 05 2479 jz 00109$ 0796 43 FF 04 2480 orl _P2DIR,#0x04 0799 80 03 2481 sjmp 00110$ 079B 2482 00109$: 079B 53 FF FB 2483 anl _P2DIR,#0xFB 079E 2484 00110$: 079E 2485 C$test_UM6.c$227$3$3 ==. 2486 ; apps/test_UM6/test_UM6.c:227: addlastbuff(&rxbuf,uart1RxReceiveByte()); 079E 12s00r00 2487 lcall _uart1RxReceiveByte 07A1 AA 82 2488 mov r2,dpl 07A3 78r03 2489 mov r0,#_addlastbuff_PARM_2 07A5 EA 2490 mov a,r2 07A6 F2 2491 movx @r0,a 07A7 90s01r2C 2492 mov dptr,#_rxbuf 07AA 75 F0 00 2493 mov b,#0x00 07AD 12s00rDD 2494 lcall _addlastbuff 07B0 80 CE 2495 sjmp 00101$ 07B2 2496 00103$: 07B2 2497 C$test_UM6.c$231$2$2 ==. 2498 ; apps/test_UM6/test_UM6.c:231: sendReportIfNeeded(); 07B2 12s05rEE 2499 lcall _sendReportIfNeeded 07B5 2500 C$test_UM6.c$233$1$1 ==. 07B5 2501 XG$main$0$0 ==. 07B5 80 C3 2502 sjmp 00105$ 2503 .area CSEG (CODE) 2504 .area CONST (CODE) 0000 2505 G$param_report_period_ms$0$0 == . 0000 2506 _param_report_period_ms: 0000 90 01 00 00 2507 .byte #0x90,#0x01,#0x00,#0x00 ; 400 0004 2508 Ftest_UM6$_str_0$0$0 == . 0004 2509 __str_0: 0004 55 4D 36 20 43 4F 2510 .ascii "UM6 COnfig reg : 0x%x " 6E 66 69 67 20 72 65 67 20 3A 20 30 78 25 78 20 001A 0A 2511 .db 0x0A 001B 00 2512 .db 0x00 2513 .area XINIT (CODE) 2514 .area CABS (ABS,CODE)