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 Sun Feb 26 03:56:09 2012 5 ;-------------------------------------------------------- 6 .module uart0 7 .optsdcc -mmcs51 --model-medium 8 9 ;-------------------------------------------------------- 10 ; Public variables in this module 11 ;-------------------------------------------------------- 12 .globl _uart0TxSend_PARM_2 13 .globl _uart0RxBufferFullOccurred 14 .globl _uart0RxFramingErrorOccurred 15 .globl _uart0RxParityErrorOccurred 16 .globl _uart0Init 17 .globl _uart0SetBaudRate 18 .globl _uart0SetParity 19 .globl _uart0SetStopBits 20 .globl _uart0TxAvailable 21 .globl _uart0TxSend 22 .globl _uart0TxSendByte 23 .globl _uart0RxAvailable 24 .globl _uart0RxReceiveByte 25 .globl _ISR_UTX0 26 .globl _ISR_URX0 27 ;-------------------------------------------------------- 28 ; special function registers 29 ;-------------------------------------------------------- 30 .area RSEG (ABS,DATA) 0000 31 .org 0x0000 0080 32 Fuart0$P0$0$0 == 0x0080 0080 33 _P0 = 0x0080 0081 34 Fuart0$SP$0$0 == 0x0081 0081 35 _SP = 0x0081 0082 36 Fuart0$DPL0$0$0 == 0x0082 0082 37 _DPL0 = 0x0082 0083 38 Fuart0$DPH0$0$0 == 0x0083 0083 39 _DPH0 = 0x0083 0084 40 Fuart0$DPL1$0$0 == 0x0084 0084 41 _DPL1 = 0x0084 0085 42 Fuart0$DPH1$0$0 == 0x0085 0085 43 _DPH1 = 0x0085 0086 44 Fuart0$U0CSR$0$0 == 0x0086 0086 45 _U0CSR = 0x0086 0087 46 Fuart0$PCON$0$0 == 0x0087 0087 47 _PCON = 0x0087 0088 48 Fuart0$TCON$0$0 == 0x0088 0088 49 _TCON = 0x0088 0089 50 Fuart0$P0IFG$0$0 == 0x0089 0089 51 _P0IFG = 0x0089 008A 52 Fuart0$P1IFG$0$0 == 0x008a 008A 53 _P1IFG = 0x008a 008B 54 Fuart0$P2IFG$0$0 == 0x008b 008B 55 _P2IFG = 0x008b 008C 56 Fuart0$PICTL$0$0 == 0x008c 008C 57 _PICTL = 0x008c 008D 58 Fuart0$P1IEN$0$0 == 0x008d 008D 59 _P1IEN = 0x008d 008F 60 Fuart0$P0INP$0$0 == 0x008f 008F 61 _P0INP = 0x008f 0090 62 Fuart0$P1$0$0 == 0x0090 0090 63 _P1 = 0x0090 0091 64 Fuart0$RFIM$0$0 == 0x0091 0091 65 _RFIM = 0x0091 0092 66 Fuart0$DPS$0$0 == 0x0092 0092 67 _DPS = 0x0092 0093 68 Fuart0$MPAGE$0$0 == 0x0093 0093 69 _MPAGE = 0x0093 0095 70 Fuart0$ENDIAN$0$0 == 0x0095 0095 71 _ENDIAN = 0x0095 0098 72 Fuart0$S0CON$0$0 == 0x0098 0098 73 _S0CON = 0x0098 009A 74 Fuart0$IEN2$0$0 == 0x009a 009A 75 _IEN2 = 0x009a 009B 76 Fuart0$S1CON$0$0 == 0x009b 009B 77 _S1CON = 0x009b 009C 78 Fuart0$T2CT$0$0 == 0x009c 009C 79 _T2CT = 0x009c 009D 80 Fuart0$T2PR$0$0 == 0x009d 009D 81 _T2PR = 0x009d 009E 82 Fuart0$T2CTL$0$0 == 0x009e 009E 83 _T2CTL = 0x009e 00A0 84 Fuart0$P2$0$0 == 0x00a0 00A0 85 _P2 = 0x00a0 00A1 86 Fuart0$WORIRQ$0$0 == 0x00a1 00A1 87 _WORIRQ = 0x00a1 00A2 88 Fuart0$WORCTRL$0$0 == 0x00a2 00A2 89 _WORCTRL = 0x00a2 00A3 90 Fuart0$WOREVT0$0$0 == 0x00a3 00A3 91 _WOREVT0 = 0x00a3 00A4 92 Fuart0$WOREVT1$0$0 == 0x00a4 00A4 93 _WOREVT1 = 0x00a4 00A5 94 Fuart0$WORTIME0$0$0 == 0x00a5 00A5 95 _WORTIME0 = 0x00a5 00A6 96 Fuart0$WORTIME1$0$0 == 0x00a6 00A6 97 _WORTIME1 = 0x00a6 00A8 98 Fuart0$IEN0$0$0 == 0x00a8 00A8 99 _IEN0 = 0x00a8 00A9 100 Fuart0$IP0$0$0 == 0x00a9 00A9 101 _IP0 = 0x00a9 00AB 102 Fuart0$FWT$0$0 == 0x00ab 00AB 103 _FWT = 0x00ab 00AC 104 Fuart0$FADDRL$0$0 == 0x00ac 00AC 105 _FADDRL = 0x00ac 00AD 106 Fuart0$FADDRH$0$0 == 0x00ad 00AD 107 _FADDRH = 0x00ad 00AE 108 Fuart0$FCTL$0$0 == 0x00ae 00AE 109 _FCTL = 0x00ae 00AF 110 Fuart0$FWDATA$0$0 == 0x00af 00AF 111 _FWDATA = 0x00af 00B1 112 Fuart0$ENCDI$0$0 == 0x00b1 00B1 113 _ENCDI = 0x00b1 00B2 114 Fuart0$ENCDO$0$0 == 0x00b2 00B2 115 _ENCDO = 0x00b2 00B3 116 Fuart0$ENCCS$0$0 == 0x00b3 00B3 117 _ENCCS = 0x00b3 00B4 118 Fuart0$ADCCON1$0$0 == 0x00b4 00B4 119 _ADCCON1 = 0x00b4 00B5 120 Fuart0$ADCCON2$0$0 == 0x00b5 00B5 121 _ADCCON2 = 0x00b5 00B6 122 Fuart0$ADCCON3$0$0 == 0x00b6 00B6 123 _ADCCON3 = 0x00b6 00B8 124 Fuart0$IEN1$0$0 == 0x00b8 00B8 125 _IEN1 = 0x00b8 00B9 126 Fuart0$IP1$0$0 == 0x00b9 00B9 127 _IP1 = 0x00b9 00BA 128 Fuart0$ADCL$0$0 == 0x00ba 00BA 129 _ADCL = 0x00ba 00BB 130 Fuart0$ADCH$0$0 == 0x00bb 00BB 131 _ADCH = 0x00bb 00BC 132 Fuart0$RNDL$0$0 == 0x00bc 00BC 133 _RNDL = 0x00bc 00BD 134 Fuart0$RNDH$0$0 == 0x00bd 00BD 135 _RNDH = 0x00bd 00BE 136 Fuart0$SLEEP$0$0 == 0x00be 00BE 137 _SLEEP = 0x00be 00C0 138 Fuart0$IRCON$0$0 == 0x00c0 00C0 139 _IRCON = 0x00c0 00C1 140 Fuart0$U0DBUF$0$0 == 0x00c1 00C1 141 _U0DBUF = 0x00c1 00C2 142 Fuart0$U0BAUD$0$0 == 0x00c2 00C2 143 _U0BAUD = 0x00c2 00C4 144 Fuart0$U0UCR$0$0 == 0x00c4 00C4 145 _U0UCR = 0x00c4 00C5 146 Fuart0$U0GCR$0$0 == 0x00c5 00C5 147 _U0GCR = 0x00c5 00C6 148 Fuart0$CLKCON$0$0 == 0x00c6 00C6 149 _CLKCON = 0x00c6 00C7 150 Fuart0$MEMCTR$0$0 == 0x00c7 00C7 151 _MEMCTR = 0x00c7 00C9 152 Fuart0$WDCTL$0$0 == 0x00c9 00C9 153 _WDCTL = 0x00c9 00CA 154 Fuart0$T3CNT$0$0 == 0x00ca 00CA 155 _T3CNT = 0x00ca 00CB 156 Fuart0$T3CTL$0$0 == 0x00cb 00CB 157 _T3CTL = 0x00cb 00CC 158 Fuart0$T3CCTL0$0$0 == 0x00cc 00CC 159 _T3CCTL0 = 0x00cc 00CD 160 Fuart0$T3CC0$0$0 == 0x00cd 00CD 161 _T3CC0 = 0x00cd 00CE 162 Fuart0$T3CCTL1$0$0 == 0x00ce 00CE 163 _T3CCTL1 = 0x00ce 00CF 164 Fuart0$T3CC1$0$0 == 0x00cf 00CF 165 _T3CC1 = 0x00cf 00D0 166 Fuart0$PSW$0$0 == 0x00d0 00D0 167 _PSW = 0x00d0 00D1 168 Fuart0$DMAIRQ$0$0 == 0x00d1 00D1 169 _DMAIRQ = 0x00d1 00D2 170 Fuart0$DMA1CFGL$0$0 == 0x00d2 00D2 171 _DMA1CFGL = 0x00d2 00D3 172 Fuart0$DMA1CFGH$0$0 == 0x00d3 00D3 173 _DMA1CFGH = 0x00d3 00D4 174 Fuart0$DMA0CFGL$0$0 == 0x00d4 00D4 175 _DMA0CFGL = 0x00d4 00D5 176 Fuart0$DMA0CFGH$0$0 == 0x00d5 00D5 177 _DMA0CFGH = 0x00d5 00D6 178 Fuart0$DMAARM$0$0 == 0x00d6 00D6 179 _DMAARM = 0x00d6 00D7 180 Fuart0$DMAREQ$0$0 == 0x00d7 00D7 181 _DMAREQ = 0x00d7 00D8 182 Fuart0$TIMIF$0$0 == 0x00d8 00D8 183 _TIMIF = 0x00d8 00D9 184 Fuart0$RFD$0$0 == 0x00d9 00D9 185 _RFD = 0x00d9 00DA 186 Fuart0$T1CC0L$0$0 == 0x00da 00DA 187 _T1CC0L = 0x00da 00DB 188 Fuart0$T1CC0H$0$0 == 0x00db 00DB 189 _T1CC0H = 0x00db 00DC 190 Fuart0$T1CC1L$0$0 == 0x00dc 00DC 191 _T1CC1L = 0x00dc 00DD 192 Fuart0$T1CC1H$0$0 == 0x00dd 00DD 193 _T1CC1H = 0x00dd 00DE 194 Fuart0$T1CC2L$0$0 == 0x00de 00DE 195 _T1CC2L = 0x00de 00DF 196 Fuart0$T1CC2H$0$0 == 0x00df 00DF 197 _T1CC2H = 0x00df 00E0 198 Fuart0$ACC$0$0 == 0x00e0 00E0 199 _ACC = 0x00e0 00E1 200 Fuart0$RFST$0$0 == 0x00e1 00E1 201 _RFST = 0x00e1 00E2 202 Fuart0$T1CNTL$0$0 == 0x00e2 00E2 203 _T1CNTL = 0x00e2 00E3 204 Fuart0$T1CNTH$0$0 == 0x00e3 00E3 205 _T1CNTH = 0x00e3 00E4 206 Fuart0$T1CTL$0$0 == 0x00e4 00E4 207 _T1CTL = 0x00e4 00E5 208 Fuart0$T1CCTL0$0$0 == 0x00e5 00E5 209 _T1CCTL0 = 0x00e5 00E6 210 Fuart0$T1CCTL1$0$0 == 0x00e6 00E6 211 _T1CCTL1 = 0x00e6 00E7 212 Fuart0$T1CCTL2$0$0 == 0x00e7 00E7 213 _T1CCTL2 = 0x00e7 00E8 214 Fuart0$IRCON2$0$0 == 0x00e8 00E8 215 _IRCON2 = 0x00e8 00E9 216 Fuart0$RFIF$0$0 == 0x00e9 00E9 217 _RFIF = 0x00e9 00EA 218 Fuart0$T4CNT$0$0 == 0x00ea 00EA 219 _T4CNT = 0x00ea 00EB 220 Fuart0$T4CTL$0$0 == 0x00eb 00EB 221 _T4CTL = 0x00eb 00EC 222 Fuart0$T4CCTL0$0$0 == 0x00ec 00EC 223 _T4CCTL0 = 0x00ec 00ED 224 Fuart0$T4CC0$0$0 == 0x00ed 00ED 225 _T4CC0 = 0x00ed 00EE 226 Fuart0$T4CCTL1$0$0 == 0x00ee 00EE 227 _T4CCTL1 = 0x00ee 00EF 228 Fuart0$T4CC1$0$0 == 0x00ef 00EF 229 _T4CC1 = 0x00ef 00F0 230 Fuart0$B$0$0 == 0x00f0 00F0 231 _B = 0x00f0 00F1 232 Fuart0$PERCFG$0$0 == 0x00f1 00F1 233 _PERCFG = 0x00f1 00F2 234 Fuart0$ADCCFG$0$0 == 0x00f2 00F2 235 _ADCCFG = 0x00f2 00F3 236 Fuart0$P0SEL$0$0 == 0x00f3 00F3 237 _P0SEL = 0x00f3 00F4 238 Fuart0$P1SEL$0$0 == 0x00f4 00F4 239 _P1SEL = 0x00f4 00F5 240 Fuart0$P2SEL$0$0 == 0x00f5 00F5 241 _P2SEL = 0x00f5 00F6 242 Fuart0$P1INP$0$0 == 0x00f6 00F6 243 _P1INP = 0x00f6 00F7 244 Fuart0$P2INP$0$0 == 0x00f7 00F7 245 _P2INP = 0x00f7 00F8 246 Fuart0$U1CSR$0$0 == 0x00f8 00F8 247 _U1CSR = 0x00f8 00F9 248 Fuart0$U1DBUF$0$0 == 0x00f9 00F9 249 _U1DBUF = 0x00f9 00FA 250 Fuart0$U1BAUD$0$0 == 0x00fa 00FA 251 _U1BAUD = 0x00fa 00FB 252 Fuart0$U1UCR$0$0 == 0x00fb 00FB 253 _U1UCR = 0x00fb 00FC 254 Fuart0$U1GCR$0$0 == 0x00fc 00FC 255 _U1GCR = 0x00fc 00FD 256 Fuart0$P0DIR$0$0 == 0x00fd 00FD 257 _P0DIR = 0x00fd 00FE 258 Fuart0$P1DIR$0$0 == 0x00fe 00FE 259 _P1DIR = 0x00fe 00FF 260 Fuart0$P2DIR$0$0 == 0x00ff 00FF 261 _P2DIR = 0x00ff FFFFD5D4 262 Fuart0$DMA0CFG$0$0 == 0xffffd5d4 FFFFD5D4 263 _DMA0CFG = 0xffffd5d4 FFFFD3D2 264 Fuart0$DMA1CFG$0$0 == 0xffffd3d2 FFFFD3D2 265 _DMA1CFG = 0xffffd3d2 FFFFADAC 266 Fuart0$FADDR$0$0 == 0xffffadac FFFFADAC 267 _FADDR = 0xffffadac FFFFBBBA 268 Fuart0$ADC$0$0 == 0xffffbbba FFFFBBBA 269 _ADC = 0xffffbbba FFFFDBDA 270 Fuart0$T1CC0$0$0 == 0xffffdbda FFFFDBDA 271 _T1CC0 = 0xffffdbda FFFFDDDC 272 Fuart0$T1CC1$0$0 == 0xffffdddc FFFFDDDC 273 _T1CC1 = 0xffffdddc FFFFDFDE 274 Fuart0$T1CC2$0$0 == 0xffffdfde FFFFDFDE 275 _T1CC2 = 0xffffdfde 276 ;-------------------------------------------------------- 277 ; special function bits 278 ;-------------------------------------------------------- 279 .area RSEG (ABS,DATA) 0000 280 .org 0x0000 0080 281 Fuart0$P0_0$0$0 == 0x0080 0080 282 _P0_0 = 0x0080 0081 283 Fuart0$P0_1$0$0 == 0x0081 0081 284 _P0_1 = 0x0081 0082 285 Fuart0$P0_2$0$0 == 0x0082 0082 286 _P0_2 = 0x0082 0083 287 Fuart0$P0_3$0$0 == 0x0083 0083 288 _P0_3 = 0x0083 0084 289 Fuart0$P0_4$0$0 == 0x0084 0084 290 _P0_4 = 0x0084 0085 291 Fuart0$P0_5$0$0 == 0x0085 0085 292 _P0_5 = 0x0085 0086 293 Fuart0$P0_6$0$0 == 0x0086 0086 294 _P0_6 = 0x0086 0087 295 Fuart0$P0_7$0$0 == 0x0087 0087 296 _P0_7 = 0x0087 0088 297 Fuart0$_TCON_0$0$0 == 0x0088 0088 298 __TCON_0 = 0x0088 0089 299 Fuart0$RFTXRXIF$0$0 == 0x0089 0089 300 _RFTXRXIF = 0x0089 008A 301 Fuart0$_TCON_2$0$0 == 0x008a 008A 302 __TCON_2 = 0x008a 008B 303 Fuart0$URX0IF$0$0 == 0x008b 008B 304 _URX0IF = 0x008b 008C 305 Fuart0$_TCON_4$0$0 == 0x008c 008C 306 __TCON_4 = 0x008c 008D 307 Fuart0$ADCIF$0$0 == 0x008d 008D 308 _ADCIF = 0x008d 008E 309 Fuart0$_TCON_6$0$0 == 0x008e 008E 310 __TCON_6 = 0x008e 008F 311 Fuart0$URX1IF$0$0 == 0x008f 008F 312 _URX1IF = 0x008f 0090 313 Fuart0$P1_0$0$0 == 0x0090 0090 314 _P1_0 = 0x0090 0091 315 Fuart0$P1_1$0$0 == 0x0091 0091 316 _P1_1 = 0x0091 0092 317 Fuart0$P1_2$0$0 == 0x0092 0092 318 _P1_2 = 0x0092 0093 319 Fuart0$P1_3$0$0 == 0x0093 0093 320 _P1_3 = 0x0093 0094 321 Fuart0$P1_4$0$0 == 0x0094 0094 322 _P1_4 = 0x0094 0095 323 Fuart0$P1_5$0$0 == 0x0095 0095 324 _P1_5 = 0x0095 0096 325 Fuart0$P1_6$0$0 == 0x0096 0096 326 _P1_6 = 0x0096 0097 327 Fuart0$P1_7$0$0 == 0x0097 0097 328 _P1_7 = 0x0097 0098 329 Fuart0$ENCIF_0$0$0 == 0x0098 0098 330 _ENCIF_0 = 0x0098 0099 331 Fuart0$ENCIF_1$0$0 == 0x0099 0099 332 _ENCIF_1 = 0x0099 009A 333 Fuart0$_SOCON2$0$0 == 0x009a 009A 334 __SOCON2 = 0x009a 009B 335 Fuart0$_SOCON3$0$0 == 0x009b 009B 336 __SOCON3 = 0x009b 009C 337 Fuart0$_SOCON4$0$0 == 0x009c 009C 338 __SOCON4 = 0x009c 009D 339 Fuart0$_SOCON5$0$0 == 0x009d 009D 340 __SOCON5 = 0x009d 009E 341 Fuart0$_SOCON6$0$0 == 0x009e 009E 342 __SOCON6 = 0x009e 009F 343 Fuart0$_SOCON7$0$0 == 0x009f 009F 344 __SOCON7 = 0x009f 00A0 345 Fuart0$P2_0$0$0 == 0x00a0 00A0 346 _P2_0 = 0x00a0 00A1 347 Fuart0$P2_1$0$0 == 0x00a1 00A1 348 _P2_1 = 0x00a1 00A2 349 Fuart0$P2_2$0$0 == 0x00a2 00A2 350 _P2_2 = 0x00a2 00A3 351 Fuart0$P2_3$0$0 == 0x00a3 00A3 352 _P2_3 = 0x00a3 00A4 353 Fuart0$P2_4$0$0 == 0x00a4 00A4 354 _P2_4 = 0x00a4 00A5 355 Fuart0$P2_5$0$0 == 0x00a5 00A5 356 _P2_5 = 0x00a5 00A6 357 Fuart0$P2_6$0$0 == 0x00a6 00A6 358 _P2_6 = 0x00a6 00A7 359 Fuart0$P2_7$0$0 == 0x00a7 00A7 360 _P2_7 = 0x00a7 00A8 361 Fuart0$RFTXRXIE$0$0 == 0x00a8 00A8 362 _RFTXRXIE = 0x00a8 00A9 363 Fuart0$ADCIE$0$0 == 0x00a9 00A9 364 _ADCIE = 0x00a9 00AA 365 Fuart0$URX0IE$0$0 == 0x00aa 00AA 366 _URX0IE = 0x00aa 00AB 367 Fuart0$URX1IE$0$0 == 0x00ab 00AB 368 _URX1IE = 0x00ab 00AC 369 Fuart0$ENCIE$0$0 == 0x00ac 00AC 370 _ENCIE = 0x00ac 00AD 371 Fuart0$STIE$0$0 == 0x00ad 00AD 372 _STIE = 0x00ad 00AE 373 Fuart0$_IEN06$0$0 == 0x00ae 00AE 374 __IEN06 = 0x00ae 00AF 375 Fuart0$EA$0$0 == 0x00af 00AF 376 _EA = 0x00af 00B8 377 Fuart0$DMAIE$0$0 == 0x00b8 00B8 378 _DMAIE = 0x00b8 00B9 379 Fuart0$T1IE$0$0 == 0x00b9 00B9 380 _T1IE = 0x00b9 00BA 381 Fuart0$T2IE$0$0 == 0x00ba 00BA 382 _T2IE = 0x00ba 00BB 383 Fuart0$T3IE$0$0 == 0x00bb 00BB 384 _T3IE = 0x00bb 00BC 385 Fuart0$T4IE$0$0 == 0x00bc 00BC 386 _T4IE = 0x00bc 00BD 387 Fuart0$P0IE$0$0 == 0x00bd 00BD 388 _P0IE = 0x00bd 00BE 389 Fuart0$_IEN16$0$0 == 0x00be 00BE 390 __IEN16 = 0x00be 00BF 391 Fuart0$_IEN17$0$0 == 0x00bf 00BF 392 __IEN17 = 0x00bf 00C0 393 Fuart0$DMAIF$0$0 == 0x00c0 00C0 394 _DMAIF = 0x00c0 00C1 395 Fuart0$T1IF$0$0 == 0x00c1 00C1 396 _T1IF = 0x00c1 00C2 397 Fuart0$T2IF$0$0 == 0x00c2 00C2 398 _T2IF = 0x00c2 00C3 399 Fuart0$T3IF$0$0 == 0x00c3 00C3 400 _T3IF = 0x00c3 00C4 401 Fuart0$T4IF$0$0 == 0x00c4 00C4 402 _T4IF = 0x00c4 00C5 403 Fuart0$P0IF$0$0 == 0x00c5 00C5 404 _P0IF = 0x00c5 00C6 405 Fuart0$_IRCON6$0$0 == 0x00c6 00C6 406 __IRCON6 = 0x00c6 00C7 407 Fuart0$STIF$0$0 == 0x00c7 00C7 408 _STIF = 0x00c7 00D0 409 Fuart0$P$0$0 == 0x00d0 00D0 410 _P = 0x00d0 00D1 411 Fuart0$F1$0$0 == 0x00d1 00D1 412 _F1 = 0x00d1 00D2 413 Fuart0$OV$0$0 == 0x00d2 00D2 414 _OV = 0x00d2 00D3 415 Fuart0$RS0$0$0 == 0x00d3 00D3 416 _RS0 = 0x00d3 00D4 417 Fuart0$RS1$0$0 == 0x00d4 00D4 418 _RS1 = 0x00d4 00D5 419 Fuart0$F0$0$0 == 0x00d5 00D5 420 _F0 = 0x00d5 00D6 421 Fuart0$AC$0$0 == 0x00d6 00D6 422 _AC = 0x00d6 00D7 423 Fuart0$CY$0$0 == 0x00d7 00D7 424 _CY = 0x00d7 00D8 425 Fuart0$T3OVFIF$0$0 == 0x00d8 00D8 426 _T3OVFIF = 0x00d8 00D9 427 Fuart0$T3CH0IF$0$0 == 0x00d9 00D9 428 _T3CH0IF = 0x00d9 00DA 429 Fuart0$T3CH1IF$0$0 == 0x00da 00DA 430 _T3CH1IF = 0x00da 00DB 431 Fuart0$T4OVFIF$0$0 == 0x00db 00DB 432 _T4OVFIF = 0x00db 00DC 433 Fuart0$T4CH0IF$0$0 == 0x00dc 00DC 434 _T4CH0IF = 0x00dc 00DD 435 Fuart0$T4CH1IF$0$0 == 0x00dd 00DD 436 _T4CH1IF = 0x00dd 00DE 437 Fuart0$OVFIM$0$0 == 0x00de 00DE 438 _OVFIM = 0x00de 00DF 439 Fuart0$_TIMIF7$0$0 == 0x00df 00DF 440 __TIMIF7 = 0x00df 00E0 441 Fuart0$ACC_0$0$0 == 0x00e0 00E0 442 _ACC_0 = 0x00e0 00E1 443 Fuart0$ACC_1$0$0 == 0x00e1 00E1 444 _ACC_1 = 0x00e1 00E2 445 Fuart0$ACC_2$0$0 == 0x00e2 00E2 446 _ACC_2 = 0x00e2 00E3 447 Fuart0$ACC_3$0$0 == 0x00e3 00E3 448 _ACC_3 = 0x00e3 00E4 449 Fuart0$ACC_4$0$0 == 0x00e4 00E4 450 _ACC_4 = 0x00e4 00E5 451 Fuart0$ACC_5$0$0 == 0x00e5 00E5 452 _ACC_5 = 0x00e5 00E6 453 Fuart0$ACC_6$0$0 == 0x00e6 00E6 454 _ACC_6 = 0x00e6 00E7 455 Fuart0$ACC_7$0$0 == 0x00e7 00E7 456 _ACC_7 = 0x00e7 00E8 457 Fuart0$P2IF$0$0 == 0x00e8 00E8 458 _P2IF = 0x00e8 00E9 459 Fuart0$UTX0IF$0$0 == 0x00e9 00E9 460 _UTX0IF = 0x00e9 00EA 461 Fuart0$UTX1IF$0$0 == 0x00ea 00EA 462 _UTX1IF = 0x00ea 00EB 463 Fuart0$P1IF$0$0 == 0x00eb 00EB 464 _P1IF = 0x00eb 00EC 465 Fuart0$WDTIF$0$0 == 0x00ec 00EC 466 _WDTIF = 0x00ec 00ED 467 Fuart0$_IRCON25$0$0 == 0x00ed 00ED 468 __IRCON25 = 0x00ed 00EE 469 Fuart0$_IRCON26$0$0 == 0x00ee 00EE 470 __IRCON26 = 0x00ee 00EF 471 Fuart0$_IRCON27$0$0 == 0x00ef 00EF 472 __IRCON27 = 0x00ef 00F0 473 Fuart0$B_0$0$0 == 0x00f0 00F0 474 _B_0 = 0x00f0 00F1 475 Fuart0$B_1$0$0 == 0x00f1 00F1 476 _B_1 = 0x00f1 00F2 477 Fuart0$B_2$0$0 == 0x00f2 00F2 478 _B_2 = 0x00f2 00F3 479 Fuart0$B_3$0$0 == 0x00f3 00F3 480 _B_3 = 0x00f3 00F4 481 Fuart0$B_4$0$0 == 0x00f4 00F4 482 _B_4 = 0x00f4 00F5 483 Fuart0$B_5$0$0 == 0x00f5 00F5 484 _B_5 = 0x00f5 00F6 485 Fuart0$B_6$0$0 == 0x00f6 00F6 486 _B_6 = 0x00f6 00F7 487 Fuart0$B_7$0$0 == 0x00f7 00F7 488 _B_7 = 0x00f7 00F8 489 Fuart0$U1ACTIVE$0$0 == 0x00f8 00F8 490 _U1ACTIVE = 0x00f8 00F9 491 Fuart0$U1TX_BYTE$0$0 == 0x00f9 00F9 492 _U1TX_BYTE = 0x00f9 00FA 493 Fuart0$U1RX_BYTE$0$0 == 0x00fa 00FA 494 _U1RX_BYTE = 0x00fa 00FB 495 Fuart0$U1ERR$0$0 == 0x00fb 00FB 496 _U1ERR = 0x00fb 00FC 497 Fuart0$U1FE$0$0 == 0x00fc 00FC 498 _U1FE = 0x00fc 00FD 499 Fuart0$U1SLAVE$0$0 == 0x00fd 00FD 500 _U1SLAVE = 0x00fd 00FE 501 Fuart0$U1RE$0$0 == 0x00fe 00FE 502 _U1RE = 0x00fe 00FF 503 Fuart0$U1MODE$0$0 == 0x00ff 00FF 504 _U1MODE = 0x00ff 505 ;-------------------------------------------------------- 506 ; overlayable register banks 507 ;-------------------------------------------------------- 508 .area REG_BANK_0 (REL,OVR,DATA) 0000 509 .ds 8 510 ;-------------------------------------------------------- 511 ; internal ram data 512 ;-------------------------------------------------------- 513 .area DSEG (DATA) 0000 514 Fuart0$uartTxBufferMainLoopIndex$0$0==. 0000 515 _uartTxBufferMainLoopIndex: 0000 516 .ds 1 0001 517 Fuart0$uartTxBufferInterruptIndex$0$0==. 0001 518 _uartTxBufferInterruptIndex: 0001 519 .ds 1 0002 520 Fuart0$uartRxBufferMainLoopIndex$0$0==. 0002 521 _uartRxBufferMainLoopIndex: 0002 522 .ds 1 0003 523 Fuart0$uartRxBufferInterruptIndex$0$0==. 0003 524 _uartRxBufferInterruptIndex: 0003 525 .ds 1 0004 526 Luart0SetBaudRate$sloc0$1$0==. 0004 527 _uart0SetBaudRate_sloc0_1_0: 0004 528 .ds 4 529 ;-------------------------------------------------------- 530 ; overlayable items in internal ram 531 ;-------------------------------------------------------- 532 .area OSEG (OVR,DATA) 533 ;-------------------------------------------------------- 534 ; indirectly addressable internal ram data 535 ;-------------------------------------------------------- 536 .area ISEG (DATA) 537 ;-------------------------------------------------------- 538 ; absolute internal ram data 539 ;-------------------------------------------------------- 540 .area IABS (ABS,DATA) 541 .area IABS (ABS,DATA) 542 ;-------------------------------------------------------- 543 ; bit data 544 ;-------------------------------------------------------- 545 .area BSEG (BIT) 0000 546 G$uart0RxParityErrorOccurred$0$0==. 0000 547 _uart0RxParityErrorOccurred:: 0000 548 .ds 1 0001 549 G$uart0RxFramingErrorOccurred$0$0==. 0001 550 _uart0RxFramingErrorOccurred:: 0001 551 .ds 1 0002 552 G$uart0RxBufferFullOccurred$0$0==. 0002 553 _uart0RxBufferFullOccurred:: 0002 554 .ds 1 555 ;-------------------------------------------------------- 556 ; paged external ram data 557 ;-------------------------------------------------------- 558 .area PSEG (PAG,XDATA) 0000 559 Luart0TxSend$size$1$1==. 0000 560 _uart0TxSend_PARM_2: 0000 561 .ds 1 562 ;-------------------------------------------------------- 563 ; external ram data 564 ;-------------------------------------------------------- 565 .area XSEG (XDATA) DF00 566 Fuart0$SYNC1$0$0 == 0xdf00 DF00 567 _SYNC1 = 0xdf00 DF01 568 Fuart0$SYNC0$0$0 == 0xdf01 DF01 569 _SYNC0 = 0xdf01 DF02 570 Fuart0$PKTLEN$0$0 == 0xdf02 DF02 571 _PKTLEN = 0xdf02 DF03 572 Fuart0$PKTCTRL1$0$0 == 0xdf03 DF03 573 _PKTCTRL1 = 0xdf03 DF04 574 Fuart0$PKTCTRL0$0$0 == 0xdf04 DF04 575 _PKTCTRL0 = 0xdf04 DF05 576 Fuart0$ADDR$0$0 == 0xdf05 DF05 577 _ADDR = 0xdf05 DF06 578 Fuart0$CHANNR$0$0 == 0xdf06 DF06 579 _CHANNR = 0xdf06 DF07 580 Fuart0$FSCTRL1$0$0 == 0xdf07 DF07 581 _FSCTRL1 = 0xdf07 DF08 582 Fuart0$FSCTRL0$0$0 == 0xdf08 DF08 583 _FSCTRL0 = 0xdf08 DF09 584 Fuart0$FREQ2$0$0 == 0xdf09 DF09 585 _FREQ2 = 0xdf09 DF0A 586 Fuart0$FREQ1$0$0 == 0xdf0a DF0A 587 _FREQ1 = 0xdf0a DF0B 588 Fuart0$FREQ0$0$0 == 0xdf0b DF0B 589 _FREQ0 = 0xdf0b DF0C 590 Fuart0$MDMCFG4$0$0 == 0xdf0c DF0C 591 _MDMCFG4 = 0xdf0c DF0D 592 Fuart0$MDMCFG3$0$0 == 0xdf0d DF0D 593 _MDMCFG3 = 0xdf0d DF0E 594 Fuart0$MDMCFG2$0$0 == 0xdf0e DF0E 595 _MDMCFG2 = 0xdf0e DF0F 596 Fuart0$MDMCFG1$0$0 == 0xdf0f DF0F 597 _MDMCFG1 = 0xdf0f DF10 598 Fuart0$MDMCFG0$0$0 == 0xdf10 DF10 599 _MDMCFG0 = 0xdf10 DF11 600 Fuart0$DEVIATN$0$0 == 0xdf11 DF11 601 _DEVIATN = 0xdf11 DF12 602 Fuart0$MCSM2$0$0 == 0xdf12 DF12 603 _MCSM2 = 0xdf12 DF13 604 Fuart0$MCSM1$0$0 == 0xdf13 DF13 605 _MCSM1 = 0xdf13 DF14 606 Fuart0$MCSM0$0$0 == 0xdf14 DF14 607 _MCSM0 = 0xdf14 DF15 608 Fuart0$FOCCFG$0$0 == 0xdf15 DF15 609 _FOCCFG = 0xdf15 DF16 610 Fuart0$BSCFG$0$0 == 0xdf16 DF16 611 _BSCFG = 0xdf16 DF17 612 Fuart0$AGCCTRL2$0$0 == 0xdf17 DF17 613 _AGCCTRL2 = 0xdf17 DF18 614 Fuart0$AGCCTRL1$0$0 == 0xdf18 DF18 615 _AGCCTRL1 = 0xdf18 DF19 616 Fuart0$AGCCTRL0$0$0 == 0xdf19 DF19 617 _AGCCTRL0 = 0xdf19 DF1A 618 Fuart0$FREND1$0$0 == 0xdf1a DF1A 619 _FREND1 = 0xdf1a DF1B 620 Fuart0$FREND0$0$0 == 0xdf1b DF1B 621 _FREND0 = 0xdf1b DF1C 622 Fuart0$FSCAL3$0$0 == 0xdf1c DF1C 623 _FSCAL3 = 0xdf1c DF1D 624 Fuart0$FSCAL2$0$0 == 0xdf1d DF1D 625 _FSCAL2 = 0xdf1d DF1E 626 Fuart0$FSCAL1$0$0 == 0xdf1e DF1E 627 _FSCAL1 = 0xdf1e DF1F 628 Fuart0$FSCAL0$0$0 == 0xdf1f DF1F 629 _FSCAL0 = 0xdf1f DF23 630 Fuart0$TEST2$0$0 == 0xdf23 DF23 631 _TEST2 = 0xdf23 DF24 632 Fuart0$TEST1$0$0 == 0xdf24 DF24 633 _TEST1 = 0xdf24 DF25 634 Fuart0$TEST0$0$0 == 0xdf25 DF25 635 _TEST0 = 0xdf25 DF2E 636 Fuart0$PA_TABLE0$0$0 == 0xdf2e DF2E 637 _PA_TABLE0 = 0xdf2e DF2F 638 Fuart0$IOCFG2$0$0 == 0xdf2f DF2F 639 _IOCFG2 = 0xdf2f DF30 640 Fuart0$IOCFG1$0$0 == 0xdf30 DF30 641 _IOCFG1 = 0xdf30 DF31 642 Fuart0$IOCFG0$0$0 == 0xdf31 DF31 643 _IOCFG0 = 0xdf31 DF36 644 Fuart0$PARTNUM$0$0 == 0xdf36 DF36 645 _PARTNUM = 0xdf36 DF37 646 Fuart0$VERSION$0$0 == 0xdf37 DF37 647 _VERSION = 0xdf37 DF38 648 Fuart0$FREQEST$0$0 == 0xdf38 DF38 649 _FREQEST = 0xdf38 DF39 650 Fuart0$LQI$0$0 == 0xdf39 DF39 651 _LQI = 0xdf39 DF3A 652 Fuart0$RSSI$0$0 == 0xdf3a DF3A 653 _RSSI = 0xdf3a DF3B 654 Fuart0$MARCSTATE$0$0 == 0xdf3b DF3B 655 _MARCSTATE = 0xdf3b DF3C 656 Fuart0$PKTSTATUS$0$0 == 0xdf3c DF3C 657 _PKTSTATUS = 0xdf3c DF3D 658 Fuart0$VCO_VC_DAC$0$0 == 0xdf3d DF3D 659 _VCO_VC_DAC = 0xdf3d DF40 660 Fuart0$I2SCFG0$0$0 == 0xdf40 DF40 661 _I2SCFG0 = 0xdf40 DF41 662 Fuart0$I2SCFG1$0$0 == 0xdf41 DF41 663 _I2SCFG1 = 0xdf41 DF42 664 Fuart0$I2SDATL$0$0 == 0xdf42 DF42 665 _I2SDATL = 0xdf42 DF43 666 Fuart0$I2SDATH$0$0 == 0xdf43 DF43 667 _I2SDATH = 0xdf43 DF44 668 Fuart0$I2SWCNT$0$0 == 0xdf44 DF44 669 _I2SWCNT = 0xdf44 DF45 670 Fuart0$I2SSTAT$0$0 == 0xdf45 DF45 671 _I2SSTAT = 0xdf45 DF46 672 Fuart0$I2SCLKF0$0$0 == 0xdf46 DF46 673 _I2SCLKF0 = 0xdf46 DF47 674 Fuart0$I2SCLKF1$0$0 == 0xdf47 DF47 675 _I2SCLKF1 = 0xdf47 DF48 676 Fuart0$I2SCLKF2$0$0 == 0xdf48 DF48 677 _I2SCLKF2 = 0xdf48 DE00 678 Fuart0$USBADDR$0$0 == 0xde00 DE00 679 _USBADDR = 0xde00 DE01 680 Fuart0$USBPOW$0$0 == 0xde01 DE01 681 _USBPOW = 0xde01 DE02 682 Fuart0$USBIIF$0$0 == 0xde02 DE02 683 _USBIIF = 0xde02 DE04 684 Fuart0$USBOIF$0$0 == 0xde04 DE04 685 _USBOIF = 0xde04 DE06 686 Fuart0$USBCIF$0$0 == 0xde06 DE06 687 _USBCIF = 0xde06 DE07 688 Fuart0$USBIIE$0$0 == 0xde07 DE07 689 _USBIIE = 0xde07 DE09 690 Fuart0$USBOIE$0$0 == 0xde09 DE09 691 _USBOIE = 0xde09 DE0B 692 Fuart0$USBCIE$0$0 == 0xde0b DE0B 693 _USBCIE = 0xde0b DE0C 694 Fuart0$USBFRML$0$0 == 0xde0c DE0C 695 _USBFRML = 0xde0c DE0D 696 Fuart0$USBFRMH$0$0 == 0xde0d DE0D 697 _USBFRMH = 0xde0d DE0E 698 Fuart0$USBINDEX$0$0 == 0xde0e DE0E 699 _USBINDEX = 0xde0e DE10 700 Fuart0$USBMAXI$0$0 == 0xde10 DE10 701 _USBMAXI = 0xde10 DE11 702 Fuart0$USBCSIL$0$0 == 0xde11 DE11 703 _USBCSIL = 0xde11 DE12 704 Fuart0$USBCSIH$0$0 == 0xde12 DE12 705 _USBCSIH = 0xde12 DE13 706 Fuart0$USBMAXO$0$0 == 0xde13 DE13 707 _USBMAXO = 0xde13 DE14 708 Fuart0$USBCSOL$0$0 == 0xde14 DE14 709 _USBCSOL = 0xde14 DE15 710 Fuart0$USBCSOH$0$0 == 0xde15 DE15 711 _USBCSOH = 0xde15 DE16 712 Fuart0$USBCNTL$0$0 == 0xde16 DE16 713 _USBCNTL = 0xde16 DE17 714 Fuart0$USBCNTH$0$0 == 0xde17 DE17 715 _USBCNTH = 0xde17 DE20 716 Fuart0$USBF0$0$0 == 0xde20 DE20 717 _USBF0 = 0xde20 DE22 718 Fuart0$USBF1$0$0 == 0xde22 DE22 719 _USBF1 = 0xde22 DE24 720 Fuart0$USBF2$0$0 == 0xde24 DE24 721 _USBF2 = 0xde24 DE26 722 Fuart0$USBF3$0$0 == 0xde26 DE26 723 _USBF3 = 0xde26 DE28 724 Fuart0$USBF4$0$0 == 0xde28 DE28 725 _USBF4 = 0xde28 DE2A 726 Fuart0$USBF5$0$0 == 0xde2a DE2A 727 _USBF5 = 0xde2a 0000 728 Fuart0$uartTxBuffer$0$0==. 0000 729 _uartTxBuffer: 0000 730 .ds 256 0100 731 Fuart0$uartRxBuffer$0$0==. 0100 732 _uartRxBuffer: 0100 733 .ds 256 734 ;-------------------------------------------------------- 735 ; absolute external ram data 736 ;-------------------------------------------------------- 737 .area XABS (ABS,XDATA) 738 ;-------------------------------------------------------- 739 ; external initialized ram data 740 ;-------------------------------------------------------- 741 .area XISEG (XDATA) 742 .area HOME (CODE) 743 .area GSINIT0 (CODE) 744 .area GSINIT1 (CODE) 745 .area GSINIT2 (CODE) 746 .area GSINIT3 (CODE) 747 .area GSINIT4 (CODE) 748 .area GSINIT5 (CODE) 749 .area GSINIT (CODE) 750 .area GSFINAL (CODE) 751 .area CSEG (CODE) 752 ;-------------------------------------------------------- 753 ; global & static initialisations 754 ;-------------------------------------------------------- 755 .area HOME (CODE) 756 .area GSINIT (CODE) 757 .area GSFINAL (CODE) 758 .area GSINIT (CODE) 759 ;-------------------------------------------------------- 760 ; Home 761 ;-------------------------------------------------------- 762 .area HOME (CODE) 763 .area HOME (CODE) 764 ;-------------------------------------------------------- 765 ; code 766 ;-------------------------------------------------------- 767 .area CSEG (CODE) 768 ;------------------------------------------------------------ 769 ;Allocation info for local variables in function 'uart0Init' 770 ;------------------------------------------------------------ 771 ;------------------------------------------------------------ 0000 772 G$uart0Init$0$0 ==. 0000 773 C$uart0.c$87$0$0 ==. 774 ; libraries/src/uart/uart0.c:87: void uartNInit(void) 775 ; ----------------------------------------- 776 ; function uart0Init 777 ; ----------------------------------------- 0000 778 _uart0Init: 0002 779 ar2 = 0x02 0003 780 ar3 = 0x03 0004 781 ar4 = 0x04 0005 782 ar5 = 0x05 0006 783 ar6 = 0x06 0007 784 ar7 = 0x07 0000 785 ar0 = 0x00 0001 786 ar1 = 0x01 0000 787 C$uart0.c$99$1$1 ==. 788 ; libraries/src/uart/uart0.c:99: uartTxBufferMainLoopIndex = 0; 0000 75*00 00 789 mov _uartTxBufferMainLoopIndex,#0x00 0003 790 C$uart0.c$100$1$1 ==. 791 ; libraries/src/uart/uart0.c:100: uartTxBufferInterruptIndex = 0; 0003 75*01 00 792 mov _uartTxBufferInterruptIndex,#0x00 0006 793 C$uart0.c$101$1$1 ==. 794 ; libraries/src/uart/uart0.c:101: uartRxBufferMainLoopIndex = 0; 0006 75*02 00 795 mov _uartRxBufferMainLoopIndex,#0x00 0009 796 C$uart0.c$102$1$1 ==. 797 ; libraries/src/uart/uart0.c:102: uartRxBufferInterruptIndex = 0; 0009 75*03 00 798 mov _uartRxBufferInterruptIndex,#0x00 000C 799 C$uart0.c$103$1$1 ==. 800 ; libraries/src/uart/uart0.c:103: uartNRxParityErrorOccurred = 0; 000C C2*00 801 clr _uart0RxParityErrorOccurred 000E 802 C$uart0.c$104$1$1 ==. 803 ; libraries/src/uart/uart0.c:104: uartNRxFramingErrorOccurred = 0; 000E C2*01 804 clr _uart0RxFramingErrorOccurred 0010 805 C$uart0.c$105$1$1 ==. 806 ; libraries/src/uart/uart0.c:105: uartNRxBufferFullOccurred = 0; 0010 C2*02 807 clr _uart0RxBufferFullOccurred 0012 808 C$uart0.c$112$1$1 ==. 809 ; libraries/src/uart/uart0.c:112: P2DIR &= ~0xC0; // P2DIR.PRIP0 (7:6) = 00 : USART0 takes priority over USART1. 0012 53 FF 3F 810 anl _P2DIR,#0x3F 0015 811 C$uart0.c$113$1$1 ==. 812 ; libraries/src/uart/uart0.c:113: PERCFG &= ~0x01; // PERCFG.U0CFG (0) = 0 (Alt. 1) : USART0 uses alt. location 1. 0015 53 F1 FE 813 anl _PERCFG,#0xFE 0018 814 C$uart0.c$119$1$1 ==. 815 ; libraries/src/uart/uart0.c:119: UNUCR = 0x82; // Stops the "current operation" and resets settings to their defaults. 0018 75 C4 82 816 mov _U0UCR,#0x82 001B 817 C$uart0.c$120$1$1 ==. 818 ; libraries/src/uart/uart0.c:120: UNCSR |= 0xc0; // Enable UART mode and enable receiver. TODO: change '|=' to '=' 001B 43 86 C0 819 orl _U0CSR,#0xC0 001E 820 C$uart0.c$125$1$1 ==. 821 ; libraries/src/uart/uart0.c:125: P0SEL |= (1<<3); // P0SEL.SELP0_3 = 1 001E 43 F3 08 822 orl _P0SEL,#0x08 0021 823 C$uart0.c$134$1$1 ==. 824 ; libraries/src/uart/uart0.c:134: IP0 |= (1< 495782) 0037 C3 862 clr c 0038 EA 863 mov a,r2 0039 94 17 864 subb a,#0x17 003B EB 865 mov a,r3 003C 94 00 866 subb a,#0x00 003E EC 867 mov a,r4 003F 94 00 868 subb a,#0x00 0041 ED 869 mov a,r5 0042 94 00 870 subb a,#0x00 0044 40 0D 871 jc 00101$ 0046 74 A6 872 mov a,#0xA6 0048 9A 873 subb a,r2 0049 74 90 874 mov a,#0x90 004B 9B 875 subb a,r3 004C 74 07 876 mov a,#0x07 004E 9C 877 subb a,r4 004F E4 878 clr a 0050 9D 879 subb a,r5 0051 50 01 880 jnc 00102$ 0053 881 00101$: 0053 882 C$uart0.c$150$1$1 ==. 883 ; libraries/src/uart/uart0.c:150: return; 0053 22 884 ret 0054 885 00102$: 0054 886 C$uart0.c$154$1$1 ==. 887 ; libraries/src/uart/uart0.c:154: baudMPlus256 = (baud * 11) + (baud * 8663 / 46875); 0054 78r00 888 mov r0,#__mullong_PARM_2 0056 EA 889 mov a,r2 0057 F2 890 movx @r0,a 0058 08 891 inc r0 0059 EB 892 mov a,r3 005A F2 893 movx @r0,a 005B 08 894 inc r0 005C EC 895 mov a,r4 005D F2 896 movx @r0,a 005E 08 897 inc r0 005F ED 898 mov a,r5 0060 F2 899 movx @r0,a 0061 90 00 0B 900 mov dptr,#(0x0B&0x00ff) 0064 E4 901 clr a 0065 F5 F0 902 mov b,a 0067 C0 02 903 push ar2 0069 C0 03 904 push ar3 006B C0 04 905 push ar4 006D C0 05 906 push ar5 006F 12s00r00 907 lcall __mullong 0072 85 82*04 908 mov _uart0SetBaudRate_sloc0_1_0,dpl 0075 85 83*05 909 mov (_uart0SetBaudRate_sloc0_1_0 + 1),dph 0078 85 F0*06 910 mov (_uart0SetBaudRate_sloc0_1_0 + 2),b 007B F5*07 911 mov (_uart0SetBaudRate_sloc0_1_0 + 3),a 007D D0 05 912 pop ar5 007F D0 04 913 pop ar4 0081 D0 03 914 pop ar3 0083 D0 02 915 pop ar2 0085 78r00 916 mov r0,#__mullong_PARM_2 0087 EA 917 mov a,r2 0088 F2 918 movx @r0,a 0089 08 919 inc r0 008A EB 920 mov a,r3 008B F2 921 movx @r0,a 008C 08 922 inc r0 008D EC 923 mov a,r4 008E F2 924 movx @r0,a 008F 08 925 inc r0 0090 ED 926 mov a,r5 0091 F2 927 movx @r0,a 0092 90 21 D7 928 mov dptr,#0x21D7 0095 E4 929 clr a 0096 F5 F0 930 mov b,a 0098 12s00r00 931 lcall __mullong 009B AC 82 932 mov r4,dpl 009D AD 83 933 mov r5,dph 009F AA F0 934 mov r2,b 00A1 FB 935 mov r3,a 00A2 78r00 936 mov r0,#__divulong_PARM_2 00A4 74 1B 937 mov a,#0x1B 00A6 F2 938 movx @r0,a 00A7 08 939 inc r0 00A8 74 B7 940 mov a,#0xB7 00AA F2 941 movx @r0,a 00AB 08 942 inc r0 00AC E4 943 clr a 00AD F2 944 movx @r0,a 00AE 08 945 inc r0 00AF F2 946 movx @r0,a 00B0 8C 82 947 mov dpl,r4 00B2 8D 83 948 mov dph,r5 00B4 8A F0 949 mov b,r2 00B6 EB 950 mov a,r3 00B7 12s00r00 951 lcall __divulong 00BA AA 82 952 mov r2,dpl 00BC AB 83 953 mov r3,dph 00BE AC F0 954 mov r4,b 00C0 FD 955 mov r5,a 00C1 EA 956 mov a,r2 00C2 25*04 957 add a,_uart0SetBaudRate_sloc0_1_0 00C4 FA 958 mov r2,a 00C5 EB 959 mov a,r3 00C6 35*05 960 addc a,(_uart0SetBaudRate_sloc0_1_0 + 1) 00C8 FB 961 mov r3,a 00C9 EC 962 mov a,r4 00CA 35*06 963 addc a,(_uart0SetBaudRate_sloc0_1_0 + 2) 00CC FC 964 mov r4,a 00CD ED 965 mov a,r5 00CE 35*07 966 addc a,(_uart0SetBaudRate_sloc0_1_0 + 3) 00D0 FD 967 mov r5,a 00D1 968 C$uart0.c$157$1$1 ==. 969 ; libraries/src/uart/uart0.c:157: while (baudMPlus256 > 0x1ff) 00D1 7E 00 970 mov r6,#0x00 00D3 971 00104$: 00D3 C3 972 clr c 00D4 74 FF 973 mov a,#0xFF 00D6 9A 974 subb a,r2 00D7 74 01 975 mov a,#0x01 00D9 9B 976 subb a,r3 00DA E4 977 clr a 00DB 9C 978 subb a,r4 00DC E4 979 clr a 00DD 9D 980 subb a,r5 00DE 50 10 981 jnc 00106$ 00E0 982 C$uart0.c$159$2$2 ==. 983 ; libraries/src/uart/uart0.c:159: baudE++; 00E0 0E 984 inc r6 00E1 985 C$uart0.c$160$2$2 ==. 986 ; libraries/src/uart/uart0.c:160: baudMPlus256 /= 2; 00E1 ED 987 mov a,r5 00E2 C3 988 clr c 00E3 13 989 rrc a 00E4 FD 990 mov r5,a 00E5 EC 991 mov a,r4 00E6 13 992 rrc a 00E7 FC 993 mov r4,a 00E8 EB 994 mov a,r3 00E9 13 995 rrc a 00EA FB 996 mov r3,a 00EB EA 997 mov a,r2 00EC 13 998 rrc a 00ED FA 999 mov r2,a 00EE 80 E3 1000 sjmp 00104$ 00F0 1001 00106$: 00F0 1002 C$uart0.c$162$1$1 ==. 1003 ; libraries/src/uart/uart0.c:162: UNGCR = baudE; // UNGCR.BAUD_E (4:0) 00F0 8E C5 1004 mov _U0GCR,r6 00F2 1005 C$uart0.c$163$1$1 ==. 1006 ; libraries/src/uart/uart0.c:163: UNBAUD = baudMPlus256; // UNBAUD.BAUD_M (7:0) - only the lowest 8 bits of baudMPlus256 are used, so this is effectively baudMPlus256 - 256 00F2 8A C2 1007 mov _U0BAUD,r2 00F4 1008 C$uart0.c$164$1$1 ==. 00F4 1009 XG$uart0SetBaudRate$0$0 ==. 00F4 22 1010 ret 1011 ;------------------------------------------------------------ 1012 ;Allocation info for local variables in function 'uart0SetParity' 1013 ;------------------------------------------------------------ 1014 ;------------------------------------------------------------ 00F5 1015 G$uart0SetParity$0$0 ==. 00F5 1016 C$uart0.c$166$1$1 ==. 1017 ; libraries/src/uart/uart0.c:166: void uartNSetParity(uint8 parity) 1018 ; ----------------------------------------- 1019 ; function uart0SetParity 1020 ; ----------------------------------------- 00F5 1021 _uart0SetParity: 00F5 AA 82 1022 mov r2,dpl 00F7 1023 C$uart0.c$175$1$1 ==. 1024 ; libraries/src/uart/uart0.c:175: uint8 tmp = 0; 00F7 7B 00 1025 mov r3,#0x00 00F9 1026 C$uart0.c$177$1$1 ==. 1027 ; libraries/src/uart/uart0.c:177: switch(parity) 00F9 BA 01 02 1028 cjne r2,#0x01,00112$ 00FC 80 0F 1029 sjmp 00101$ 00FE 1030 00112$: 00FE BA 02 02 1031 cjne r2,#0x02,00113$ 0101 80 0E 1032 sjmp 00102$ 0103 1033 00113$: 0103 BA 03 02 1034 cjne r2,#0x03,00114$ 0106 80 0D 1035 sjmp 00103$ 0108 1036 00114$: 0108 1037 C$uart0.c$179$2$2 ==. 1038 ; libraries/src/uart/uart0.c:179: case PARITY_ODD: tmp = 0b111 << 3; break; 0108 BA 04 10 1039 cjne r2,#0x04,00105$ 010B 80 0C 1040 sjmp 00104$ 010D 1041 00101$: 010D 7B 38 1042 mov r3,#0x38 010F 1043 C$uart0.c$180$2$2 ==. 1044 ; libraries/src/uart/uart0.c:180: case PARITY_EVEN: tmp = 0b011 << 3; break; 010F 80 0A 1045 sjmp 00105$ 0111 1046 00102$: 0111 7B 18 1047 mov r3,#0x18 0113 1048 C$uart0.c$181$2$2 ==. 1049 ; libraries/src/uart/uart0.c:181: case PARITY_MARK: tmp = 0b110 << 3; break; 0113 80 06 1050 sjmp 00105$ 0115 1051 00103$: 0115 7B 30 1052 mov r3,#0x30 0117 1053 C$uart0.c$182$2$2 ==. 1054 ; libraries/src/uart/uart0.c:182: case PARITY_SPACE: tmp = 0b010 << 3; break; 0117 80 02 1055 sjmp 00105$ 0119 1056 00104$: 0119 7B 10 1057 mov r3,#0x10 011B 1058 C$uart0.c$183$1$1 ==. 1059 ; libraries/src/uart/uart0.c:183: } 011B 1060 00105$: 011B 1061 C$uart0.c$185$1$1 ==. 1062 ; libraries/src/uart/uart0.c:185: UNUCR = (UNUCR & 0b01000111) | tmp; 011B 74 47 1063 mov a,#0x47 011D 55 C4 1064 anl a,_U0UCR 011F 4B 1065 orl a,r3 0120 F5 C4 1066 mov _U0UCR,a 0122 1067 C$uart0.c$186$1$1 ==. 0122 1068 XG$uart0SetParity$0$0 ==. 0122 22 1069 ret 1070 ;------------------------------------------------------------ 1071 ;Allocation info for local variables in function 'uart0SetStopBits' 1072 ;------------------------------------------------------------ 1073 ;------------------------------------------------------------ 0123 1074 G$uart0SetStopBits$0$0 ==. 0123 1075 C$uart0.c$188$1$1 ==. 1076 ; libraries/src/uart/uart0.c:188: void uartNSetStopBits(uint8 stopBits) 1077 ; ----------------------------------------- 1078 ; function uart0SetStopBits 1079 ; ----------------------------------------- 0123 1080 _uart0SetStopBits: 0123 AA 82 1081 mov r2,dpl 0125 1082 C$uart0.c$190$1$1 ==. 1083 ; libraries/src/uart/uart0.c:190: if (stopBits == STOP_BITS_2) 0125 BA 02 04 1084 cjne r2,#0x02,00102$ 0128 1085 C$uart0.c$192$2$2 ==. 1086 ; libraries/src/uart/uart0.c:192: UNUCR |= (1<<2); // 2 stop bits 0128 43 C4 04 1087 orl _U0UCR,#0x04 012B 22 1088 ret 012C 1089 00102$: 012C 1090 C$uart0.c$196$2$3 ==. 1091 ; libraries/src/uart/uart0.c:196: UNUCR &= ~(1<<2); // 1 stop bit 012C 53 C4 FB 1092 anl _U0UCR,#0xFB 012F 1093 C$uart0.c$199$1$1 ==. 012F 1094 XG$uart0SetStopBits$0$0 ==. 012F 22 1095 ret 1096 ;------------------------------------------------------------ 1097 ;Allocation info for local variables in function 'uart0TxAvailable' 1098 ;------------------------------------------------------------ 1099 ;------------------------------------------------------------ 0130 1100 G$uart0TxAvailable$0$0 ==. 0130 1101 C$uart0.c$201$1$1 ==. 1102 ; libraries/src/uart/uart0.c:201: uint8 uartNTxAvailable(void) 1103 ; ----------------------------------------- 1104 ; function uart0TxAvailable 1105 ; ----------------------------------------- 0130 1106 _uart0TxAvailable: 0130 1107 C$uart0.c$203$1$1 ==. 1108 ; libraries/src/uart/uart0.c:203: return UART_TX_BUFFER_FREE_BYTES(); 0130 E5*01 1109 mov a,_uartTxBufferInterruptIndex 0132 C3 1110 clr c 0133 95*00 1111 subb a,_uartTxBufferMainLoopIndex 0135 14 1112 dec a 0136 F5 82 1113 mov dpl,a 0138 1114 C$uart0.c$204$1$1 ==. 0138 1115 XG$uart0TxAvailable$0$0 ==. 0138 22 1116 ret 1117 ;------------------------------------------------------------ 1118 ;Allocation info for local variables in function 'uart0TxSend' 1119 ;------------------------------------------------------------ 1120 ;------------------------------------------------------------ 0139 1121 G$uart0TxSend$0$0 ==. 0139 1122 C$uart0.c$206$1$1 ==. 1123 ; libraries/src/uart/uart0.c:206: void uartNTxSend(const uint8 XDATA * buffer, uint8 size) 1124 ; ----------------------------------------- 1125 ; function uart0TxSend 1126 ; ----------------------------------------- 0139 1127 _uart0TxSend: 0139 AA 82 1128 mov r2,dpl 013B AB 83 1129 mov r3,dph 013D 1130 C$uart0.c$211$1$1 ==. 1131 ; libraries/src/uart/uart0.c:211: while (size) 013D 78r00 1132 mov r0,#_uart0TxSend_PARM_2 013F E2 1133 movx a,@r0 0140 FC 1134 mov r4,a 0141 1135 00101$: 0141 EC 1136 mov a,r4 0142 60 22 1137 jz 00104$ 0144 1138 C$uart0.c$213$2$2 ==. 1139 ; libraries/src/uart/uart0.c:213: uartTxBuffer[uartTxBufferMainLoopIndex] = *buffer; 0144 E5*00 1140 mov a,_uartTxBufferMainLoopIndex 0146 24r00 1141 add a,#_uartTxBuffer 0148 FD 1142 mov r5,a 0149 E4 1143 clr a 014A 34s00 1144 addc a,#(_uartTxBuffer >> 8) 014C FE 1145 mov r6,a 014D 8A 82 1146 mov dpl,r2 014F 8B 83 1147 mov dph,r3 0151 E0 1148 movx a,@dptr 0152 FF 1149 mov r7,a 0153 A3 1150 inc dptr 0154 AA 82 1151 mov r2,dpl 0156 AB 83 1152 mov r3,dph 0158 8D 82 1153 mov dpl,r5 015A 8E 83 1154 mov dph,r6 015C EF 1155 mov a,r7 015D F0 1156 movx @dptr,a 015E 1157 C$uart0.c$215$2$2 ==. 1158 ; libraries/src/uart/uart0.c:215: buffer++; 015E 1159 C$uart0.c$216$2$2 ==. 1160 ; libraries/src/uart/uart0.c:216: uartTxBufferMainLoopIndex = (uartTxBufferMainLoopIndex + 1) & (sizeof(uartTxBuffer) - 1); 015E 05*00 1161 inc _uartTxBufferMainLoopIndex 0160 1162 C$uart0.c$217$2$2 ==. 1163 ; libraries/src/uart/uart0.c:217: size--; 0160 1C 1164 dec r4 0161 1165 C$uart0.c$219$2$2 ==. 1166 ; libraries/src/uart/uart0.c:219: IEN2 |= BV_UTXNIE; // Enable TX interrupt 0161 43 9A 04 1167 orl _IEN2,#0x04 0164 80 DB 1168 sjmp 00101$ 0166 1169 00104$: 0166 1170 C$uart0.c$221$1$1 ==. 0166 1171 XG$uart0TxSend$0$0 ==. 0166 22 1172 ret 1173 ;------------------------------------------------------------ 1174 ;Allocation info for local variables in function 'uart0TxSendByte' 1175 ;------------------------------------------------------------ 1176 ;------------------------------------------------------------ 0167 1177 G$uart0TxSendByte$0$0 ==. 0167 1178 C$uart0.c$223$1$1 ==. 1179 ; libraries/src/uart/uart0.c:223: void uartNTxSendByte(uint8 byte) 1180 ; ----------------------------------------- 1181 ; function uart0TxSendByte 1182 ; ----------------------------------------- 0167 1183 _uart0TxSendByte: 0167 AA 82 1184 mov r2,dpl 0169 1185 C$uart0.c$227$1$1 ==. 1186 ; libraries/src/uart/uart0.c:227: uartTxBuffer[uartTxBufferMainLoopIndex] = byte; 0169 E5*00 1187 mov a,_uartTxBufferMainLoopIndex 016B 24r00 1188 add a,#_uartTxBuffer 016D F5 82 1189 mov dpl,a 016F E4 1190 clr a 0170 34s00 1191 addc a,#(_uartTxBuffer >> 8) 0172 F5 83 1192 mov dph,a 0174 EA 1193 mov a,r2 0175 F0 1194 movx @dptr,a 0176 1195 C$uart0.c$228$1$1 ==. 1196 ; libraries/src/uart/uart0.c:228: uartTxBufferMainLoopIndex = (uartTxBufferMainLoopIndex + 1) & (sizeof(uartTxBuffer) - 1); 0176 05*00 1197 inc _uartTxBufferMainLoopIndex 0178 1198 C$uart0.c$230$1$1 ==. 1199 ; libraries/src/uart/uart0.c:230: IEN2 |= BV_UTXNIE; // Enable TX interrupt 0178 43 9A 04 1200 orl _IEN2,#0x04 017B 1201 C$uart0.c$231$1$1 ==. 017B 1202 XG$uart0TxSendByte$0$0 ==. 017B 22 1203 ret 1204 ;------------------------------------------------------------ 1205 ;Allocation info for local variables in function 'uart0RxAvailable' 1206 ;------------------------------------------------------------ 1207 ;------------------------------------------------------------ 017C 1208 G$uart0RxAvailable$0$0 ==. 017C 1209 C$uart0.c$233$1$1 ==. 1210 ; libraries/src/uart/uart0.c:233: uint8 uartNRxAvailable(void) 1211 ; ----------------------------------------- 1212 ; function uart0RxAvailable 1213 ; ----------------------------------------- 017C 1214 _uart0RxAvailable: 017C 1215 C$uart0.c$235$1$1 ==. 1216 ; libraries/src/uart/uart0.c:235: return UART_RX_BUFFER_USED_BYTES(); 017C E5*03 1217 mov a,_uartRxBufferInterruptIndex 017E C3 1218 clr c 017F 95*02 1219 subb a,_uartRxBufferMainLoopIndex 0181 F5 82 1220 mov dpl,a 0183 1221 C$uart0.c$236$1$1 ==. 0183 1222 XG$uart0RxAvailable$0$0 ==. 0183 22 1223 ret 1224 ;------------------------------------------------------------ 1225 ;Allocation info for local variables in function 'uart0RxReceiveByte' 1226 ;------------------------------------------------------------ 1227 ;------------------------------------------------------------ 0184 1228 G$uart0RxReceiveByte$0$0 ==. 0184 1229 C$uart0.c$238$1$1 ==. 1230 ; libraries/src/uart/uart0.c:238: uint8 uartNRxReceiveByte(void) 1231 ; ----------------------------------------- 1232 ; function uart0RxReceiveByte 1233 ; ----------------------------------------- 0184 1234 _uart0RxReceiveByte: 0184 1235 C$uart0.c$242$1$1 ==. 1236 ; libraries/src/uart/uart0.c:242: uint8 byte = uartRxBuffer[uartRxBufferMainLoopIndex]; 0184 E5*02 1237 mov a,_uartRxBufferMainLoopIndex 0186 24r00 1238 add a,#_uartRxBuffer 0188 F5 82 1239 mov dpl,a 018A E4 1240 clr a 018B 34s01 1241 addc a,#(_uartRxBuffer >> 8) 018D F5 83 1242 mov dph,a 018F E0 1243 movx a,@dptr 0190 FA 1244 mov r2,a 0191 1245 C$uart0.c$243$1$1 ==. 1246 ; libraries/src/uart/uart0.c:243: uartRxBufferMainLoopIndex = (uartRxBufferMainLoopIndex + 1) & (sizeof(uartRxBuffer) - 1); 0191 05*02 1247 inc _uartRxBufferMainLoopIndex 0193 1248 C$uart0.c$244$1$1 ==. 1249 ; libraries/src/uart/uart0.c:244: return byte; 0193 8A 82 1250 mov dpl,r2 0195 1251 C$uart0.c$245$1$1 ==. 0195 1252 XG$uart0RxReceiveByte$0$0 ==. 0195 22 1253 ret 1254 ;------------------------------------------------------------ 1255 ;Allocation info for local variables in function 'ISR_UTX0' 1256 ;------------------------------------------------------------ 1257 ;------------------------------------------------------------ 0196 1258 G$ISR_UTX0$0$0 ==. 0196 1259 C$uart0.c$247$1$1 ==. 1260 ; libraries/src/uart/uart0.c:247: ISR_UTX() 1261 ; ----------------------------------------- 1262 ; function ISR_UTX0 1263 ; ----------------------------------------- 0196 1264 _ISR_UTX0: 0196 C0 E0 1265 push acc 0198 C0 82 1266 push dpl 019A C0 83 1267 push dph 019C C0 D0 1268 push psw 019E 75 D0 00 1269 mov psw,#0x00 01A1 1270 C$uart0.c$252$1$1 ==. 1271 ; libraries/src/uart/uart0.c:252: if (uartTxBufferInterruptIndex != uartTxBufferMainLoopIndex) 01A1 E5*00 1272 mov a,_uartTxBufferMainLoopIndex 01A3 B5*01 02 1273 cjne a,_uartTxBufferInterruptIndex,00107$ 01A6 80 14 1274 sjmp 00102$ 01A8 1275 00107$: 01A8 1276 C$uart0.c$257$2$2 ==. 1277 ; libraries/src/uart/uart0.c:257: UTXNIF = 0; 01A8 C2 E9 1278 clr _UTX0IF 01AA 1279 C$uart0.c$259$2$2 ==. 1280 ; libraries/src/uart/uart0.c:259: UNDBUF = uartTxBuffer[uartTxBufferInterruptIndex]; 01AA E5*01 1281 mov a,_uartTxBufferInterruptIndex 01AC 24r00 1282 add a,#_uartTxBuffer 01AE F5 82 1283 mov dpl,a 01B0 E4 1284 clr a 01B1 34s00 1285 addc a,#(_uartTxBuffer >> 8) 01B3 F5 83 1286 mov dph,a 01B5 E0 1287 movx a,@dptr 01B6 F5 C1 1288 mov _U0DBUF,a 01B8 1289 C$uart0.c$260$2$2 ==. 1290 ; libraries/src/uart/uart0.c:260: uartTxBufferInterruptIndex = (uartTxBufferInterruptIndex + 1) & (sizeof(uartTxBuffer) - 1); 01B8 05*01 1291 inc _uartTxBufferInterruptIndex 01BA 80 03 1292 sjmp 00104$ 01BC 1293 00102$: 01BC 1294 C$uart0.c$265$2$3 ==. 1295 ; libraries/src/uart/uart0.c:265: IEN2 &= ~BV_UTXNIE; 01BC 53 9A FB 1296 anl _IEN2,#0xFB 01BF 1297 00104$: 01BF D0 D0 1298 pop psw 01C1 D0 83 1299 pop dph 01C3 D0 82 1300 pop dpl 01C5 D0 E0 1301 pop acc 01C7 1302 C$uart0.c$267$1$1 ==. 01C7 1303 XG$ISR_UTX0$0$0 ==. 01C7 32 1304 reti 1305 ; eliminated unneeded push/pop b 1306 ;------------------------------------------------------------ 1307 ;Allocation info for local variables in function 'ISR_URX0' 1308 ;------------------------------------------------------------ 1309 ;------------------------------------------------------------ 01C8 1310 G$ISR_URX0$0$0 ==. 01C8 1311 C$uart0.c$269$1$1 ==. 1312 ; libraries/src/uart/uart0.c:269: ISR_URX() 1313 ; ----------------------------------------- 1314 ; function ISR_URX0 1315 ; ----------------------------------------- 01C8 1316 _ISR_URX0: 01C8 C0 E0 1317 push acc 01CA C0 82 1318 push dpl 01CC C0 83 1319 push dph 01CE C0 02 1320 push ar2 01D0 C0 03 1321 push ar3 01D2 C0 04 1322 push ar4 01D4 C0 05 1323 push ar5 01D6 C0 06 1324 push ar6 01D8 C0 D0 1325 push psw 01DA 75 D0 00 1326 mov psw,#0x00 01DD 1327 C$uart0.c$273$1$1 ==. 1328 ; libraries/src/uart/uart0.c:273: URXNIF = 0; 01DD C2 8B 1329 clr _URX0IF 01DF 1330 C$uart0.c$278$1$1 ==. 1331 ; libraries/src/uart/uart0.c:278: csr = UNCSR; 01DF 1332 C$uart0.c$281$1$1 ==. 1333 ; libraries/src/uart/uart0.c:281: if (!(csr & 0x18)) // UNCSR.FE (4) == 0; UNCSR.ERR (3) == 0 01DF E5 86 1334 mov a,_U0CSR 01E1 FA 1335 mov r2,a 01E2 54 18 1336 anl a,#0x18 01E4 60 02 1337 jz 00118$ 01E6 80 2D 1338 sjmp 00109$ 01E8 1339 00118$: 01E8 1340 C$uart0.c$285$2$2 ==. 1341 ; libraries/src/uart/uart0.c:285: if (UART_RX_BUFFER_FREE_BYTES()) 01E8 AB*02 1342 mov r3,_uartRxBufferMainLoopIndex 01EA 7C 00 1343 mov r4,#0x00 01EC AD*03 1344 mov r5,_uartRxBufferInterruptIndex 01EE 7E 00 1345 mov r6,#0x00 01F0 EB 1346 mov a,r3 01F1 C3 1347 clr c 01F2 9D 1348 subb a,r5 01F3 FB 1349 mov r3,a 01F4 EC 1350 mov a,r4 01F5 9E 1351 subb a,r6 01F6 FC 1352 mov r4,a 01F7 1B 1353 dec r3 01F8 BB FF 01 1354 cjne r3,#0xff,00119$ 01FB 1C 1355 dec r4 01FC 1356 00119$: 01FC EB 1357 mov a,r3 01FD 60 12 1358 jz 00102$ 01FF 1359 C$uart0.c$288$3$3 ==. 1360 ; libraries/src/uart/uart0.c:288: uartRxBuffer[uartRxBufferInterruptIndex] = UNDBUF; 01FF E5*03 1361 mov a,_uartRxBufferInterruptIndex 0201 24r00 1362 add a,#_uartRxBuffer 0203 F5 82 1363 mov dpl,a 0205 E4 1364 clr a 0206 34s01 1365 addc a,#(_uartRxBuffer >> 8) 0208 F5 83 1366 mov dph,a 020A E5 C1 1367 mov a,_U0DBUF 020C F0 1368 movx @dptr,a 020D 1369 C$uart0.c$289$3$3 ==. 1370 ; libraries/src/uart/uart0.c:289: uartRxBufferInterruptIndex = (uartRxBufferInterruptIndex + 1) & (sizeof(uartRxBuffer) - 1); 020D 05*03 1371 inc _uartRxBufferInterruptIndex 020F 80 10 1372 sjmp 00111$ 0211 1373 00102$: 0211 1374 C$uart0.c$294$3$4 ==. 1375 ; libraries/src/uart/uart0.c:294: uartNRxBufferFullOccurred = 1; 0211 D2*02 1376 setb _uart0RxBufferFullOccurred 0213 80 0C 1377 sjmp 00111$ 0215 1378 00109$: 0215 1379 C$uart0.c$299$2$5 ==. 1380 ; libraries/src/uart/uart0.c:299: if (csr & 0x10) // UNCSR.FE (4) == 1 0215 EA 1381 mov a,r2 0216 30 E4 02 1382 jnb acc.4,00105$ 0219 1383 C$uart0.c$301$3$6 ==. 1384 ; libraries/src/uart/uart0.c:301: uartNRxFramingErrorOccurred = 1; 0219 D2*01 1385 setb _uart0RxFramingErrorOccurred 021B 1386 00105$: 021B 1387 C$uart0.c$303$2$5 ==. 1388 ; libraries/src/uart/uart0.c:303: if (csr & 0x08) // UNCSR.ERR (3) == 1 021B EA 1389 mov a,r2 021C 30 E3 02 1390 jnb acc.3,00111$ 021F 1391 C$uart0.c$305$3$7 ==. 1392 ; libraries/src/uart/uart0.c:305: uartNRxParityErrorOccurred = 1; 021F D2*00 1393 setb _uart0RxParityErrorOccurred 0221 1394 00111$: 0221 D0 D0 1395 pop psw 0223 D0 06 1396 pop ar6 0225 D0 05 1397 pop ar5 0227 D0 04 1398 pop ar4 0229 D0 03 1399 pop ar3 022B D0 02 1400 pop ar2 022D D0 83 1401 pop dph 022F D0 82 1402 pop dpl 0231 D0 E0 1403 pop acc 0233 1404 C$uart0.c$308$1$1 ==. 0233 1405 XG$ISR_URX0$0$0 ==. 0233 32 1406 reti 1407 ; eliminated unneeded push/pop b 1408 .area CSEG (CODE) 1409 .area CONST (CODE) 1410 .area XINIT (CODE) 1411 .area CABS (ABS,CODE)