gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 ;-------------------------------------------------------- 00002 ; File Created by SDCC : free open source ANSI-C Compiler 00003 ; Version 3.0.1 #6101 (Jan 12 2011) (Linux) 00004 ; This file was generated Sun Jan 16 02:33:30 2011 00005 ;-------------------------------------------------------- 00006 ; PIC16 port for the Microchip 16-bit core micros 00007 ;-------------------------------------------------------- 00008 list p=18f2680 00009 00010 radix dec 00011 00012 ;-------------------------------------------------------- 00013 ; public variables in this module 00014 ;-------------------------------------------------------- 00015 global _ECANInitialize 00016 global _ECANSendMessage 00017 global _ECANReceiveMessage 00018 global _ECANSetOperationMode 00019 global __CANIDToRegs 00020 global __RegsToCANID 00021 global __ECANRxFilterHitInfo 00022 00023 ;-------------------------------------------------------- 00024 ; extern variables in this module 00025 ;-------------------------------------------------------- 00026 extern __gptrget1 00027 extern __gptrput1 00028 extern _RXF6SIDHbits 00029 extern _RXF6SIDLbits 00030 extern _RXF6EIDHbits 00031 extern _RXF6EIDLbits 00032 extern _RXF7SIDHbits 00033 extern _RXF7SIDLbits 00034 extern _RXF7EIDHbits 00035 extern _RXF7EIDLbits 00036 extern _RXF8SIDHbits 00037 extern _RXF8SIDLbits 00038 extern _RXF8EIDHbits 00039 extern _RXF8EIDLbits 00040 extern _RXF9SIDHbits 00041 extern _RXF9SIDLbits 00042 extern _RXF9EIDHbits 00043 extern _RXF9EIDLbits 00044 extern _RXF10SIDHbits 00045 extern _RXF10SIDLbits 00046 extern _RXF10EIDHbits 00047 extern _RXF10EIDLbits 00048 extern _RXF11SIDHbits 00049 extern _RXF11SIDLbits 00050 extern _RXF11EIDHbits 00051 extern _RXF11EIDLbits 00052 extern _RXF12SIDHbits 00053 extern _RXF12SIDLbits 00054 extern _RXF12EIDHbits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 2 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00055 extern _RXF12EIDLbits 00056 extern _RXF13SIDHbits 00057 extern _RXF13SIDLbits 00058 extern _RXF13EIDHbits 00059 extern _RXF13EIDLbits 00060 extern _RXF14SIDHbits 00061 extern _RXF14SIDLbits 00062 extern _RXF14EIDHbits 00063 extern _RXF14EIDLbits 00064 extern _RXF15SIDHbits 00065 extern _RXF15SIDLbits 00066 extern _RXF15EIDHbits 00067 extern _RXF15EIDLbits 00068 extern _RXFCON0bits 00069 extern _RXFCON1bits 00070 extern _SDFLCbits 00071 extern _RXFBCON0bits 00072 extern _RXFBCON1bits 00073 extern _RXFBCON2bits 00074 extern _RXFBCON3bits 00075 extern _RXFBCON4bits 00076 extern _RXFBCON5bits 00077 extern _RXFBCON6bits 00078 extern _RXFBCON7bits 00079 extern _MSEL0bits 00080 extern _MSEL1bits 00081 extern _MSEL2bits 00082 extern _MSEL3bits 00083 extern _BSEL0bits 00084 extern _BIE0bits 00085 extern _TXBIEbits 00086 extern _B0CONbits 00087 extern _B0SIDHbits 00088 extern _B0SIDLbits 00089 extern _B0EIDHbits 00090 extern _B0EIDLbits 00091 extern _B0DLCbits 00092 extern _B0D0bits 00093 extern _B0D1bits 00094 extern _B0D2bits 00095 extern _B0D3bits 00096 extern _B0D4bits 00097 extern _B0D5bits 00098 extern _B0D6bits 00099 extern _B0D7bits 00100 extern _CANSTAT_RO9bits 00101 extern _CANCON_RO9bits 00102 extern _B1CONbits 00103 extern _B1SIDHbits 00104 extern _B1SIDLbits 00105 extern _B1EIDHbits 00106 extern _B1EIDLbits 00107 extern _B1DLCbits 00108 extern _B1D0bits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 3 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00109 extern _B1D1bits 00110 extern _B1D2bits 00111 extern _B1D3bits 00112 extern _B1D4bits 00113 extern _B1D5bits 00114 extern _B1D6bits 00115 extern _B1D7bits 00116 extern _CANSTAT_RO8bits 00117 extern _CANCON_RO8bits 00118 extern _B2CONbits 00119 extern _B2SIDHbits 00120 extern _B2SIDLbits 00121 extern _B2EIDHbits 00122 extern _B2EIDLbits 00123 extern _B2DLCbits 00124 extern _B2D0bits 00125 extern _B2D1bits 00126 extern _B2D2bits 00127 extern _B2D3bits 00128 extern _B2D4bits 00129 extern _B2D5bits 00130 extern _B2D6bits 00131 extern _B2D7bits 00132 extern _CANSTAT_RO7bits 00133 extern _CANCON_RO7bits 00134 extern _B3CONbits 00135 extern _B3SIDHbits 00136 extern _B3SIDLbits 00137 extern _B3EIDHbits 00138 extern _B3EIDLbits 00139 extern _B3DLCbits 00140 extern _B3D0bits 00141 extern _B3D1bits 00142 extern _B3D2bits 00143 extern _B3D3bits 00144 extern _B3D4bits 00145 extern _B3D5bits 00146 extern _B3D6bits 00147 extern _B3D7bits 00148 extern _CANSTAT_RO6bits 00149 extern _CANCON_RO6bits 00150 extern _B4CONbits 00151 extern _B4SIDHbits 00152 extern _B4SIDLbits 00153 extern _B4EIDHbits 00154 extern _B4EIDLbits 00155 extern _B4DLCbits 00156 extern _B4D0bits 00157 extern _B4D1bits 00158 extern _B4D2bits 00159 extern _B4D3bits 00160 extern _B4D4bits 00161 extern _B4D5bits 00162 extern _B4D6bits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 4 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00163 extern _B4D7bits 00164 extern _CANSTAT_RO5bits 00165 extern _CANCON_RO5bits 00166 extern _B5CONbits 00167 extern _B5SIDHbits 00168 extern _B5SIDLbits 00169 extern _B5EIDHbits 00170 extern _B5EIDLbits 00171 extern _B5DLCbits 00172 extern _B5D0bits 00173 extern _B5D1bits 00174 extern _B5D2bits 00175 extern _B5D3bits 00176 extern _B5D4bits 00177 extern _B5D5bits 00178 extern _B5D6bits 00179 extern _B5D7bits 00180 extern _CANSTAT_RO4bits 00181 extern _CANCON_RO4bits 00182 extern _RXF0SIDHbits 00183 extern _RXF0SIDLbits 00184 extern _RXF0EIDHbits 00185 extern _RXF0EIDLbits 00186 extern _RXF1SIDHbits 00187 extern _RXF1SIDLbits 00188 extern _RXF1EIDHbits 00189 extern _RXF1EIDLbits 00190 extern _RXF2SIDHbits 00191 extern _RXF2SIDLbits 00192 extern _RXF2EIDHbits 00193 extern _RXF2EIDLbits 00194 extern _RXF3SIDHbits 00195 extern _RXF3SIDLbits 00196 extern _RXF3EIDHbits 00197 extern _RXF3EIDLbits 00198 extern _RXF4SIDHbits 00199 extern _RXF4SIDLbits 00200 extern _RXF4EIDHbits 00201 extern _RXF4EIDLbits 00202 extern _RXF5SIDHbits 00203 extern _RXF5SIDLbits 00204 extern _RXF5EIDHbits 00205 extern _RXF5EIDLbits 00206 extern _RXM0SIDHbits 00207 extern _RXM0SIDLbits 00208 extern _RXM0EIDHbits 00209 extern _RXM0EIDLbits 00210 extern _RXM1SIDHbits 00211 extern _RXM1SIDLbits 00212 extern _RXM1EIDHbits 00213 extern _RXM1EIDLbits 00214 extern _TXB2CONbits 00215 extern _TXB2SIDHbits 00216 extern _TXB2SIDLbits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 5 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00217 extern _TXB2EIDHbits 00218 extern _TXB2EIDLbits 00219 extern _TXB2DLCbits 00220 extern _TXB2D0bits 00221 extern _TXB2D1bits 00222 extern _TXB2D2bits 00223 extern _TXB2D3bits 00224 extern _TXB2D4bits 00225 extern _TXB2D5bits 00226 extern _TXB2D6bits 00227 extern _TXB2D7bits 00228 extern _CANSTAT_RO3bits 00229 extern _CANCON_RO3bits 00230 extern _TXB1CONbits 00231 extern _TXB1SIDHbits 00232 extern _TXB1SIDLbits 00233 extern _TXB1EIDHbits 00234 extern _TXB1EIDLbits 00235 extern _TXB1DLCbits 00236 extern _TXB1D0bits 00237 extern _TXB1D1bits 00238 extern _TXB1D2bits 00239 extern _TXB1D3bits 00240 extern _TXB1D4bits 00241 extern _TXB1D5bits 00242 extern _TXB1D6bits 00243 extern _TXB1D7bits 00244 extern _CANSTAT_RO2bits 00245 extern _CANCON_RO2bits 00246 extern _TXB0CONbits 00247 extern _TXB0SIDHbits 00248 extern _TXB0SIDLbits 00249 extern _TXB0EIDHbits 00250 extern _TXB0EIDLbits 00251 extern _TXB0DLCbits 00252 extern _TXB0D0bits 00253 extern _TXB0D1bits 00254 extern _TXB0D2bits 00255 extern _TXB0D3bits 00256 extern _TXB0D4bits 00257 extern _TXB0D5bits 00258 extern _TXB0D6bits 00259 extern _TXB0D7bits 00260 extern _CANSTAT_RO1bits 00261 extern _CANCON_RO1bits 00262 extern _RXB1CONbits 00263 extern _RXB1SIDHbits 00264 extern _RXB1SIDLbits 00265 extern _RXB1EIDHbits 00266 extern _RXB1EIDLbits 00267 extern _RXB1DLCbits 00268 extern _RXB1D0bits 00269 extern _RXB1D1bits 00270 extern _RXB1D2bits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 6 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00271 extern _RXB1D3bits 00272 extern _RXB1D4bits 00273 extern _RXB1D5bits 00274 extern _RXB1D6bits 00275 extern _RXB1D7bits 00276 extern _CANSTAT_RO0bits 00277 extern _CANCON_RO0bits 00278 extern _RXB0CONbits 00279 extern _RXB0SIDHbits 00280 extern _RXB0SIDLbits 00281 extern _RXB0EIDHbits 00282 extern _RXB0EIDLbits 00283 extern _RXB0DLCbits 00284 extern _RXB0D0bits 00285 extern _RXB0D1bits 00286 extern _RXB0D2bits 00287 extern _RXB0D3bits 00288 extern _RXB0D4bits 00289 extern _RXB0D5bits 00290 extern _RXB0D6bits 00291 extern _RXB0D7bits 00292 extern _CANSTATbits 00293 extern _CANCONbits 00294 extern _BRGCON1bits 00295 extern _BRGCON2bits 00296 extern _BRGCON3bits 00297 extern _CIOCONbits 00298 extern _COMSTATbits 00299 extern _RXERRCNTbits 00300 extern _TXERRCNTbits 00301 extern _ECANCONbits 00302 extern _PORTAbits 00303 extern _PORTBbits 00304 extern _PORTCbits 00305 extern _LATAbits 00306 extern _LATBbits 00307 extern _LATCbits 00308 extern _DDRAbits 00309 extern _TRISAbits 00310 extern _DDRBbits 00311 extern _TRISBbits 00312 extern _DDRCbits 00313 extern _TRISCbits 00314 extern _OSCTUNEbits 00315 extern _PIE1bits 00316 extern _PIR1bits 00317 extern _IPR1bits 00318 extern _PIE2bits 00319 extern _PIR2bits 00320 extern _IPR2bits 00321 extern _PIE3bits 00322 extern _PIR3bits 00323 extern _IPR3bits 00324 extern _EECON1bits gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 7 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00325 extern _RCSTAbits 00326 extern _TXSTAbits 00327 extern _T3CONbits 00328 extern _BAUDCONbits 00329 extern _CCP1CONbits 00330 extern _ADCON2bits 00331 extern _ADCON1bits 00332 extern _ADCON0bits 00333 extern _SSPCON2bits 00334 extern _SSPCON1bits 00335 extern _SSPSTATbits 00336 extern _T2CONbits 00337 extern _T1CONbits 00338 extern _RCONbits 00339 extern _WDTCONbits 00340 extern _HLVDCONbits 00341 extern _LVDCONbits 00342 extern _OSCCONbits 00343 extern _T0CONbits 00344 extern _STATUSbits 00345 extern _INTCON3bits 00346 extern _INTCON2bits 00347 extern _INTCONbits 00348 extern _STKPTRbits 00349 extern _RXF6SIDH 00350 extern _RXF6SIDL 00351 extern _RXF6EIDH 00352 extern _RXF6EIDL 00353 extern _RXF7SIDH 00354 extern _RXF7SIDL 00355 extern _RXF7EIDH 00356 extern _RXF7EIDL 00357 extern _RXF8SIDH 00358 extern _RXF8SIDL 00359 extern _RXF8EIDH 00360 extern _RXF8EIDL 00361 extern _RXF9SIDH 00362 extern _RXF9SIDL 00363 extern _RXF9EIDH 00364 extern _RXF9EIDL 00365 extern _RXF10SIDH 00366 extern _RXF10SIDL 00367 extern _RXF10EIDH 00368 extern _RXF10EIDL 00369 extern _RXF11SIDH 00370 extern _RXF11SIDL 00371 extern _RXF11EIDH 00372 extern _RXF11EIDL 00373 extern _RXF12SIDH 00374 extern _RXF12SIDL 00375 extern _RXF12EIDH 00376 extern _RXF12EIDL 00377 extern _RXF13SIDH 00378 extern _RXF13SIDL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 8 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00379 extern _RXF13EIDH 00380 extern _RXF13EIDL 00381 extern _RXF14SIDH 00382 extern _RXF14SIDL 00383 extern _RXF14EIDH 00384 extern _RXF14EIDL 00385 extern _RXF15SIDH 00386 extern _RXF15SIDL 00387 extern _RXF15EIDH 00388 extern _RXF15EIDL 00389 extern _RXFCON0 00390 extern _RXFCON1 00391 extern _SDFLC 00392 extern _RXFBCON0 00393 extern _RXFBCON1 00394 extern _RXFBCON2 00395 extern _RXFBCON3 00396 extern _RXFBCON4 00397 extern _RXFBCON5 00398 extern _RXFBCON6 00399 extern _RXFBCON7 00400 extern _MSEL0 00401 extern _MSEL1 00402 extern _MSEL2 00403 extern _MSEL3 00404 extern _BSEL0 00405 extern _BIE0 00406 extern _TXBIE 00407 extern _B0CON 00408 extern _B0SIDH 00409 extern _B0SIDL 00410 extern _B0EIDH 00411 extern _B0EIDL 00412 extern _B0DLC 00413 extern _B0D0 00414 extern _B0D1 00415 extern _B0D2 00416 extern _B0D3 00417 extern _B0D4 00418 extern _B0D5 00419 extern _B0D6 00420 extern _B0D7 00421 extern _CANSTAT_RO9 00422 extern _CANCON_RO9 00423 extern _B1CON 00424 extern _B1SIDH 00425 extern _B1SIDL 00426 extern _B1EIDH 00427 extern _B1EIDL 00428 extern _B1DLC 00429 extern _B1D0 00430 extern _B1D1 00431 extern _B1D2 00432 extern _B1D3 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 9 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00433 extern _B1D4 00434 extern _B1D5 00435 extern _B1D6 00436 extern _B1D7 00437 extern _CANSTAT_RO8 00438 extern _CANCON_RO8 00439 extern _B2CON 00440 extern _B2SIDH 00441 extern _B2SIDL 00442 extern _B2EIDH 00443 extern _B2EIDL 00444 extern _B2DLC 00445 extern _B2D0 00446 extern _B2D1 00447 extern _B2D2 00448 extern _B2D3 00449 extern _B2D4 00450 extern _B2D5 00451 extern _B2D6 00452 extern _B2D7 00453 extern _CANSTAT_RO7 00454 extern _CANCON_RO7 00455 extern _B3CON 00456 extern _B3SIDH 00457 extern _B3SIDL 00458 extern _B3EIDH 00459 extern _B3EIDL 00460 extern _B3DLC 00461 extern _B3D0 00462 extern _B3D1 00463 extern _B3D2 00464 extern _B3D3 00465 extern _B3D4 00466 extern _B3D5 00467 extern _B3D6 00468 extern _B3D7 00469 extern _CANSTAT_RO6 00470 extern _CANCON_RO6 00471 extern _B4CON 00472 extern _B4SIDH 00473 extern _B4SIDL 00474 extern _B4EIDH 00475 extern _B4EIDL 00476 extern _B4DLC 00477 extern _B4D0 00478 extern _B4D1 00479 extern _B4D2 00480 extern _B4D3 00481 extern _B4D4 00482 extern _B4D5 00483 extern _B4D6 00484 extern _B4D7 00485 extern _CANSTAT_RO5 00486 extern _CANCON_RO5 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 10 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00487 extern _B5CON 00488 extern _B5SIDH 00489 extern _B5SIDL 00490 extern _B5EIDH 00491 extern _B5EIDL 00492 extern _B5DLC 00493 extern _B5D0 00494 extern _B5D1 00495 extern _B5D2 00496 extern _B5D3 00497 extern _B5D4 00498 extern _B5D5 00499 extern _B5D6 00500 extern _B5D7 00501 extern _CANSTAT_RO4 00502 extern _CANCON_RO4 00503 extern _RXF0SIDH 00504 extern _RXF0SIDL 00505 extern _RXF0EIDH 00506 extern _RXF0EIDL 00507 extern _RXF1SIDH 00508 extern _RXF1SIDL 00509 extern _RXF1EIDH 00510 extern _RXF1EIDL 00511 extern _RXF2SIDH 00512 extern _RXF2SIDL 00513 extern _RXF2EIDH 00514 extern _RXF2EIDL 00515 extern _RXF3SIDH 00516 extern _RXF3SIDL 00517 extern _RXF3EIDH 00518 extern _RXF3EIDL 00519 extern _RXF4SIDH 00520 extern _RXF4SIDL 00521 extern _RXF4EIDH 00522 extern _RXF4EIDL 00523 extern _RXF5SIDH 00524 extern _RXF5SIDL 00525 extern _RXF5EIDH 00526 extern _RXF5EIDL 00527 extern _RXM0SIDH 00528 extern _RXM0SIDL 00529 extern _RXM0EIDH 00530 extern _RXM0EIDL 00531 extern _RXM1SIDH 00532 extern _RXM1SIDL 00533 extern _RXM1EIDH 00534 extern _RXM1EIDL 00535 extern _TXB2CON 00536 extern _TXB2SIDH 00537 extern _TXB2SIDL 00538 extern _TXB2EIDH 00539 extern _TXB2EIDL 00540 extern _TXB2DLC gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 11 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00541 extern _TXB2D0 00542 extern _TXB2D1 00543 extern _TXB2D2 00544 extern _TXB2D3 00545 extern _TXB2D4 00546 extern _TXB2D5 00547 extern _TXB2D6 00548 extern _TXB2D7 00549 extern _CANSTAT_RO3 00550 extern _CANCON_RO3 00551 extern _TXB1CON 00552 extern _TXB1SIDH 00553 extern _TXB1SIDL 00554 extern _TXB1EIDH 00555 extern _TXB1EIDL 00556 extern _TXB1DLC 00557 extern _TXB1D0 00558 extern _TXB1D1 00559 extern _TXB1D2 00560 extern _TXB1D3 00561 extern _TXB1D4 00562 extern _TXB1D5 00563 extern _TXB1D6 00564 extern _TXB1D7 00565 extern _CANSTAT_RO2 00566 extern _CANCON_RO2 00567 extern _TXB0CON 00568 extern _TXB0SIDH 00569 extern _TXB0SIDL 00570 extern _TXB0EIDH 00571 extern _TXB0EIDL 00572 extern _TXB0DLC 00573 extern _TXB0D0 00574 extern _TXB0D1 00575 extern _TXB0D2 00576 extern _TXB0D3 00577 extern _TXB0D4 00578 extern _TXB0D5 00579 extern _TXB0D6 00580 extern _TXB0D7 00581 extern _CANSTAT_RO1 00582 extern _CANCON_RO1 00583 extern _RXB1CON 00584 extern _RXB1SIDH 00585 extern _RXB1SIDL 00586 extern _RXB1EIDH 00587 extern _RXB1EIDL 00588 extern _RXB1DLC 00589 extern _RXB1D0 00590 extern _RXB1D1 00591 extern _RXB1D2 00592 extern _RXB1D3 00593 extern _RXB1D4 00594 extern _RXB1D5 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 12 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00595 extern _RXB1D6 00596 extern _RXB1D7 00597 extern _CANSTAT_RO0 00598 extern _CANCON_RO0 00599 extern _RXB0CON 00600 extern _RXB0SIDH 00601 extern _RXB0SIDL 00602 extern _RXB0EIDH 00603 extern _RXB0EIDL 00604 extern _RXB0DLC 00605 extern _RXB0D0 00606 extern _RXB0D1 00607 extern _RXB0D2 00608 extern _RXB0D3 00609 extern _RXB0D4 00610 extern _RXB0D5 00611 extern _RXB0D6 00612 extern _RXB0D7 00613 extern _CANSTAT 00614 extern _CANCON 00615 extern _BRGCON1 00616 extern _BRGCON2 00617 extern _BRGCON3 00618 extern _CIOCON 00619 extern _COMSTAT 00620 extern _RXERRCNT 00621 extern _TXERRCNT 00622 extern _ECANCON 00623 extern _PORTA 00624 extern _PORTB 00625 extern _PORTC 00626 extern _LATA 00627 extern _LATB 00628 extern _LATC 00629 extern _DDRA 00630 extern _TRISA 00631 extern _DDRB 00632 extern _TRISB 00633 extern _DDRC 00634 extern _TRISC 00635 extern _OSCTUNE 00636 extern _PIE1 00637 extern _PIR1 00638 extern _IPR1 00639 extern _PIE2 00640 extern _PIR2 00641 extern _IPR2 00642 extern _PIE3 00643 extern _PIR3 00644 extern _IPR3 00645 extern _EECON1 00646 extern _EECON2 00647 extern _EEDATA 00648 extern _EEADR gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 13 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00649 extern _EEADRH 00650 extern _RCSTA 00651 extern _TXSTA 00652 extern _TXREG 00653 extern _RCREG 00654 extern _SPBRG 00655 extern _SPBRGH 00656 extern _T3CON 00657 extern _TMR3L 00658 extern _TMR3H 00659 extern _BAUDCON 00660 extern _CCP1CON 00661 extern _CCPR1 00662 extern _CCPR1L 00663 extern _CCPR1H 00664 extern _ADCON2 00665 extern _ADCON1 00666 extern _ADCON0 00667 extern _ADRES 00668 extern _ADRESL 00669 extern _ADRESH 00670 extern _SSPCON2 00671 extern _SSPCON1 00672 extern _SSPSTAT 00673 extern _SSPADD 00674 extern _SSPBUF 00675 extern _T2CON 00676 extern _PR2 00677 extern _TMR2 00678 extern _T1CON 00679 extern _TMR1L 00680 extern _TMR1H 00681 extern _RCON 00682 extern _WDTCON 00683 extern _HLVDCON 00684 extern _LVDCON 00685 extern _OSCCON 00686 extern _T0CON 00687 extern _TMR0L 00688 extern _TMR0H 00689 extern _STATUS 00690 extern _FSR2L 00691 extern _FSR2H 00692 extern _PLUSW2 00693 extern _PREINC2 00694 extern _POSTDEC2 00695 extern _POSTINC2 00696 extern _INDF2 00697 extern _BSR 00698 extern _FSR1L 00699 extern _FSR1H 00700 extern _PLUSW1 00701 extern _PREINC1 00702 extern _POSTDEC1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 14 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00703 extern _POSTINC1 00704 extern _INDF1 00705 extern _WREG 00706 extern _FSR0L 00707 extern _FSR0H 00708 extern _PLUSW0 00709 extern _PREINC0 00710 extern _POSTDEC0 00711 extern _POSTINC0 00712 extern _INDF0 00713 extern _INTCON3 00714 extern _INTCON2 00715 extern _INTCON 00716 extern _PROD 00717 extern _PRODL 00718 extern _PRODH 00719 extern _TABLAT 00720 extern _TBLPTR 00721 extern _TBLPTRL 00722 extern _TBLPTRH 00723 extern _TBLPTRU 00724 extern _PC 00725 extern _PCL 00726 extern _PCLATH 00727 extern _PCLATU 00728 extern _STKPTR 00729 extern _TOS 00730 extern _TOSL 00731 extern _TOSH 00732 extern _TOSU 00733 ;-------------------------------------------------------- 00734 ; Equates to used internal registers 00735 ;-------------------------------------------------------- 00000FD8 00736 STATUS equ 0xfd8 00000FE8 00737 WREG equ 0xfe8 00000FE9 00738 FSR0L equ 0xfe9 00000FEA 00739 FSR0H equ 0xfea 00000FE1 00740 FSR1L equ 0xfe1 00000FD9 00741 FSR2L equ 0xfd9 00000FEF 00742 INDF0 equ 0xfef 00000FEE 00743 POSTINC0 equ 0xfee 00000FE5 00744 POSTDEC1 equ 0xfe5 00000FE4 00745 PREINC1 equ 0xfe4 00000FDB 00746 PLUSW2 equ 0xfdb 00000FF3 00747 PRODL equ 0xff3 00000FF4 00748 PRODH equ 0xff4 00749 00750 00751 ; Internal registers 00752 .registers udata_ovr 0x0000 00753 r0x00 res 1 00754 r0x01 res 1 00755 r0x02 res 1 00756 r0x03 res 1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 15 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00757 r0x04 res 1 00758 r0x05 res 1 00759 r0x06 res 1 00760 r0x07 res 1 00761 r0x08 res 1 00762 r0x09 res 1 00763 r0x0a res 1 00764 r0x0b res 1 00765 r0x0c res 1 00766 r0x0d res 1 00767 r0x0e res 1 00768 r0x0f res 1 00769 r0x10 res 1 00770 r0x11 res 1 00771 r0x12 res 1 00772 r0x13 res 1 00773 r0x14 res 1 00774 r0x15 res 1 00775 00776 udata_ecan_0 udata 00777 _ECANSendMessage_pb_1_1 res 27 00778 00779 udata_ecan_1 udata 00780 __ECANRxFilterHitInfo res 1 00781 00782 udata_ecan_2 udata 00783 _ECANReceiveMessage_temp_1_1 res 1 00784 00785 udata_ecan_3 udata 00786 __CANIDToRegs_val_1_1 res 4 00787 00788 ;-------------------------------------------------------- 00789 ; global & static initialisations 00790 ;-------------------------------------------------------- 00791 ; I code from now on! 00792 ; ; Starting pCode block 00793 S_ecan___RegsToCANID code 0000 00794 __RegsToCANID: 00795 ; .line 1149; ecan.c void _RegsToCANID( BYTE* ptr, 0000 CFD9 FFE5 00796 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 00797 MOVFF FSR1L, FSR2L 0008 C000 FFE5 00798 MOVFF r0x00, POSTDEC1 000C C000 FFE5 00799 MOVFF r0x01, POSTDEC1 0010 C000 FFE5 00800 MOVFF r0x02, POSTDEC1 0014 C000 FFE5 00801 MOVFF r0x03, POSTDEC1 0018 C000 FFE5 00802 MOVFF r0x04, POSTDEC1 001C C000 FFE5 00803 MOVFF r0x05, POSTDEC1 0020 C000 FFE5 00804 MOVFF r0x06, POSTDEC1 0024 C000 FFE5 00805 MOVFF r0x07, POSTDEC1 0028 C000 FFE5 00806 MOVFF r0x08, POSTDEC1 002C C000 FFE5 00807 MOVFF r0x09, POSTDEC1 0030 C000 FFE5 00808 MOVFF r0x0a, POSTDEC1 0034 C000 FFE5 00809 MOVFF r0x0b, POSTDEC1 0038 C000 FFE5 00810 MOVFF r0x0c, POSTDEC1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 16 LOC OBJECT CODE LINE SOURCE TEXT VALUE 003C C000 FFE5 00811 MOVFF r0x0d, POSTDEC1 0040 0E02 00812 MOVLW 0x02 0042 CFDB F000 00813 MOVFF PLUSW2, r0x00 0046 0E03 00814 MOVLW 0x03 0048 CFDB F000 00815 MOVFF PLUSW2, r0x01 004C 0E04 00816 MOVLW 0x04 004E CFDB F000 00817 MOVFF PLUSW2, r0x02 0052 0E05 00818 MOVLW 0x05 0054 CFDB F000 00819 MOVFF PLUSW2, r0x03 0058 0E06 00820 MOVLW 0x06 005A CFDB F000 00821 MOVFF PLUSW2, r0x04 005E 0E07 00822 MOVLW 0x07 0060 CFDB F000 00823 MOVFF PLUSW2, r0x05 0064 0E08 00824 MOVLW 0x08 0066 CFDB F000 00825 MOVFF PLUSW2, r0x06 00826 ; .line 1157; ecan.c if ( type == ECAN_MSG_STD ) 006A 5000 00827 MOVF r0x06, W 006C A4D8 00828 BTFSS STATUS, 2 006E D000 00829 BRA _00227_DS_ 00830 ; .line 1160; ecan.c Value->BYTES.BYTE_1 = (*ptr << 3); // Copy SIDH<4:0> to SID<7:3> 0070 C000 FFE9 00831 MOVFF r0x00, FSR0L 0074 C000 FFF3 00832 MOVFF r0x01, PRODL 0078 5000 00833 MOVF r0x02, W 007A EC00 F000 00834 CALL __gptrget1 007E 6E00 00835 MOVWF r0x06 0080 3800 00836 SWAPF r0x06, W 0082 40E8 00837 RRNCF WREG, W 0084 0BF8 00838 ANDLW 0xf8 0086 6E00 00839 MOVWF r0x07 0088 C000 FFE5 00840 MOVFF r0x07, POSTDEC1 008C C000 FFE9 00841 MOVFF r0x03, FSR0L 0090 C000 FFF3 00842 MOVFF r0x04, PRODL 0094 5000 00843 MOVF r0x05, W 0096 EC00 F000 00844 CALL __gptrput1 00845 ; .line 1161; ecan.c Value->BYTES.BYTE_2 = *ptr >> 5; // Copy SIDH<7:5> to SID<10:8> 009A 5000 00846 MOVF r0x03, W 009C 0F01 00847 ADDLW 0x01 009E 6E00 00848 MOVWF r0x08 00A0 0E00 00849 MOVLW 0x00 00A2 2000 00850 ADDWFC r0x04, W 00A4 6E00 00851 MOVWF r0x09 00A6 0E00 00852 MOVLW 0x00 00A8 2000 00853 ADDWFC r0x05, W 00AA 6E00 00854 MOVWF r0x0a 00AC 3800 00855 SWAPF r0x06, W 00AE 40E8 00856 RRNCF WREG, W 00B0 0B07 00857 ANDLW 0x07 00B2 6E00 00858 MOVWF r0x06 00B4 C000 FFE5 00859 MOVFF r0x06, POSTDEC1 00B8 C000 FFE9 00860 MOVFF r0x08, FSR0L 00BC C000 FFF3 00861 MOVFF r0x09, PRODL 00C0 5000 00862 MOVF r0x0a, W 00C2 EC00 F000 00863 CALL __gptrput1 00864 ; .line 1162; ecan.c ptr++; // Point to SIDL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 17 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00C6 2A00 00865 INCF r0x00, F 00C8 B0D8 00866 BTFSC STATUS, 0 00CA 2A00 00867 INCF r0x01, F 00CC B0D8 00868 BTFSC STATUS, 0 00CE 2A00 00869 INCF r0x02, F 00870 ; .line 1163; ecan.c Value->BYTES.BYTE_1 |= (*ptr >> 5); // Copy SIDL<7:6> to SID<2:0> 00D0 C000 FFE9 00871 MOVFF r0x00, FSR0L 00D4 C000 FFF3 00872 MOVFF r0x01, PRODL 00D8 5000 00873 MOVF r0x02, W 00DA EC00 F000 00874 CALL __gptrget1 00DE 6E00 00875 MOVWF r0x06 00E0 3800 00876 SWAPF r0x06, W 00E2 40E8 00877 RRNCF WREG, W 00E4 0B07 00878 ANDLW 0x07 00E6 6E00 00879 MOVWF r0x06 00E8 5000 00880 MOVF r0x06, W 00EA 1200 00881 IORWF r0x07, F 00EC C000 FFE5 00882 MOVFF r0x07, POSTDEC1 00F0 C000 FFE9 00883 MOVFF r0x03, FSR0L 00F4 C000 FFF3 00884 MOVFF r0x04, PRODL 00F8 5000 00885 MOVF r0x05, W 00FA EC00 F000 00886 CALL __gptrput1 00887 ; .line 1164; ecan.c Value->BYTES.BYTE_3 = 0x00; 00FE 5000 00888 MOVF r0x03, W 0100 0F02 00889 ADDLW 0x02 0102 6E00 00890 MOVWF r0x06 0104 0E00 00891 MOVLW 0x00 0106 2000 00892 ADDWFC r0x04, W 0108 6E00 00893 MOVWF r0x07 010A 0E00 00894 MOVLW 0x00 010C 2000 00895 ADDWFC r0x05, W 010E 6E00 00896 MOVWF r0x08 0110 0E00 00897 MOVLW 0x00 0112 6EE5 00898 MOVWF POSTDEC1 0114 C000 FFE9 00899 MOVFF r0x06, FSR0L 0118 C000 FFF3 00900 MOVFF r0x07, PRODL 011C 5000 00901 MOVF r0x08, W 011E EC00 F000 00902 CALL __gptrput1 00903 ; .line 1165; ecan.c Value->BYTES.BYTE_4 = 0x00; 0122 5000 00904 MOVF r0x03, W 0124 0F03 00905 ADDLW 0x03 0126 6E00 00906 MOVWF r0x06 0128 0E00 00907 MOVLW 0x00 012A 2000 00908 ADDWFC r0x04, W 012C 6E00 00909 MOVWF r0x07 012E 0E00 00910 MOVLW 0x00 0130 2000 00911 ADDWFC r0x05, W 0132 6E00 00912 MOVWF r0x08 0134 0E00 00913 MOVLW 0x00 0136 6EE5 00914 MOVWF POSTDEC1 0138 C000 FFE9 00915 MOVFF r0x06, FSR0L 013C C000 FFF3 00916 MOVFF r0x07, PRODL 0140 5000 00917 MOVF r0x08, W 0142 EC00 F000 00918 CALL __gptrput1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 18 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0146 D000 00919 BRA _00229_DS_ 0148 00920 _00227_DS_: 00921 ; .line 1170; ecan.c Value->BYTES.BYTE_3 = (*ptr << 5); // Copy SIDH<2:0> to EID<23:21> 0148 5000 00922 MOVF r0x03, W 014A 0F02 00923 ADDLW 0x02 014C 6E00 00924 MOVWF r0x06 014E 0E00 00925 MOVLW 0x00 0150 2000 00926 ADDWFC r0x04, W 0152 6E00 00927 MOVWF r0x07 0154 0E00 00928 MOVLW 0x00 0156 2000 00929 ADDWFC r0x05, W 0158 6E00 00930 MOVWF r0x08 015A C000 FFE9 00931 MOVFF r0x00, FSR0L 015E C000 FFF3 00932 MOVFF r0x01, PRODL 0162 5000 00933 MOVF r0x02, W 0164 EC00 F000 00934 CALL __gptrget1 0168 6E00 00935 MOVWF r0x09 016A 3800 00936 SWAPF r0x09, W 016C 44E8 00937 RLNCF WREG, W 016E 0BE0 00938 ANDLW 0xe0 0170 6E00 00939 MOVWF r0x0a 0172 C000 FFE5 00940 MOVFF r0x0a, POSTDEC1 0176 C000 FFE9 00941 MOVFF r0x06, FSR0L 017A C000 FFF3 00942 MOVFF r0x07, PRODL 017E 5000 00943 MOVF r0x08, W 0180 EC00 F000 00944 CALL __gptrput1 00945 ; .line 1171; ecan.c Value->BYTES.BYTE_4 = (*ptr >> 3); // Copy SIDH<7:3> to EID<29:25> 0184 5000 00946 MOVF r0x03, W 0186 0F03 00947 ADDLW 0x03 0188 6E00 00948 MOVWF r0x0b 018A 0E00 00949 MOVLW 0x00 018C 2000 00950 ADDWFC r0x04, W 018E 6E00 00951 MOVWF r0x0c 0190 0E00 00952 MOVLW 0x00 0192 2000 00953 ADDWFC r0x05, W 0194 6E00 00954 MOVWF r0x0d 0196 3800 00955 SWAPF r0x09, W 0198 44E8 00956 RLNCF WREG, W 019A 0B1F 00957 ANDLW 0x1f 019C 6E00 00958 MOVWF r0x09 019E C000 FFE5 00959 MOVFF r0x09, POSTDEC1 01A2 C000 FFE9 00960 MOVFF r0x0b, FSR0L 01A6 C000 FFF3 00961 MOVFF r0x0c, PRODL 01AA 5000 00962 MOVF r0x0d, W 01AC EC00 F000 00963 CALL __gptrput1 00964 ; .line 1172; ecan.c ptr++; // Point to SIDL 01B0 2A00 00965 INCF r0x00, F 01B2 B0D8 00966 BTFSC STATUS, 0 01B4 2A00 00967 INCF r0x01, F 01B6 B0D8 00968 BTFSC STATUS, 0 01B8 2A00 00969 INCF r0x02, F 00970 ; ;;!!! pic16_aopOp:1071 called for a spillLocation -- assigning WREG instead --- CHECK 00971 ; .line 1173; ecan.c Value->BYTES.BYTE_3 |= (*ptr & 0x03); // Copy SIDH<1:0> to EID<17:16> 01BA C000 FFE9 00972 MOVFF r0x06, FSR0L gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 19 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01BE C000 FFF3 00973 MOVFF r0x07, PRODL 01C2 5000 00974 MOVF r0x08, W 01C4 EC00 F000 00975 CALL __gptrget1 01C8 6EE8 00976 MOVWF WREG 01CA C000 FFE9 00977 MOVFF r0x00, FSR0L 01CE C000 FFF3 00978 MOVFF r0x01, PRODL 01D2 5000 00979 MOVF r0x02, W 01D4 EC00 F000 00980 CALL __gptrget1 01D8 6E00 00981 MOVWF r0x09 01DA 0E03 00982 MOVLW 0x03 01DC 1400 00983 ANDWF r0x09, W 01DE 6E00 00984 MOVWF r0x0b 01E0 5000 00985 MOVF r0x0b, W 01E2 1200 00986 IORWF r0x0a, F 01E4 C000 FFE5 00987 MOVFF r0x0a, POSTDEC1 01E8 C000 FFE9 00988 MOVFF r0x06, FSR0L 01EC C000 FFF3 00989 MOVFF r0x07, PRODL 01F0 5000 00990 MOVF r0x08, W 01F2 EC00 F000 00991 CALL __gptrput1 00992 ; ;;!!! pic16_aopOp:1071 called for a spillLocation -- assigning WREG instead --- CHECK 00993 ; .line 1175; ecan.c Value->BYTES.BYTE_3 |= ((*ptr & 0xe0) >> 3); // Copy SIDL<7:6> to EID<20:18> 01F6 C000 FFE9 00994 MOVFF r0x06, FSR0L 01FA C000 FFF3 00995 MOVFF r0x07, PRODL 01FE 5000 00996 MOVF r0x08, W 0200 EC00 F000 00997 CALL __gptrget1 0204 6EE8 00998 MOVWF WREG 0206 0EE0 00999 MOVLW 0xe0 0208 1600 01000 ANDWF r0x09, F 020A 3800 01001 SWAPF r0x09, W 020C 44E8 01002 RLNCF WREG, W 020E 0B1F 01003 ANDLW 0x1f 0210 6E00 01004 MOVWF r0x09 0212 5000 01005 MOVF r0x09, W 0214 1200 01006 IORWF r0x0a, F 0216 C000 FFE5 01007 MOVFF r0x0a, POSTDEC1 021A C000 FFE9 01008 MOVFF r0x06, FSR0L 021E C000 FFF3 01009 MOVFF r0x07, PRODL 0222 5000 01010 MOVF r0x08, W 0224 EC00 F000 01011 CALL __gptrput1 01012 ; .line 1176; ecan.c ptr++; // Point to EIDH 0228 2A00 01013 INCF r0x00, F 022A B0D8 01014 BTFSC STATUS, 0 022C 2A00 01015 INCF r0x01, F 022E B0D8 01016 BTFSC STATUS, 0 0230 2A00 01017 INCF r0x02, F 01018 ; .line 1177; ecan.c Value->BYTES.BYTE_2 = *ptr; // Copy EIDH<15:8> to EID<15:8> 0232 5000 01019 MOVF r0x03, W 0234 0F01 01020 ADDLW 0x01 0236 6E00 01021 MOVWF r0x06 0238 0E00 01022 MOVLW 0x00 023A 2000 01023 ADDWFC r0x04, W 023C 6E00 01024 MOVWF r0x07 023E 0E00 01025 MOVLW 0x00 0240 2000 01026 ADDWFC r0x05, W gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 20 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0242 6E00 01027 MOVWF r0x08 0244 C000 FFE9 01028 MOVFF r0x00, FSR0L 0248 C000 FFF3 01029 MOVFF r0x01, PRODL 024C 5000 01030 MOVF r0x02, W 024E EC00 F000 01031 CALL __gptrget1 0252 6E00 01032 MOVWF r0x09 0254 C000 FFE5 01033 MOVFF r0x09, POSTDEC1 0258 C000 FFE9 01034 MOVFF r0x06, FSR0L 025C C000 FFF3 01035 MOVFF r0x07, PRODL 0260 5000 01036 MOVF r0x08, W 0262 EC00 F000 01037 CALL __gptrput1 01038 ; .line 1178; ecan.c ptr++; // Point to EIDL 0266 2A00 01039 INCF r0x00, F 0268 B0D8 01040 BTFSC STATUS, 0 026A 2A00 01041 INCF r0x01, F 026C B0D8 01042 BTFSC STATUS, 0 026E 2A00 01043 INCF r0x02, F 01044 ; .line 1179; ecan.c Value->BYTES.BYTE_1 = *ptr; // Copy EIDH<7:0> to EID<7:0> 0270 C000 FFE9 01045 MOVFF r0x00, FSR0L 0274 C000 FFF3 01046 MOVFF r0x01, PRODL 0278 5000 01047 MOVF r0x02, W 027A EC00 F000 01048 CALL __gptrget1 027E 6E00 01049 MOVWF r0x00 0280 C000 FFE5 01050 MOVFF r0x00, POSTDEC1 0284 C000 FFE9 01051 MOVFF r0x03, FSR0L 0288 C000 FFF3 01052 MOVFF r0x04, PRODL 028C 5000 01053 MOVF r0x05, W 028E EC00 F000 01054 CALL __gptrput1 0292 01055 _00229_DS_: 0292 CFE4 F000 01056 MOVFF PREINC1, r0x0d 0296 CFE4 F000 01057 MOVFF PREINC1, r0x0c 029A CFE4 F000 01058 MOVFF PREINC1, r0x0b 029E CFE4 F000 01059 MOVFF PREINC1, r0x0a 02A2 CFE4 F000 01060 MOVFF PREINC1, r0x09 02A6 CFE4 F000 01061 MOVFF PREINC1, r0x08 02AA CFE4 F000 01062 MOVFF PREINC1, r0x07 02AE CFE4 F000 01063 MOVFF PREINC1, r0x06 02B2 CFE4 F000 01064 MOVFF PREINC1, r0x05 02B6 CFE4 F000 01065 MOVFF PREINC1, r0x04 02BA CFE4 F000 01066 MOVFF PREINC1, r0x03 02BE CFE4 F000 01067 MOVFF PREINC1, r0x02 02C2 CFE4 F000 01068 MOVFF PREINC1, r0x01 02C6 CFE4 F000 01069 MOVFF PREINC1, r0x00 02CA CFE4 FFD9 01070 MOVFF PREINC1, FSR2L 02CE 0012 01071 RETURN 01072 01073 ; ; Starting pCode block 01074 S_ecan___CANIDToRegs code 0000 01075 __CANIDToRegs: 01076 ; .line 1092; ecan.c void _CANIDToRegs(BYTE* ptr, 0000 CFD9 FFE5 01077 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 01078 MOVFF FSR1L, FSR2L 0008 C000 FFE5 01079 MOVFF r0x00, POSTDEC1 000C C000 FFE5 01080 MOVFF r0x01, POSTDEC1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 21 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0010 C000 FFE5 01081 MOVFF r0x02, POSTDEC1 0014 C000 FFE5 01082 MOVFF r0x03, POSTDEC1 0018 C000 FFE5 01083 MOVFF r0x04, POSTDEC1 001C C000 FFE5 01084 MOVFF r0x05, POSTDEC1 0020 C000 FFE5 01085 MOVFF r0x06, POSTDEC1 0024 C000 FFE5 01086 MOVFF r0x07, POSTDEC1 0028 C000 FFE5 01087 MOVFF r0x08, POSTDEC1 002C C000 FFE5 01088 MOVFF r0x09, POSTDEC1 0030 C000 FFE5 01089 MOVFF r0x0a, POSTDEC1 0034 0E02 01090 MOVLW 0x02 0036 CFDB F000 01091 MOVFF PLUSW2, r0x00 003A 0E03 01092 MOVLW 0x03 003C CFDB F000 01093 MOVFF PLUSW2, r0x01 0040 0E04 01094 MOVLW 0x04 0042 CFDB F000 01095 MOVFF PLUSW2, r0x02 0046 0E05 01096 MOVLW 0x05 0048 CFDB F000 01097 MOVFF PLUSW2, __CANIDToRegs_val_1_1 004C 0E06 01098 MOVLW 0x06 004E CFDB F000 01099 MOVFF PLUSW2, (__CANIDToRegs_val_1_1 + 1) 0052 0E07 01100 MOVLW 0x07 0054 CFDB F000 01101 MOVFF PLUSW2, (__CANIDToRegs_val_1_1 + 2) 0058 0E08 01102 MOVLW 0x08 005A CFDB F000 01103 MOVFF PLUSW2, (__CANIDToRegs_val_1_1 + 3) 005E 0E09 01104 MOVLW 0x09 0060 CFDB F000 01105 MOVFF PLUSW2, r0x03 01106 ; .line 1098; ecan.c Value = (CAN_MESSAGE_ID*)&val; 0064 0E00 01107 MOVLW HIGH(__CANIDToRegs_val_1_1) 0066 6E00 01108 MOVWF r0x05 0068 0E00 01109 MOVLW LOW(__CANIDToRegs_val_1_1) 006A 6E00 01110 MOVWF r0x04 006C 0E80 01111 MOVLW 0x80 006E 6E00 01112 MOVWF r0x06 01113 ; .line 1100; ecan.c if ( type == ECAN_MSG_STD ) 0070 5000 01114 MOVF r0x03, W 0072 A4D8 01115 BTFSS STATUS, 2 0074 D000 01116 BRA _00219_DS_ 01117 ; .line 1103; ecan.c *ptr = Value->BYTES.BYTE_1 >> 3; // Copy SID<7:3> to SIDH<4:0> 0076 C000 FFE9 01118 MOVFF r0x04, FSR0L 007A C000 FFF3 01119 MOVFF r0x05, PRODL 007E 5000 01120 MOVF r0x06, W 0080 EC00 F000 01121 CALL __gptrget1 0084 6E00 01122 MOVWF r0x03 0086 3800 01123 SWAPF r0x03, W 0088 44E8 01124 RLNCF WREG, W 008A 0B1F 01125 ANDLW 0x1f 008C 6E00 01126 MOVWF r0x07 008E C000 FFE5 01127 MOVFF r0x07, POSTDEC1 0092 C000 FFE9 01128 MOVFF r0x00, FSR0L 0096 C000 FFF3 01129 MOVFF r0x01, PRODL 009A 5000 01130 MOVF r0x02, W 009C EC00 F000 01131 CALL __gptrput1 01132 ; .line 1104; ecan.c *ptr |= (Value->BYTES.BYTE_2 << 5); // Copy SID<10:8> to SIDH<7:5> 00A0 C000 FFE9 01133 MOVFF r0x00, FSR0L 00A4 C000 FFF3 01134 MOVFF r0x01, PRODL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 22 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00A8 5000 01135 MOVF r0x02, W 00AA EC00 F000 01136 CALL __gptrget1 00AE 6E00 01137 MOVWF r0x07 00B0 5000 01138 MOVF r0x04, W 00B2 0F01 01139 ADDLW 0x01 00B4 6E00 01140 MOVWF r0x08 00B6 0E00 01141 MOVLW 0x00 00B8 2000 01142 ADDWFC r0x05, W 00BA 6E00 01143 MOVWF r0x09 00BC 0E00 01144 MOVLW 0x00 00BE 2000 01145 ADDWFC r0x06, W 00C0 6E00 01146 MOVWF r0x0a 00C2 C000 FFE9 01147 MOVFF r0x08, FSR0L 00C6 C000 FFF3 01148 MOVFF r0x09, PRODL 00CA 5000 01149 MOVF r0x0a, W 00CC EC00 F000 01150 CALL __gptrget1 00D0 6E00 01151 MOVWF r0x08 00D2 3800 01152 SWAPF r0x08, W 00D4 44E8 01153 RLNCF WREG, W 00D6 0BE0 01154 ANDLW 0xe0 00D8 6E00 01155 MOVWF r0x09 00DA 5000 01156 MOVF r0x09, W 00DC 1200 01157 IORWF r0x07, F 00DE C000 FFE5 01158 MOVFF r0x07, POSTDEC1 00E2 C000 FFE9 01159 MOVFF r0x00, FSR0L 00E6 C000 FFF3 01160 MOVFF r0x01, PRODL 00EA 5000 01161 MOVF r0x02, W 00EC EC00 F000 01162 CALL __gptrput1 01163 ; .line 1105; ecan.c ptr++; // Point to SIDL 00F0 2A00 01164 INCF r0x00, F 00F2 B0D8 01165 BTFSC STATUS, 0 00F4 2A00 01166 INCF r0x01, F 00F6 B0D8 01167 BTFSC STATUS, 0 00F8 2A00 01168 INCF r0x02, F 01169 ; .line 1106; ecan.c *ptr = Value->BYTES.BYTE_1 << 5; // Copy SID<2:0> to SIDL<7:5> 00FA 3800 01170 SWAPF r0x03, W 00FC 44E8 01171 RLNCF WREG, W 00FE 0BE0 01172 ANDLW 0xe0 0100 6E00 01173 MOVWF r0x07 0102 C000 FFE5 01174 MOVFF r0x07, POSTDEC1 0106 C000 FFE9 01175 MOVFF r0x00, FSR0L 010A C000 FFF3 01176 MOVFF r0x01, PRODL 010E 5000 01177 MOVF r0x02, W 0110 EC00 F000 01178 CALL __gptrput1 0114 D000 01179 BRA _00221_DS_ 0116 01180 _00219_DS_: 01181 ; .line 1111; ecan.c *ptr = Value->BYTES.BYTE_3 >> 5; // Copy EID<23:21> to SIDH<2:0> 0116 5000 01182 MOVF r0x04, W 0118 0F02 01183 ADDLW 0x02 011A 6E00 01184 MOVWF r0x03 011C 0E00 01185 MOVLW 0x00 011E 2000 01186 ADDWFC r0x05, W 0120 6E00 01187 MOVWF r0x07 0122 0E00 01188 MOVLW 0x00 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 23 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0124 2000 01189 ADDWFC r0x06, W 0126 6E00 01190 MOVWF r0x08 0128 C000 FFE9 01191 MOVFF r0x03, FSR0L 012C C000 FFF3 01192 MOVFF r0x07, PRODL 0130 5000 01193 MOVF r0x08, W 0132 EC00 F000 01194 CALL __gptrget1 0136 6E00 01195 MOVWF r0x03 0138 3800 01196 SWAPF r0x03, W 013A 40E8 01197 RRNCF WREG, W 013C 0B07 01198 ANDLW 0x07 013E 6E00 01199 MOVWF r0x07 0140 C000 FFE5 01200 MOVFF r0x07, POSTDEC1 0144 C000 FFE9 01201 MOVFF r0x00, FSR0L 0148 C000 FFF3 01202 MOVFF r0x01, PRODL 014C 5000 01203 MOVF r0x02, W 014E EC00 F000 01204 CALL __gptrput1 01205 ; .line 1112; ecan.c *ptr |= Value->BYTES.BYTE_4 << 3; // Copy EID<28:24> to SIDH<7:3> 0152 C000 FFE9 01206 MOVFF r0x00, FSR0L 0156 C000 FFF3 01207 MOVFF r0x01, PRODL 015A 5000 01208 MOVF r0x02, W 015C EC00 F000 01209 CALL __gptrget1 0160 6E00 01210 MOVWF r0x07 0162 5000 01211 MOVF r0x04, W 0164 0F03 01212 ADDLW 0x03 0166 6E00 01213 MOVWF r0x08 0168 0E00 01214 MOVLW 0x00 016A 2000 01215 ADDWFC r0x05, W 016C 6E00 01216 MOVWF r0x09 016E 0E00 01217 MOVLW 0x00 0170 2000 01218 ADDWFC r0x06, W 0172 6E00 01219 MOVWF r0x0a 0174 C000 FFE9 01220 MOVFF r0x08, FSR0L 0178 C000 FFF3 01221 MOVFF r0x09, PRODL 017C 5000 01222 MOVF r0x0a, W 017E EC00 F000 01223 CALL __gptrget1 0182 6E00 01224 MOVWF r0x08 0184 3800 01225 SWAPF r0x08, W 0186 40E8 01226 RRNCF WREG, W 0188 0BF8 01227 ANDLW 0xf8 018A 6E00 01228 MOVWF r0x09 018C 5000 01229 MOVF r0x09, W 018E 1200 01230 IORWF r0x07, F 0190 C000 FFE5 01231 MOVFF r0x07, POSTDEC1 0194 C000 FFE9 01232 MOVFF r0x00, FSR0L 0198 C000 FFF3 01233 MOVFF r0x01, PRODL 019C 5000 01234 MOVF r0x02, W 019E EC00 F000 01235 CALL __gptrput1 01236 ; .line 1113; ecan.c ptr++; // Point to SIDL 01A2 2A00 01237 INCF r0x00, F 01A4 B0D8 01238 BTFSC STATUS, 0 01A6 2A00 01239 INCF r0x01, F 01A8 B0D8 01240 BTFSC STATUS, 0 01AA 2A00 01241 INCF r0x02, F 01242 ; .line 1114; ecan.c *ptr = (Value->BYTES.BYTE_3 << 3) & 0xE0; // Copy EID<20:18> to SIDL<7:5> gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 24 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01AC 3800 01243 SWAPF r0x03, W 01AE 40E8 01244 RRNCF WREG, W 01B0 0BF8 01245 ANDLW 0xf8 01B2 6E00 01246 MOVWF r0x07 01B4 0EE0 01247 MOVLW 0xe0 01B6 1600 01248 ANDWF r0x07, F 01B8 C000 FFE5 01249 MOVFF r0x07, POSTDEC1 01BC C000 FFE9 01250 MOVFF r0x00, FSR0L 01C0 C000 FFF3 01251 MOVFF r0x01, PRODL 01C4 5000 01252 MOVF r0x02, W 01C6 EC00 F000 01253 CALL __gptrput1 01254 ; .line 1116; ecan.c *ptr |= 0b00001000; // Set EXIDEN bit to SIDL<3> 01CA 8600 01255 BSF r0x07, 3 01CC C000 FFE5 01256 MOVFF r0x07, POSTDEC1 01D0 C000 FFE9 01257 MOVFF r0x00, FSR0L 01D4 C000 FFF3 01258 MOVFF r0x01, PRODL 01D8 5000 01259 MOVF r0x02, W 01DA EC00 F000 01260 CALL __gptrput1 01261 ; .line 1117; ecan.c *ptr |= Value->BYTES.BYTE_3 & 0x03; // Copy EID<17:16> to SIDL<1:0> 01DE 0E03 01262 MOVLW 0x03 01E0 1600 01263 ANDWF r0x03, F 01E2 5000 01264 MOVF r0x03, W 01E4 1200 01265 IORWF r0x07, F 01E6 C000 FFE5 01266 MOVFF r0x07, POSTDEC1 01EA C000 FFE9 01267 MOVFF r0x00, FSR0L 01EE C000 FFF3 01268 MOVFF r0x01, PRODL 01F2 5000 01269 MOVF r0x02, W 01F4 EC00 F000 01270 CALL __gptrput1 01271 ; .line 1118; ecan.c ptr++; // Point to EIDH 01F8 2A00 01272 INCF r0x00, F 01FA B0D8 01273 BTFSC STATUS, 0 01FC 2A00 01274 INCF r0x01, F 01FE B0D8 01275 BTFSC STATUS, 0 0200 2A00 01276 INCF r0x02, F 01277 ; .line 1119; ecan.c *ptr = Value->BYTES.BYTE_2; // Copy EID<15:8> to EIDH<7:0> 0202 5000 01278 MOVF r0x04, W 0204 0F01 01279 ADDLW 0x01 0206 6E00 01280 MOVWF r0x03 0208 0E00 01281 MOVLW 0x00 020A 2000 01282 ADDWFC r0x05, W 020C 6E00 01283 MOVWF r0x07 020E 0E00 01284 MOVLW 0x00 0210 2000 01285 ADDWFC r0x06, W 0212 6E00 01286 MOVWF r0x08 0214 C000 FFE9 01287 MOVFF r0x03, FSR0L 0218 C000 FFF3 01288 MOVFF r0x07, PRODL 021C 5000 01289 MOVF r0x08, W 021E EC00 F000 01290 CALL __gptrget1 0222 6E00 01291 MOVWF r0x03 0224 C000 FFE5 01292 MOVFF r0x03, POSTDEC1 0228 C000 FFE9 01293 MOVFF r0x00, FSR0L 022C C000 FFF3 01294 MOVFF r0x01, PRODL 0230 5000 01295 MOVF r0x02, W 0232 EC00 F000 01296 CALL __gptrput1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 25 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01297 ; .line 1120; ecan.c ptr++; // Point to EIDL 0236 2A00 01298 INCF r0x00, F 0238 B0D8 01299 BTFSC STATUS, 0 023A 2A00 01300 INCF r0x01, F 023C B0D8 01301 BTFSC STATUS, 0 023E 2A00 01302 INCF r0x02, F 01303 ; .line 1121; ecan.c *ptr = Value->BYTES.BYTE_1; // Copy EID<7:0> to EIDL<7:0> 0240 C000 FFE9 01304 MOVFF r0x04, FSR0L 0244 C000 FFF3 01305 MOVFF r0x05, PRODL 0248 5000 01306 MOVF r0x06, W 024A EC00 F000 01307 CALL __gptrget1 024E 6E00 01308 MOVWF r0x04 0250 C000 FFE5 01309 MOVFF r0x04, POSTDEC1 0254 C000 FFE9 01310 MOVFF r0x00, FSR0L 0258 C000 FFF3 01311 MOVFF r0x01, PRODL 025C 5000 01312 MOVF r0x02, W 025E EC00 F000 01313 CALL __gptrput1 0262 01314 _00221_DS_: 0262 CFE4 F000 01315 MOVFF PREINC1, r0x0a 0266 CFE4 F000 01316 MOVFF PREINC1, r0x09 026A CFE4 F000 01317 MOVFF PREINC1, r0x08 026E CFE4 F000 01318 MOVFF PREINC1, r0x07 0272 CFE4 F000 01319 MOVFF PREINC1, r0x06 0276 CFE4 F000 01320 MOVFF PREINC1, r0x05 027A CFE4 F000 01321 MOVFF PREINC1, r0x04 027E CFE4 F000 01322 MOVFF PREINC1, r0x03 0282 CFE4 F000 01323 MOVFF PREINC1, r0x02 0286 CFE4 F000 01324 MOVFF PREINC1, r0x01 028A CFE4 F000 01325 MOVFF PREINC1, r0x00 028E CFE4 FFD9 01326 MOVFF PREINC1, FSR2L 0292 0012 01327 RETURN 01328 01329 ; ; Starting pCode block 01330 S_ecan__ECANSetOperationMode code 0000 01331 _ECANSetOperationMode: 01332 ; .line 1007; ecan.c void ECANSetOperationMode(ECAN_OP_MODE mode) 0000 CFD9 FFE5 01333 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 01334 MOVFF FSR1L, FSR2L 0008 C000 FFE5 01335 MOVFF r0x00, POSTDEC1 000C C000 FFE5 01336 MOVFF r0x01, POSTDEC1 0010 0E02 01337 MOVLW 0x02 0012 CFDB F000 01338 MOVFF PLUSW2, r0x00 01339 ; .line 1009; ecan.c CANCON &= 0x1F; // clear previous mode 0016 0E1F 01340 MOVLW 0x1f 0018 1600 01341 ANDWF _CANCON, F 01342 ; .line 1010; ecan.c CANCON |= mode; // set new mode 001A 5000 01343 MOVF r0x00, W 001C 1200 01344 IORWF _CANCON, F 001E 01345 _00203_DS_: 01346 ; .line 1012; ecan.c while( ECANGetOperationMode() != mode ); // Wait till desired mode is set. 001E 0EE0 01347 MOVLW 0xe0 0020 1400 01348 ANDWF _CANCON, W 0022 6E00 01349 MOVWF r0x01 0024 5000 01350 MOVF r0x01, W gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 26 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0026 1800 01351 XORWF r0x00, W 0028 E100 01352 BNZ _00203_DS_ 002A CFE4 F000 01353 MOVFF PREINC1, r0x01 002E CFE4 F000 01354 MOVFF PREINC1, r0x00 0032 CFE4 FFD9 01355 MOVFF PREINC1, FSR2L 0036 0012 01356 RETURN 01357 01358 ; ; Starting pCode block 01359 S_ecan__ECANReceiveMessage code 0000 01360 _ECANReceiveMessage: 01361 ; .line 795; ecan.c BOOL ECANReceiveMessage(unsigned long *id, 0000 CFD9 FFE5 01362 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 01363 MOVFF FSR1L, FSR2L 0008 C000 FFE5 01364 MOVFF r0x00, POSTDEC1 000C C000 FFE5 01365 MOVFF r0x01, POSTDEC1 0010 C000 FFE5 01366 MOVFF r0x02, POSTDEC1 0014 C000 FFE5 01367 MOVFF r0x03, POSTDEC1 0018 C000 FFE5 01368 MOVFF r0x04, POSTDEC1 001C C000 FFE5 01369 MOVFF r0x05, POSTDEC1 0020 C000 FFE5 01370 MOVFF r0x06, POSTDEC1 0024 C000 FFE5 01371 MOVFF r0x07, POSTDEC1 0028 C000 FFE5 01372 MOVFF r0x08, POSTDEC1 002C C000 FFE5 01373 MOVFF r0x09, POSTDEC1 0030 C000 FFE5 01374 MOVFF r0x0a, POSTDEC1 0034 C000 FFE5 01375 MOVFF r0x0b, POSTDEC1 0038 C000 FFE5 01376 MOVFF r0x0c, POSTDEC1 003C C000 FFE5 01377 MOVFF r0x0d, POSTDEC1 0040 C000 FFE5 01378 MOVFF r0x0e, POSTDEC1 0044 C000 FFE5 01379 MOVFF r0x0f, POSTDEC1 0048 C000 FFE5 01380 MOVFF r0x10, POSTDEC1 004C C000 FFE5 01381 MOVFF r0x11, POSTDEC1 0050 C000 FFE5 01382 MOVFF r0x12, POSTDEC1 0054 C000 FFE5 01383 MOVFF r0x13, POSTDEC1 0058 C000 FFE5 01384 MOVFF r0x14, POSTDEC1 005C 0E02 01385 MOVLW 0x02 005E CFDB F000 01386 MOVFF PLUSW2, r0x00 0062 0E03 01387 MOVLW 0x03 0064 CFDB F000 01388 MOVFF PLUSW2, r0x01 0068 0E04 01389 MOVLW 0x04 006A CFDB F000 01390 MOVFF PLUSW2, r0x02 006E 0E05 01391 MOVLW 0x05 0070 CFDB F000 01392 MOVFF PLUSW2, r0x03 0074 0E06 01393 MOVLW 0x06 0076 CFDB F000 01394 MOVFF PLUSW2, r0x04 007A 0E07 01395 MOVLW 0x07 007C CFDB F000 01396 MOVFF PLUSW2, r0x05 0080 0E08 01397 MOVLW 0x08 0082 CFDB F000 01398 MOVFF PLUSW2, r0x06 0086 0E09 01399 MOVLW 0x09 0088 CFDB F000 01400 MOVFF PLUSW2, r0x07 008C 0E0A 01401 MOVLW 0x0a 008E CFDB F000 01402 MOVFF PLUSW2, r0x08 0092 0E0B 01403 MOVLW 0x0b 0094 CFDB F000 01404 MOVFF PLUSW2, r0x09 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 27 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0098 0E0C 01405 MOVLW 0x0c 009A CFDB F000 01406 MOVFF PLUSW2, r0x0a 009E 0E0D 01407 MOVLW 0x0d 00A0 CFDB F000 01408 MOVFF PLUSW2, r0x0b 00A4 0000 01409 BANKSEL __ECANRxFilterHitInfo 01410 ; .line 808; ecan.c _ECANRxFilterHitInfo.Val = 0; 00A6 6B00 01411 CLRF __ECANRxFilterHitInfo, B 01412 ; .line 820; ecan.c if ( RXB0CON_RXFUL ) 00A8 AE00 01413 BTFSS _RXB0CONbits, 7 00AA D000 01414 BRA _00163_DS_ 01415 ; .line 823; ecan.c PIR3_RXB0IF = 0; 00AC 9000 01416 BCF _PIR3bits, 0 01417 ; .line 826; ecan.c if ( COMSTAT_RXB0OVFL ) 00AE AE00 01418 BTFSS _COMSTATbits, 7 00B0 D000 01419 BRA _00154_DS_ 01420 ; .line 828; ecan.c *msgFlags |= ECAN_RX_OVERFLOW; 00B2 C000 FFE9 01421 MOVFF r0x09, FSR0L 00B6 C000 FFF3 01422 MOVFF r0x0a, PRODL 00BA 5000 01423 MOVF r0x0b, W 00BC EC00 F000 01424 CALL __gptrget1 00C0 6E00 01425 MOVWF r0x0c 00C2 8600 01426 BSF r0x0c, 3 00C4 C000 FFE5 01427 MOVFF r0x0c, POSTDEC1 00C8 C000 FFE9 01428 MOVFF r0x09, FSR0L 00CC C000 FFF3 01429 MOVFF r0x0a, PRODL 00D0 5000 01430 MOVF r0x0b, W 00D2 EC00 F000 01431 CALL __gptrput1 01432 ; .line 829; ecan.c COMSTAT_RXB0OVFL = 0; 00D6 9E00 01433 BCF _COMSTATbits, 7 00D8 01434 _00154_DS_: 01435 ; .line 832; ecan.c _ECANRxFilterHitInfo.bits.b0 = RXB0CON_FILHIT0; 00D8 6A00 01436 CLRF r0x0c 00DA B000 01437 BTFSC _RXB0CONbits, 0 00DC 2A00 01438 INCF r0x0c, F 00DE 5000 01439 MOVF r0x0c, W 00E0 0B01 01440 ANDLW 0x01 00E2 6EF4 01441 MOVWF PRODH 00E4 0000 01442 BANKSEL __ECANRxFilterHitInfo 00E6 5100 01443 MOVF __ECANRxFilterHitInfo, W, B 00E8 0BFE 01444 ANDLW 0xfe 00EA 10F4 01445 IORWF PRODH, W 00EC 0000 01446 BANKSEL __ECANRxFilterHitInfo 00EE 6F00 01447 MOVWF __ECANRxFilterHitInfo, B 01448 ; .line 834; ecan.c ptr = (BYTE*)&RXB0CON; 00F0 0E00 01449 MOVLW HIGH(_RXB0CON) 00F2 6E00 01450 MOVWF r0x0d 00F4 0E00 01451 MOVLW LOW(_RXB0CON) 00F6 6E00 01452 MOVWF r0x0c 00F8 0E80 01453 MOVLW 0x80 00FA 6E00 01454 MOVWF r0x0e 00FC D000 01455 BRA _00165_DS_ 00FE 01456 _00163_DS_: 00FE 0000 01457 BANKSEL _RXB1CONbits 01458 ; .line 837; ecan.c else if ( RXB1CON_RXFUL ) gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 28 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0100 AF00 01459 BTFSS _RXB1CONbits, 7, B 0102 D000 01460 BRA _00160_DS_ 01461 ; .line 840; ecan.c PIR3_RXB1IF = 0; 0104 9200 01462 BCF _PIR3bits, 1 01463 ; .line 843; ecan.c if ( COMSTAT_RXB1OVFL ) 0106 AC00 01464 BTFSS _COMSTATbits, 6 0108 D000 01465 BRA _00156_DS_ 01466 ; .line 845; ecan.c *msgFlags |= ECAN_RX_OVERFLOW; 010A C000 FFE9 01467 MOVFF r0x09, FSR0L 010E C000 FFF3 01468 MOVFF r0x0a, PRODL 0112 5000 01469 MOVF r0x0b, W 0114 EC00 F000 01470 CALL __gptrget1 0118 6E00 01471 MOVWF r0x0f 011A 8600 01472 BSF r0x0f, 3 011C C000 FFE5 01473 MOVFF r0x0f, POSTDEC1 0120 C000 FFE9 01474 MOVFF r0x09, FSR0L 0124 C000 FFF3 01475 MOVFF r0x0a, PRODL 0128 5000 01476 MOVF r0x0b, W 012A EC00 F000 01477 CALL __gptrput1 01478 ; .line 846; ecan.c COMSTAT_RXB1OVFL = 0; 012E 9C00 01479 BCF _COMSTATbits, 6 0130 01480 _00156_DS_: 01481 ; .line 849; ecan.c _ECANRxFilterHitInfo.Val = RXB1CON & 0x07; 0130 0E07 01482 MOVLW 0x07 0132 0000 01483 BANKSEL _RXB1CON 0134 1500 01484 ANDWF _RXB1CON, W, B 0136 6E00 01485 MOVWF r0x0f 0138 5000 01486 MOVF r0x0f, W 013A 0000 01487 BANKSEL __ECANRxFilterHitInfo 013C 6F00 01488 MOVWF __ECANRxFilterHitInfo, B 01489 ; ;;!!! pic16_aopOp:1071 called for a spillLocation -- assigning WREG instead --- CHECK 01490 ; .line 851; ecan.c if ( _ECANRxFilterHitInfo.Val < 0x02 ) 013E C000 FFE8 01491 MOVFF __ECANRxFilterHitInfo, WREG 0142 0E02 01492 MOVLW 0x02 0144 5C00 01493 SUBWF r0x0f, W 0146 E200 01494 BC _00158_DS_ 01495 ; .line 852; ecan.c *msgFlags |= ECAN_RX_DBL_BUFFERED; 0148 C000 FFE9 01496 MOVFF r0x09, FSR0L 014C C000 FFF3 01497 MOVFF r0x0a, PRODL 0150 5000 01498 MOVF r0x0b, W 0152 EC00 F000 01499 CALL __gptrget1 0156 6E00 01500 MOVWF r0x0f 0158 8E00 01501 BSF r0x0f, 7 015A C000 FFE5 01502 MOVFF r0x0f, POSTDEC1 015E C000 FFE9 01503 MOVFF r0x09, FSR0L 0162 C000 FFF3 01504 MOVFF r0x0a, PRODL 0166 5000 01505 MOVF r0x0b, W 0168 EC00 F000 01506 CALL __gptrput1 016C 01507 _00158_DS_: 01508 ; .line 855; ecan.c ptr = (BYTE*)&RXB1CON; 016C 0E00 01509 MOVLW HIGH(_RXB1CON) 016E 6E00 01510 MOVWF r0x0d 0170 0E00 01511 MOVLW LOW(_RXB1CON) 0172 6E00 01512 MOVWF r0x0c gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 29 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0174 0E80 01513 MOVLW 0x80 0176 6E00 01514 MOVWF r0x0e 0178 D000 01515 BRA _00165_DS_ 017A 01516 _00160_DS_: 01517 ; .line 858; ecan.c return FALSE; 017A 6AE8 01518 CLRF WREG 017C D000 01519 BRA _00177_DS_ 017E 01520 _00165_DS_: 01521 ; .line 938; ecan.c savedPtr = ptr; 017E C000 F000 01522 MOVFF r0x0c, r0x0f 0182 C000 F000 01523 MOVFF r0x0d, r0x10 0186 C000 F000 01524 MOVFF r0x0e, r0x11 01525 ; .line 939; ecan.c *msgFlags = 0; 018A 0E00 01526 MOVLW 0x00 018C 6EE5 01527 MOVWF POSTDEC1 018E C000 FFE9 01528 MOVFF r0x09, FSR0L 0192 C000 FFF3 01529 MOVFF r0x0a, PRODL 0196 5000 01530 MOVF r0x0b, W 0198 EC00 F000 01531 CALL __gptrput1 01532 ; .line 942; ecan.c temp.Val = *(ptr+5); 019C 5000 01533 MOVF r0x0c, W 019E 0F05 01534 ADDLW 0x05 01A0 6E00 01535 MOVWF r0x12 01A2 0E00 01536 MOVLW 0x00 01A4 2000 01537 ADDWFC r0x0d, W 01A6 6E00 01538 MOVWF r0x13 01A8 0E00 01539 MOVLW 0x00 01AA 2000 01540 ADDWFC r0x0e, W 01AC 6E00 01541 MOVWF r0x14 01AE C000 FFE9 01542 MOVFF r0x12, FSR0L 01B2 C000 FFF3 01543 MOVFF r0x13, PRODL 01B6 5000 01544 MOVF r0x14, W 01B8 EC00 F000 01545 CALL __gptrget1 01BC 6E00 01546 MOVWF r0x12 01BE 5000 01547 MOVF r0x12, W 01C0 0000 01548 BANKSEL _ECANReceiveMessage_temp_1_1 01C2 6F00 01549 MOVWF _ECANReceiveMessage_temp_1_1, B 01550 ; ;;!!! pic16_aopOp:1071 called for a spillLocation -- assigning WREG instead --- CHECK 01551 ; .line 943; ecan.c *data1Len = temp.Val & 0b00001111; 01C4 C000 FFE8 01552 MOVFF _ECANReceiveMessage_temp_1_1, WREG 01C8 0E0F 01553 MOVLW 0x0f 01CA 1600 01554 ANDWF r0x12, F 01CC C000 FFE5 01555 MOVFF r0x12, POSTDEC1 01D0 C000 FFE9 01556 MOVFF r0x06, FSR0L 01D4 C000 FFF3 01557 MOVFF r0x07, PRODL 01D8 5000 01558 MOVF r0x08, W 01DA EC00 F000 01559 CALL __gptrput1 01DE 0000 01560 BANKSEL _ECANReceiveMessage_temp_1_1 01561 ; .line 946; ecan.c if ( temp.bits.b6 ) 01E0 AD00 01562 BTFSS _ECANReceiveMessage_temp_1_1, 6, B 01E2 D000 01563 BRA _00167_DS_ 01564 ; .line 947; ecan.c *msgFlags |= ECAN_RX_RTR_FRAME; 01E4 C000 FFE9 01565 MOVFF r0x09, FSR0L 01E8 C000 FFF3 01566 MOVFF r0x0a, PRODL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 30 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01EC 5000 01567 MOVF r0x0b, W 01EE EC00 F000 01568 CALL __gptrget1 01F2 6E00 01569 MOVWF r0x12 01F4 8C00 01570 BSF r0x12, 6 01F6 C000 FFE5 01571 MOVFF r0x12, POSTDEC1 01FA C000 FFE9 01572 MOVFF r0x09, FSR0L 01FE C000 FFF3 01573 MOVFF r0x0a, PRODL 0202 5000 01574 MOVF r0x0b, W 0204 EC00 F000 01575 CALL __gptrput1 0208 01576 _00167_DS_: 01577 ; .line 950; ecan.c temp.Val = *(ptr+2); 0208 5000 01578 MOVF r0x0c, W 020A 0F02 01579 ADDLW 0x02 020C 6E00 01580 MOVWF r0x12 020E 0E00 01581 MOVLW 0x00 0210 2000 01582 ADDWFC r0x0d, W 0212 6E00 01583 MOVWF r0x13 0214 0E00 01584 MOVLW 0x00 0216 2000 01585 ADDWFC r0x0e, W 0218 6E00 01586 MOVWF r0x14 021A C000 FFE9 01587 MOVFF r0x12, FSR0L 021E C000 FFF3 01588 MOVFF r0x13, PRODL 0222 5000 01589 MOVF r0x14, W 0224 EC00 F000 01590 CALL __gptrget1 0228 6E00 01591 MOVWF r0x12 022A 5000 01592 MOVF r0x12, W 022C 0000 01593 BANKSEL _ECANReceiveMessage_temp_1_1 022E 6F00 01594 MOVWF _ECANReceiveMessage_temp_1_1, B 0230 0000 01595 BANKSEL _ECANReceiveMessage_temp_1_1 01596 ; .line 951; ecan.c if ( temp.bits.b3 ) 0232 A700 01597 BTFSS _ECANReceiveMessage_temp_1_1, 3, B 0234 D000 01598 BRA _00169_DS_ 01599 ; .line 953; ecan.c *msgFlags |= ECAN_RX_XTD_FRAME; 0236 C000 FFE9 01600 MOVFF r0x09, FSR0L 023A C000 FFF3 01601 MOVFF r0x0a, PRODL 023E 5000 01602 MOVF r0x0b, W 0240 EC00 F000 01603 CALL __gptrget1 0244 6E00 01604 MOVWF r0x12 0246 8A00 01605 BSF r0x12, 5 0248 C000 FFE5 01606 MOVFF r0x12, POSTDEC1 024C C000 FFE9 01607 MOVFF r0x09, FSR0L 0250 C000 FFF3 01608 MOVFF r0x0a, PRODL 0254 5000 01609 MOVF r0x0b, W 0256 EC00 F000 01610 CALL __gptrput1 01611 ; .line 954; ecan.c temp.Val = ECAN_MSG_XTD; 025A 0E01 01612 MOVLW 0x01 025C 0000 01613 BANKSEL _ECANReceiveMessage_temp_1_1 025E 6F00 01614 MOVWF _ECANReceiveMessage_temp_1_1, B 0260 D000 01615 BRA _00170_DS_ 0262 01616 _00169_DS_: 0262 0000 01617 BANKSEL _ECANReceiveMessage_temp_1_1 01618 ; .line 957; ecan.c temp.Val = ECAN_MSG_STD; 0264 6B00 01619 CLRF _ECANReceiveMessage_temp_1_1, B 0266 01620 _00170_DS_: gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 31 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01621 ; .line 959; ecan.c _RegsToCANID(ptr+1, id, temp.Val); 0266 5000 01622 MOVF r0x0c, W 0268 0F01 01623 ADDLW 0x01 026A 6E00 01624 MOVWF r0x12 026C 0E00 01625 MOVLW 0x00 026E 2000 01626 ADDWFC r0x0d, W 0270 6E00 01627 MOVWF r0x13 0272 0E00 01628 MOVLW 0x00 0274 2000 01629 ADDWFC r0x0e, W 0276 6E00 01630 MOVWF r0x14 0278 0000 01631 BANKSEL _ECANReceiveMessage_temp_1_1 027A 5100 01632 MOVF _ECANReceiveMessage_temp_1_1, W, B 027C 6EE5 01633 MOVWF POSTDEC1 027E 5000 01634 MOVF r0x02, W 0280 6EE5 01635 MOVWF POSTDEC1 0282 5000 01636 MOVF r0x01, W 0284 6EE5 01637 MOVWF POSTDEC1 0286 5000 01638 MOVF r0x00, W 0288 6EE5 01639 MOVWF POSTDEC1 028A 5000 01640 MOVF r0x14, W 028C 6EE5 01641 MOVWF POSTDEC1 028E 5000 01642 MOVF r0x13, W 0290 6EE5 01643 MOVWF POSTDEC1 0292 5000 01644 MOVF r0x12, W 0294 6EE5 01645 MOVWF POSTDEC1 0296 EC00 F000 01646 CALL __RegsToCANID 029A 0E07 01647 MOVLW 0x07 029C 26E1 01648 ADDWF FSR1L, F 01649 ; .line 962; ecan.c ptr += 6; 029E 0E06 01650 MOVLW 0x06 02A0 2600 01651 ADDWF r0x0c, F 02A2 0E00 01652 MOVLW 0x00 02A4 2200 01653 ADDWFC r0x0d, F 02A6 0E00 01654 MOVLW 0x00 02A8 2200 01655 ADDWFC r0x0e, F 01656 ; .line 963; ecan.c temp.Val = *data1Len; 02AA C000 FFE9 01657 MOVFF r0x06, FSR0L 02AE C000 FFF3 01658 MOVFF r0x07, PRODL 02B2 5000 01659 MOVF r0x08, W 02B4 EC00 F000 01660 CALL __gptrget1 02B8 6E00 01661 MOVWF r0x06 02BA 5000 01662 MOVF r0x06, W 02BC 0000 01663 BANKSEL _ECANReceiveMessage_temp_1_1 02BE 6F00 01664 MOVWF _ECANReceiveMessage_temp_1_1, B 01665 ; .line 964; ecan.c for ( i = 0; i < temp.Val; i++ ) 02C0 C000 F000 01666 MOVFF r0x0c, r0x00 02C4 C000 F000 01667 MOVFF r0x0d, r0x01 02C8 C000 F000 01668 MOVFF r0x0e, r0x02 02CC 6A00 01669 CLRF r0x06 02CE 01670 _00173_DS_: 02CE C000 F000 01671 MOVFF r0x06, r0x07 02D2 6A00 01672 CLRF r0x08 02D4 BE00 01673 BTFSC r0x06, 7 02D6 6800 01674 SETF r0x08 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 32 LOC OBJECT CODE LINE SOURCE TEXT VALUE 02D8 C000 F000 01675 MOVFF _ECANReceiveMessage_temp_1_1, r0x0c 02DC 6A00 01676 CLRF r0x0d 02DE 5000 01677 MOVF r0x08, W 02E0 0F80 01678 ADDLW 0x80 02E2 6EF3 01679 MOVWF PRODL 02E4 5000 01680 MOVF r0x0d, W 02E6 0F80 01681 ADDLW 0x80 02E8 5CF3 01682 SUBWF PRODL, W 02EA E100 01683 BNZ _00198_DS_ 02EC 5000 01684 MOVF r0x0c, W 02EE 5C00 01685 SUBWF r0x07, W 02F0 01686 _00198_DS_: 02F0 E200 01687 BC _00176_DS_ 01688 ; .line 965; ecan.c *data1++ = *ptr++; 02F2 C000 FFE9 01689 MOVFF r0x00, FSR0L 02F6 C000 FFF3 01690 MOVFF r0x01, PRODL 02FA 5000 01691 MOVF r0x02, W 02FC EC00 F000 01692 CALL __gptrget1 0300 6E00 01693 MOVWF r0x07 0302 2A00 01694 INCF r0x00, F 0304 B0D8 01695 BTFSC STATUS, 0 0306 2A00 01696 INCF r0x01, F 0308 B0D8 01697 BTFSC STATUS, 0 030A 2A00 01698 INCF r0x02, F 030C C000 FFE5 01699 MOVFF r0x07, POSTDEC1 0310 C000 FFE9 01700 MOVFF r0x03, FSR0L 0314 C000 FFF3 01701 MOVFF r0x04, PRODL 0318 5000 01702 MOVF r0x05, W 031A EC00 F000 01703 CALL __gptrput1 031E 2A00 01704 INCF r0x03, F 0320 B0D8 01705 BTFSC STATUS, 0 0322 2A00 01706 INCF r0x04, F 0324 B0D8 01707 BTFSC STATUS, 0 0326 2A00 01708 INCF r0x05, F 01709 ; .line 964; ecan.c for ( i = 0; i < temp.Val; i++ ) 0328 2A00 01710 INCF r0x06, F 032A D000 01711 BRA _00173_DS_ 032C 01712 _00176_DS_: 01713 ; .line 968; ecan.c if ( PIR3_IRXIF ) 032C AE00 01714 BTFSS _PIR3bits, 7 032E D000 01715 BRA _00172_DS_ 01716 ; .line 970; ecan.c *msgFlags |= ECAN_RX_INVALID_MSG; 0330 C000 FFE9 01717 MOVFF r0x09, FSR0L 0334 C000 FFF3 01718 MOVFF r0x0a, PRODL 0338 5000 01719 MOVF r0x0b, W 033A EC00 F000 01720 CALL __gptrget1 033E 6E00 01721 MOVWF r0x00 0340 8800 01722 BSF r0x00, 4 0342 C000 FFE5 01723 MOVFF r0x00, POSTDEC1 0346 C000 FFE9 01724 MOVFF r0x09, FSR0L 034A C000 FFF3 01725 MOVFF r0x0a, PRODL 034E 5000 01726 MOVF r0x0b, W 0350 EC00 F000 01727 CALL __gptrput1 01728 ; .line 971; ecan.c PIR3_IRXIF = 0; gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 33 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0354 9E00 01729 BCF _PIR3bits, 7 0356 01730 _00172_DS_: 01731 ; .line 975; ecan.c *savedPtr &= 0x7f; 0356 C000 FFE9 01732 MOVFF r0x0f, FSR0L 035A C000 FFF3 01733 MOVFF r0x10, PRODL 035E 5000 01734 MOVF r0x11, W 0360 EC00 F000 01735 CALL __gptrget1 0364 6E00 01736 MOVWF r0x00 0366 9E00 01737 BCF r0x00, 7 0368 C000 FFE5 01738 MOVFF r0x00, POSTDEC1 036C C000 FFE9 01739 MOVFF r0x0f, FSR0L 0370 C000 FFF3 01740 MOVFF r0x10, PRODL 0374 5000 01741 MOVF r0x11, W 0376 EC00 F000 01742 CALL __gptrput1 01743 ; .line 986; ecan.c return TRUE; 037A 0E01 01744 MOVLW 0x01 037C 01745 _00177_DS_: 037C CFE4 F000 01746 MOVFF PREINC1, r0x14 0380 CFE4 F000 01747 MOVFF PREINC1, r0x13 0384 CFE4 F000 01748 MOVFF PREINC1, r0x12 0388 CFE4 F000 01749 MOVFF PREINC1, r0x11 038C CFE4 F000 01750 MOVFF PREINC1, r0x10 0390 CFE4 F000 01751 MOVFF PREINC1, r0x0f 0394 CFE4 F000 01752 MOVFF PREINC1, r0x0e 0398 CFE4 F000 01753 MOVFF PREINC1, r0x0d 039C CFE4 F000 01754 MOVFF PREINC1, r0x0c 03A0 CFE4 F000 01755 MOVFF PREINC1, r0x0b 03A4 CFE4 F000 01756 MOVFF PREINC1, r0x0a 03A8 CFE4 F000 01757 MOVFF PREINC1, r0x09 03AC CFE4 F000 01758 MOVFF PREINC1, r0x08 03B0 CFE4 F000 01759 MOVFF PREINC1, r0x07 03B4 CFE4 F000 01760 MOVFF PREINC1, r0x06 03B8 CFE4 F000 01761 MOVFF PREINC1, r0x05 03BC CFE4 F000 01762 MOVFF PREINC1, r0x04 03C0 CFE4 F000 01763 MOVFF PREINC1, r0x03 03C4 CFE4 F000 01764 MOVFF PREINC1, r0x02 03C8 CFE4 F000 01765 MOVFF PREINC1, r0x01 03CC CFE4 F000 01766 MOVFF PREINC1, r0x00 03D0 CFE4 FFD9 01767 MOVFF PREINC1, FSR2L 03D4 0012 01768 RETURN 01769 01770 ; ; Starting pCode block 01771 S_ecan__ECANSendMessage code 0000 01772 _ECANSendMessage: 01773 ; .line 609; ecan.c BOOL ECANSendMessage( unsigned long id, 0000 CFD9 FFE5 01774 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 01775 MOVFF FSR1L, FSR2L 0008 C000 FFE5 01776 MOVFF r0x00, POSTDEC1 000C C000 FFE5 01777 MOVFF r0x01, POSTDEC1 0010 C000 FFE5 01778 MOVFF r0x02, POSTDEC1 0014 C000 FFE5 01779 MOVFF r0x03, POSTDEC1 0018 C000 FFE5 01780 MOVFF r0x04, POSTDEC1 001C C000 FFE5 01781 MOVFF r0x05, POSTDEC1 0020 C000 FFE5 01782 MOVFF r0x06, POSTDEC1 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 34 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0024 C000 FFE5 01783 MOVFF r0x07, POSTDEC1 0028 C000 FFE5 01784 MOVFF r0x08, POSTDEC1 002C C000 FFE5 01785 MOVFF r0x09, POSTDEC1 0030 C000 FFE5 01786 MOVFF r0x0a, POSTDEC1 0034 C000 FFE5 01787 MOVFF r0x0b, POSTDEC1 0038 C000 FFE5 01788 MOVFF r0x0c, POSTDEC1 003C C000 FFE5 01789 MOVFF r0x0d, POSTDEC1 0040 C000 FFE5 01790 MOVFF r0x0e, POSTDEC1 0044 C000 FFE5 01791 MOVFF r0x0f, POSTDEC1 0048 C000 FFE5 01792 MOVFF r0x10, POSTDEC1 004C C000 FFE5 01793 MOVFF r0x11, POSTDEC1 0050 C000 FFE5 01794 MOVFF r0x12, POSTDEC1 0054 C000 FFE5 01795 MOVFF r0x13, POSTDEC1 0058 C000 FFE5 01796 MOVFF r0x14, POSTDEC1 005C C000 FFE5 01797 MOVFF r0x15, POSTDEC1 0060 0E02 01798 MOVLW 0x02 0062 CFDB F000 01799 MOVFF PLUSW2, r0x00 0066 0E03 01800 MOVLW 0x03 0068 CFDB F000 01801 MOVFF PLUSW2, r0x01 006C 0E04 01802 MOVLW 0x04 006E CFDB F000 01803 MOVFF PLUSW2, r0x02 0072 0E05 01804 MOVLW 0x05 0074 CFDB F000 01805 MOVFF PLUSW2, r0x03 0078 0E06 01806 MOVLW 0x06 007A CFDB F000 01807 MOVFF PLUSW2, r0x04 007E 0E07 01808 MOVLW 0x07 0080 CFDB F000 01809 MOVFF PLUSW2, r0x05 0084 0E08 01810 MOVLW 0x08 0086 CFDB F000 01811 MOVFF PLUSW2, r0x06 008A 0E09 01812 MOVLW 0x09 008C CFDB F000 01813 MOVFF PLUSW2, r0x07 0090 0E0A 01814 MOVLW 0x0a 0092 CFDB F000 01815 MOVFF PLUSW2, r0x08 01816 ; .line 637; ecan.c pb[0]=(BYTE*)&TXB0CON; 0096 0E00 01817 MOVLW HIGH(_TXB0CON) 0098 6E00 01818 MOVWF r0x0a 009A 0E00 01819 MOVLW LOW(_TXB0CON) 009C 6E00 01820 MOVWF r0x09 009E 0E80 01821 MOVLW 0x80 00A0 6E00 01822 MOVWF r0x0b 00A2 5000 01823 MOVF r0x09, W 00A4 0000 01824 BANKSEL _ECANSendMessage_pb_1_1 00A6 6F00 01825 MOVWF _ECANSendMessage_pb_1_1, B 00A8 5000 01826 MOVF r0x0a, W 00AA 0000 01827 BANKSEL (_ECANSendMessage_pb_1_1 + 1) 00AC 6F00 01828 MOVWF (_ECANSendMessage_pb_1_1 + 1), B 00AE 5000 01829 MOVF r0x0b, W 00B0 0000 01830 BANKSEL (_ECANSendMessage_pb_1_1 + 2) 00B2 6F00 01831 MOVWF (_ECANSendMessage_pb_1_1 + 2), B 01832 ; .line 638; ecan.c pb[1]=(BYTE*)&TXB1CON; 00B4 0E00 01833 MOVLW HIGH(_TXB1CON) 00B6 6E00 01834 MOVWF r0x0a 00B8 0E00 01835 MOVLW LOW(_TXB1CON) 00BA 6E00 01836 MOVWF r0x09 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 35 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00BC 0E80 01837 MOVLW 0x80 00BE 6E00 01838 MOVWF r0x0b 00C0 5000 01839 MOVF r0x09, W 00C2 0000 01840 BANKSEL (_ECANSendMessage_pb_1_1 + 3) 00C4 6F00 01841 MOVWF (_ECANSendMessage_pb_1_1 + 3), B 00C6 5000 01842 MOVF r0x0a, W 00C8 0000 01843 BANKSEL (_ECANSendMessage_pb_1_1 + 4) 00CA 6F00 01844 MOVWF (_ECANSendMessage_pb_1_1 + 4), B 00CC 5000 01845 MOVF r0x0b, W 00CE 0000 01846 BANKSEL (_ECANSendMessage_pb_1_1 + 5) 00D0 6F00 01847 MOVWF (_ECANSendMessage_pb_1_1 + 5), B 01848 ; .line 639; ecan.c pb[2]=(BYTE*)&TXB2CON; 00D2 0E00 01849 MOVLW HIGH(_TXB2CON) 00D4 6E00 01850 MOVWF r0x0a 00D6 0E00 01851 MOVLW LOW(_TXB2CON) 00D8 6E00 01852 MOVWF r0x09 00DA 0E80 01853 MOVLW 0x80 00DC 6E00 01854 MOVWF r0x0b 00DE 5000 01855 MOVF r0x09, W 00E0 0000 01856 BANKSEL (_ECANSendMessage_pb_1_1 + 6) 00E2 6F00 01857 MOVWF (_ECANSendMessage_pb_1_1 + 6), B 00E4 5000 01858 MOVF r0x0a, W 00E6 0000 01859 BANKSEL (_ECANSendMessage_pb_1_1 + 7) 00E8 6F00 01860 MOVWF (_ECANSendMessage_pb_1_1 + 7), B 00EA 5000 01861 MOVF r0x0b, W 00EC 0000 01862 BANKSEL (_ECANSendMessage_pb_1_1 + 8) 00EE 6F00 01863 MOVWF (_ECANSendMessage_pb_1_1 + 8), B 01864 ; .line 669; ecan.c for ( i = 0; i < buffers; i++ ) 00F0 6A00 01865 CLRF r0x09 00F2 6A00 01866 CLRF r0x0a 00F4 01867 _00124_DS_: 00F4 0E02 01868 MOVLW 0x02 00F6 5C00 01869 SUBWF r0x09, W 00F8 B0D8 01870 BTFSC STATUS, 0 00FA D000 01871 BRA _00127_DS_ 01872 ; .line 689; ecan.c ptr = pb[i]; 00FC 0E00 01873 MOVLW LOW(_ECANSendMessage_pb_1_1) 00FE 2400 01874 ADDWF r0x0a, W 0100 6E00 01875 MOVWF r0x0b 0102 6A00 01876 CLRF r0x0c 0104 0E00 01877 MOVLW HIGH(_ECANSendMessage_pb_1_1) 0106 2200 01878 ADDWFC r0x0c, F 0108 C000 FFE9 01879 MOVFF r0x0b, FSR0L 010C C000 FFEA 01880 MOVFF r0x0c, FSR0H 0110 CFEE F000 01881 MOVFF POSTINC0, r0x0b 0114 CFEE F000 01882 MOVFF POSTINC0, r0x0c 0118 CFEF F000 01883 MOVFF INDF0, r0x0d 01884 ; .line 690; ecan.c tempPtr = ptr; 011C C000 F000 01885 MOVFF r0x0b, r0x0e 0120 C000 F000 01886 MOVFF r0x0c, r0x0f 0124 C000 F000 01887 MOVFF r0x0d, r0x10 01888 ; .line 716; ecan.c if ( !(*ptr & 0x08) ) 0128 C000 FFE9 01889 MOVFF r0x0b, FSR0L 012C C000 FFF3 01890 MOVFF r0x0c, PRODL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 36 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0130 5000 01891 MOVF r0x0d, W 0132 EC00 F000 01892 CALL __gptrget1 0136 6E00 01893 MOVWF r0x11 0138 B600 01894 BTFSC r0x11, 3 013A D000 01895 BRA _00126_DS_ 01896 ; .line 719; ecan.c *ptr &= ~ECAN_TX_PRIORITY_BITS; 013C 0EFC 01897 MOVLW 0xfc 013E 1600 01898 ANDWF r0x11, F 0140 C000 FFE5 01899 MOVFF r0x11, POSTDEC1 0144 C000 FFE9 01900 MOVFF r0x0b, FSR0L 0148 C000 FFF3 01901 MOVFF r0x0c, PRODL 014C 5000 01902 MOVF r0x0d, W 014E EC00 F000 01903 CALL __gptrput1 01904 ; .line 720; ecan.c *ptr |= msgFlags & ECAN_TX_PRIORITY_BITS; 0152 C000 FFE9 01905 MOVFF r0x0b, FSR0L 0156 C000 FFF3 01906 MOVFF r0x0c, PRODL 015A 5000 01907 MOVF r0x0d, W 015C EC00 F000 01908 CALL __gptrget1 0160 6E00 01909 MOVWF r0x11 0162 0E03 01910 MOVLW 0x03 0164 1400 01911 ANDWF r0x08, W 0166 6E00 01912 MOVWF r0x12 0168 5000 01913 MOVF r0x12, W 016A 1200 01914 IORWF r0x11, F 016C C000 FFE5 01915 MOVFF r0x11, POSTDEC1 0170 C000 FFE9 01916 MOVFF r0x0b, FSR0L 0174 C000 FFF3 01917 MOVFF r0x0c, PRODL 0178 5000 01918 MOVF r0x0d, W 017A EC00 F000 01919 CALL __gptrput1 01920 ; .line 723; ecan.c if ( msgFlags & ECAN_TX_RTR_BIT ) 017E AC00 01921 BTFSS r0x08, 6 0180 D000 01922 BRA _00111_DS_ 01923 ; .line 724; ecan.c temp = 0x40 | data1Len; 0182 0E40 01924 MOVLW 0x40 0184 1000 01925 IORWF r0x07, W 0186 6E00 01926 MOVWF r0x11 0188 D000 01927 BRA _00112_DS_ 018A 01928 _00111_DS_: 01929 ; .line 726; ecan.c temp = data1Len; 018A C000 F000 01930 MOVFF r0x07, r0x11 018E 01931 _00112_DS_: 01932 ; .line 728; ecan.c *(ptr+5) = temp; 018E 5000 01933 MOVF r0x0b, W 0190 0F05 01934 ADDLW 0x05 0192 6E00 01935 MOVWF r0x12 0194 0E00 01936 MOVLW 0x00 0196 2000 01937 ADDWFC r0x0c, W 0198 6E00 01938 MOVWF r0x13 019A 0E00 01939 MOVLW 0x00 019C 2000 01940 ADDWFC r0x0d, W 019E 6E00 01941 MOVWF r0x14 01A0 C000 FFE5 01942 MOVFF r0x11, POSTDEC1 01A4 C000 FFE9 01943 MOVFF r0x12, FSR0L 01A8 C000 FFF3 01944 MOVFF r0x13, PRODL gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 37 LOC OBJECT CODE LINE SOURCE TEXT VALUE 01AC 5000 01945 MOVF r0x14, W 01AE EC00 F000 01946 CALL __gptrput1 01947 ; .line 731; ecan.c if ( msgFlags & ECAN_TX_FRAME_BIT ) 01B2 AA00 01948 BTFSS r0x08, 5 01B4 D000 01949 BRA _00114_DS_ 01950 ; .line 732; ecan.c temp = ECAN_MSG_XTD; 01B6 0E01 01951 MOVLW 0x01 01B8 6E00 01952 MOVWF r0x11 01BA D000 01953 BRA _00115_DS_ 01BC 01954 _00114_DS_: 01955 ; .line 735; ecan.c temp = ECAN_MSG_STD; 01BC 6A00 01956 CLRF r0x11 01BE 01957 _00115_DS_: 01958 ; .line 738; ecan.c _CANIDToRegs((BYTE*)(ptr+1), id, temp); 01BE 5000 01959 MOVF r0x0b, W 01C0 0F01 01960 ADDLW 0x01 01C2 6E00 01961 MOVWF r0x12 01C4 0E00 01962 MOVLW 0x00 01C6 2000 01963 ADDWFC r0x0c, W 01C8 6E00 01964 MOVWF r0x13 01CA 0E00 01965 MOVLW 0x00 01CC 2000 01966 ADDWFC r0x0d, W 01CE 6E00 01967 MOVWF r0x14 01D0 5000 01968 MOVF r0x11, W 01D2 6EE5 01969 MOVWF POSTDEC1 01D4 5000 01970 MOVF r0x03, W 01D6 6EE5 01971 MOVWF POSTDEC1 01D8 5000 01972 MOVF r0x02, W 01DA 6EE5 01973 MOVWF POSTDEC1 01DC 5000 01974 MOVF r0x01, W 01DE 6EE5 01975 MOVWF POSTDEC1 01E0 5000 01976 MOVF r0x00, W 01E2 6EE5 01977 MOVWF POSTDEC1 01E4 5000 01978 MOVF r0x14, W 01E6 6EE5 01979 MOVWF POSTDEC1 01E8 5000 01980 MOVF r0x13, W 01EA 6EE5 01981 MOVWF POSTDEC1 01EC 5000 01982 MOVF r0x12, W 01EE 6EE5 01983 MOVWF POSTDEC1 01F0 EC00 F000 01984 CALL __CANIDToRegs 01F4 0E08 01985 MOVLW 0x08 01F6 26E1 01986 ADDWF FSR1L, F 01987 ; .line 741; ecan.c ptr += 6; 01F8 0E06 01988 MOVLW 0x06 01FA 2600 01989 ADDWF r0x0b, F 01FC 0E00 01990 MOVLW 0x00 01FE 2200 01991 ADDWFC r0x0c, F 0200 0E00 01992 MOVLW 0x00 0202 2200 01993 ADDWFC r0x0d, F 01994 ; .line 743; ecan.c for ( j = 0 ; j < data1Len; j++ ) 0204 C000 F000 01995 MOVFF r0x04, r0x11 0208 C000 F000 01996 MOVFF r0x05, r0x12 020C C000 F000 01997 MOVFF r0x06, r0x13 0210 6A00 01998 CLRF r0x14 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 38 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0212 01999 _00120_DS_: 0212 5000 02000 MOVF r0x07, W 0214 5C00 02001 SUBWF r0x14, W 0216 E200 02002 BC _00123_DS_ 02003 ; .line 744; ecan.c *ptr++ = *data1++; 0218 C000 FFE9 02004 MOVFF r0x11, FSR0L 021C C000 FFF3 02005 MOVFF r0x12, PRODL 0220 5000 02006 MOVF r0x13, W 0222 EC00 F000 02007 CALL __gptrget1 0226 6E00 02008 MOVWF r0x15 0228 2A00 02009 INCF r0x11, F 022A B0D8 02010 BTFSC STATUS, 0 022C 2A00 02011 INCF r0x12, F 022E B0D8 02012 BTFSC STATUS, 0 0230 2A00 02013 INCF r0x13, F 0232 C000 FFE5 02014 MOVFF r0x15, POSTDEC1 0236 C000 FFE9 02015 MOVFF r0x0b, FSR0L 023A C000 FFF3 02016 MOVFF r0x0c, PRODL 023E 5000 02017 MOVF r0x0d, W 0240 EC00 F000 02018 CALL __gptrput1 0244 2A00 02019 INCF r0x0b, F 0246 B0D8 02020 BTFSC STATUS, 0 0248 2A00 02021 INCF r0x0c, F 024A B0D8 02022 BTFSC STATUS, 0 024C 2A00 02023 INCF r0x0d, F 02024 ; .line 743; ecan.c for ( j = 0 ; j < data1Len; j++ ) 024E 2A00 02025 INCF r0x14, F 0250 D000 02026 BRA _00120_DS_ 0252 02027 _00123_DS_: 02028 ; .line 748; ecan.c if ( !(*tempPtr & 0x04) ) 0252 C000 FFE9 02029 MOVFF r0x0e, FSR0L 0256 C000 FFF3 02030 MOVFF r0x0f, PRODL 025A 5000 02031 MOVF r0x10, W 025C EC00 F000 02032 CALL __gptrget1 0260 6E00 02033 MOVWF r0x0b 0262 B400 02034 BTFSC r0x0b, 2 0264 D000 02035 BRA _00117_DS_ 02036 ; .line 749; ecan.c *tempPtr |= 0x08; 0266 8600 02037 BSF r0x0b, 3 0268 C000 FFE5 02038 MOVFF r0x0b, POSTDEC1 026C C000 FFE9 02039 MOVFF r0x0e, FSR0L 0270 C000 FFF3 02040 MOVFF r0x0f, PRODL 0274 5000 02041 MOVF r0x10, W 0276 EC00 F000 02042 CALL __gptrput1 027A 02043 _00117_DS_: 02044 ; .line 751; ecan.c return TRUE; 027A 0E01 02045 MOVLW 0x01 027C D000 02046 BRA _00128_DS_ 027E 02047 _00126_DS_: 02048 ; .line 669; ecan.c for ( i = 0; i < buffers; i++ ) 027E 0E03 02049 MOVLW 0x03 0280 2600 02050 ADDWF r0x0a, F 0282 2A00 02051 INCF r0x09, F 0284 D000 02052 BRA _00124_DS_ gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 39 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0286 02053 _00127_DS_: 02054 ; .line 756; ecan.c return FALSE; 0286 6AE8 02055 CLRF WREG 0288 02056 _00128_DS_: 0288 CFE4 F000 02057 MOVFF PREINC1, r0x15 028C CFE4 F000 02058 MOVFF PREINC1, r0x14 0290 CFE4 F000 02059 MOVFF PREINC1, r0x13 0294 CFE4 F000 02060 MOVFF PREINC1, r0x12 0298 CFE4 F000 02061 MOVFF PREINC1, r0x11 029C CFE4 F000 02062 MOVFF PREINC1, r0x10 02A0 CFE4 F000 02063 MOVFF PREINC1, r0x0f 02A4 CFE4 F000 02064 MOVFF PREINC1, r0x0e 02A8 CFE4 F000 02065 MOVFF PREINC1, r0x0d 02AC CFE4 F000 02066 MOVFF PREINC1, r0x0c 02B0 CFE4 F000 02067 MOVFF PREINC1, r0x0b 02B4 CFE4 F000 02068 MOVFF PREINC1, r0x0a 02B8 CFE4 F000 02069 MOVFF PREINC1, r0x09 02BC CFE4 F000 02070 MOVFF PREINC1, r0x08 02C0 CFE4 F000 02071 MOVFF PREINC1, r0x07 02C4 CFE4 F000 02072 MOVFF PREINC1, r0x06 02C8 CFE4 F000 02073 MOVFF PREINC1, r0x05 02CC CFE4 F000 02074 MOVFF PREINC1, r0x04 02D0 CFE4 F000 02075 MOVFF PREINC1, r0x03 02D4 CFE4 F000 02076 MOVFF PREINC1, r0x02 02D8 CFE4 F000 02077 MOVFF PREINC1, r0x01 02DC CFE4 F000 02078 MOVFF PREINC1, r0x00 02E0 CFE4 FFD9 02079 MOVFF PREINC1, FSR2L 02E4 0012 02080 RETURN 02081 02082 ; ; Starting pCode block 02083 S_ecan__ECANInitialize code 0000 02084 _ECANInitialize: 02085 ; .line 163; ecan.c void ECANInitialize(void) 0000 CFD9 FFE5 02086 MOVFF FSR2L, POSTDEC1 0004 CFE1 FFD9 02087 MOVFF FSR1L, FSR2L 02088 ; .line 167; ecan.c ECANSetOperationMode(ECAN_OP_MODE_CONFIG); 0008 0E80 02089 MOVLW 0x80 000A 6EE5 02090 MOVWF POSTDEC1 000C EC00 F000 02091 CALL _ECANSetOperationMode 0010 2AE1 02092 INCF FSR1L, F 02093 ; .line 171; ecan.c BRGCON1 = ((ECAN_SJW_VAL-1) << 6) | (ECAN_BRP_VAL-1); 0012 0E01 02094 MOVLW 0x01 0014 6E00 02095 MOVWF _BRGCON1 02096 ; .line 172; ecan.c BRGCON2 = (ECAN_PHSEG2_MODE_VAL << 7) | \ 0016 0EAE 02097 MOVLW 0xae 0018 6E00 02098 MOVWF _BRGCON2 02099 ; .line 178; ecan.c (ECAN_PHSEG2_VAL-1); 001A 0E05 02100 MOVLW 0x05 001C 6E00 02101 MOVWF _BRGCON3 02102 ; .line 181; ecan.c CIOCON = ECAN_TX2_SOURCE_VAL << 7 | \ 001E 0E20 02103 MOVLW 0x20 0020 6E00 02104 MOVWF _CIOCON 02105 ; .line 188; ecan.c ECANCON_MDSEL1 = 0; 0022 9E00 02106 BCF _ECANCONbits, 7 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 40 LOC OBJECT CODE LINE SOURCE TEXT VALUE 02107 ; .line 189; ecan.c ECANCON_MDSEL0 = 0; 0024 9C00 02108 BCF _ECANCONbits, 6 02109 ; .line 194; ecan.c RXB0CON = (ECAN_RXB0_MODE_VAL << 5) | (ECAN_RXB0_DBL_BUFFER_MODE_VAL << 2); 0026 0E04 02110 MOVLW 0x04 0028 6E00 02111 MOVWF _RXB0CON 002A 0000 02112 BANKSEL _RXB1CON 02113 ; .line 195; ecan.c RXB1CON = ECAN_RXB1_MODE_VAL << 5; 002C 6B00 02114 CLRF _RXB1CON, B 002E 0000 02115 BANKSEL _RXF0SIDH 02116 ; .line 289; ecan.c _SetStdRXFnValue(RXF0, ECAN_RXF0_VAL); 0030 6B00 02117 CLRF _RXF0SIDH, B 0032 0000 02118 BANKSEL _RXF0SIDL 0034 6B00 02119 CLRF _RXF0SIDL, B 0036 0000 02120 BANKSEL _RXF1SIDH 02121 ; .line 297; ecan.c _SetStdRXFnValue(RXF1, ECAN_RXF1_VAL); 0038 6B00 02122 CLRF _RXF1SIDH, B 003A 0000 02123 BANKSEL _RXF1SIDL 003C 6B00 02124 CLRF _RXF1SIDL, B 003E 0000 02125 BANKSEL _RXF2SIDH 02126 ; .line 306; ecan.c _SetStdRXFnValue(RXF2, ECAN_RXF2_VAL); 0040 6B00 02127 CLRF _RXF2SIDH, B 0042 0000 02128 BANKSEL _RXF2SIDL 0044 6B00 02129 CLRF _RXF2SIDL, B 0046 0000 02130 BANKSEL _RXF3SIDH 02131 ; .line 315; ecan.c _SetStdRXFnValue(RXF3, ECAN_RXF3_VAL); 0048 6B00 02132 CLRF _RXF3SIDH, B 004A 0000 02133 BANKSEL _RXF3SIDL 004C 6B00 02134 CLRF _RXF3SIDL, B 004E 0000 02135 BANKSEL _RXF4SIDH 02136 ; .line 324; ecan.c _SetStdRXFnValue(RXF4, ECAN_RXF4_VAL); 0050 6B00 02137 CLRF _RXF4SIDH, B 0052 0000 02138 BANKSEL _RXF4SIDL 0054 6B00 02139 CLRF _RXF4SIDL, B 0056 0000 02140 BANKSEL _RXF5SIDH 02141 ; .line 332; ecan.c _SetStdRXFnValue(RXF5, ECAN_RXF4_VAL); 0058 6B00 02142 CLRF _RXF5SIDH, B 005A 0000 02143 BANKSEL _RXF5SIDL 005C 6B00 02144 CLRF _RXF5SIDL, B 005E 0000 02145 BANKSEL _RXM0SIDH 02146 ; .line 474; ecan.c _SetStdRXMnValue(0, ECAN_RXM0_VAL); 0060 6B00 02147 CLRF _RXM0SIDH, B 0062 0000 02148 BANKSEL _RXM0SIDL 0064 6B00 02149 CLRF _RXM0SIDL, B 0066 0000 02150 BANKSEL _RXM0SIDLbits 02151 ; .line 475; ecan.c RXM0SIDL_EXIDEN = 0; 0068 9700 02152 BCF _RXM0SIDLbits, 3, B 006A 0000 02153 BANKSEL _RXM1SIDH 02154 ; .line 482; ecan.c _SetStdRXMnValue(1, ECAN_RXM1_VAL); 006C 6B00 02155 CLRF _RXM1SIDH, B 006E 0000 02156 BANKSEL _RXM1SIDL 0070 6B00 02157 CLRF _RXM1SIDL, B 0072 0000 02158 BANKSEL _RXM1SIDLbits 02159 ; .line 483; ecan.c RXM1SIDL_EXIDEN = 0; 0074 9700 02160 BCF _RXM1SIDLbits, 3, B gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 41 LOC OBJECT CODE LINE SOURCE TEXT VALUE 02161 ; .line 494; ecan.c ECANSetOperationMode(ECAN_INIT_MODE); 0076 0E00 02162 MOVLW 0x00 0078 6EE5 02163 MOVWF POSTDEC1 007A EC00 F000 02164 CALL _ECANSetOperationMode 007E 2AE1 02165 INCF FSR1L, F 0080 CFE4 FFD9 02166 MOVFF PREINC1, FSR2L 0084 0012 02167 RETURN 02168 02169 02170 02171 ; Statistics: 02172 ; code size: 3294 (0x0cde) bytes ( 2.51%) 02173 ; 1647 (0x066f) words 02174 ; udata size: 33 (0x0021) bytes ( 0.86%) 02175 ; access size: 22 (0x0016) bytes 02176 02177 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 42 SYMBOL TABLE LABEL VALUE FSR0H 00000FEA FSR0L 00000FE9 FSR1L 00000FE1 FSR2L 00000FD9 INDF0 00000FEF PLUSW2 00000FDB POSTDEC1 00000FE5 POSTINC0 00000FEE PREINC1 00000FE4 PRODH 00000FF4 PRODL 00000FF3 STATUS 00000FD8 WREG 00000FE8 _00111_DS_ 0000018A _00112_DS_ 0000018E _00114_DS_ 000001BC _00115_DS_ 000001BE _00117_DS_ 0000027A _00120_DS_ 00000212 _00123_DS_ 00000252 _00124_DS_ 000000F4 _00126_DS_ 0000027E _00127_DS_ 00000286 _00128_DS_ 00000288 _00154_DS_ 000000D8 _00156_DS_ 00000130 _00158_DS_ 0000016C _00160_DS_ 0000017A _00163_DS_ 000000FE _00165_DS_ 0000017E _00167_DS_ 00000208 _00169_DS_ 00000262 _00170_DS_ 00000266 _00172_DS_ 00000356 _00173_DS_ 000002CE _00176_DS_ 0000032C _00177_DS_ 0000037C _00198_DS_ 000002F0 _00203_DS_ 0000001E _00219_DS_ 00000116 _00221_DS_ 00000262 _00227_DS_ 00000148 _00229_DS_ 00000292 _ADCON0 00000000 _ADCON0bits 00000000 _ADCON1 00000000 _ADCON1bits 00000000 _ADCON2 00000000 _ADCON2bits 00000000 _ADRES 00000000 _ADRESH 00000000 _ADRESL 00000000 _B0CON 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 43 LOC OBJECT CODE LINE SOURCE TEXT VALUE _B0CONbits 00000000 _B0D0 00000000 _B0D0bits 00000000 _B0D1 00000000 _B0D1bits 00000000 _B0D2 00000000 _B0D2bits 00000000 _B0D3 00000000 _B0D3bits 00000000 _B0D4 00000000 _B0D4bits 00000000 _B0D5 00000000 _B0D5bits 00000000 _B0D6 00000000 _B0D6bits 00000000 _B0D7 00000000 _B0D7bits 00000000 _B0DLC 00000000 _B0DLCbits 00000000 _B0EIDH 00000000 _B0EIDHbits 00000000 _B0EIDL 00000000 _B0EIDLbits 00000000 _B0SIDH 00000000 _B0SIDHbits 00000000 _B0SIDL 00000000 _B0SIDLbits 00000000 _B1CON 00000000 _B1CONbits 00000000 _B1D0 00000000 _B1D0bits 00000000 _B1D1 00000000 _B1D1bits 00000000 _B1D2 00000000 _B1D2bits 00000000 _B1D3 00000000 _B1D3bits 00000000 _B1D4 00000000 _B1D4bits 00000000 _B1D5 00000000 _B1D5bits 00000000 _B1D6 00000000 _B1D6bits 00000000 _B1D7 00000000 _B1D7bits 00000000 _B1DLC 00000000 _B1DLCbits 00000000 _B1EIDH 00000000 _B1EIDHbits 00000000 _B1EIDL 00000000 _B1EIDLbits 00000000 _B1SIDH 00000000 _B1SIDHbits 00000000 _B1SIDL 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 44 LOC OBJECT CODE LINE SOURCE TEXT VALUE _B1SIDLbits 00000000 _B2CON 00000000 _B2CONbits 00000000 _B2D0 00000000 _B2D0bits 00000000 _B2D1 00000000 _B2D1bits 00000000 _B2D2 00000000 _B2D2bits 00000000 _B2D3 00000000 _B2D3bits 00000000 _B2D4 00000000 _B2D4bits 00000000 _B2D5 00000000 _B2D5bits 00000000 _B2D6 00000000 _B2D6bits 00000000 _B2D7 00000000 _B2D7bits 00000000 _B2DLC 00000000 _B2DLCbits 00000000 _B2EIDH 00000000 _B2EIDHbits 00000000 _B2EIDL 00000000 _B2EIDLbits 00000000 _B2SIDH 00000000 _B2SIDHbits 00000000 _B2SIDL 00000000 _B2SIDLbits 00000000 _B3CON 00000000 _B3CONbits 00000000 _B3D0 00000000 _B3D0bits 00000000 _B3D1 00000000 _B3D1bits 00000000 _B3D2 00000000 _B3D2bits 00000000 _B3D3 00000000 _B3D3bits 00000000 _B3D4 00000000 _B3D4bits 00000000 _B3D5 00000000 _B3D5bits 00000000 _B3D6 00000000 _B3D6bits 00000000 _B3D7 00000000 _B3D7bits 00000000 _B3DLC 00000000 _B3DLCbits 00000000 _B3EIDH 00000000 _B3EIDHbits 00000000 _B3EIDL 00000000 _B3EIDLbits 00000000 _B3SIDH 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 45 LOC OBJECT CODE LINE SOURCE TEXT VALUE _B3SIDHbits 00000000 _B3SIDL 00000000 _B3SIDLbits 00000000 _B4CON 00000000 _B4CONbits 00000000 _B4D0 00000000 _B4D0bits 00000000 _B4D1 00000000 _B4D1bits 00000000 _B4D2 00000000 _B4D2bits 00000000 _B4D3 00000000 _B4D3bits 00000000 _B4D4 00000000 _B4D4bits 00000000 _B4D5 00000000 _B4D5bits 00000000 _B4D6 00000000 _B4D6bits 00000000 _B4D7 00000000 _B4D7bits 00000000 _B4DLC 00000000 _B4DLCbits 00000000 _B4EIDH 00000000 _B4EIDHbits 00000000 _B4EIDL 00000000 _B4EIDLbits 00000000 _B4SIDH 00000000 _B4SIDHbits 00000000 _B4SIDL 00000000 _B4SIDLbits 00000000 _B5CON 00000000 _B5CONbits 00000000 _B5D0 00000000 _B5D0bits 00000000 _B5D1 00000000 _B5D1bits 00000000 _B5D2 00000000 _B5D2bits 00000000 _B5D3 00000000 _B5D3bits 00000000 _B5D4 00000000 _B5D4bits 00000000 _B5D5 00000000 _B5D5bits 00000000 _B5D6 00000000 _B5D6bits 00000000 _B5D7 00000000 _B5D7bits 00000000 _B5DLC 00000000 _B5DLCbits 00000000 _B5EIDH 00000000 _B5EIDHbits 00000000 _B5EIDL 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 46 LOC OBJECT CODE LINE SOURCE TEXT VALUE _B5EIDLbits 00000000 _B5SIDH 00000000 _B5SIDHbits 00000000 _B5SIDL 00000000 _B5SIDLbits 00000000 _BAUDCON 00000000 _BAUDCONbits 00000000 _BIE0 00000000 _BIE0bits 00000000 _BRGCON1 00000000 _BRGCON1bits 00000000 _BRGCON2 00000000 _BRGCON2bits 00000000 _BRGCON3 00000000 _BRGCON3bits 00000000 _BSEL0 00000000 _BSEL0bits 00000000 _BSR 00000000 _CANCON 00000000 _CANCON_RO0 00000000 _CANCON_RO0bits 00000000 _CANCON_RO1 00000000 _CANCON_RO1bits 00000000 _CANCON_RO2 00000000 _CANCON_RO2bits 00000000 _CANCON_RO3 00000000 _CANCON_RO3bits 00000000 _CANCON_RO4 00000000 _CANCON_RO4bits 00000000 _CANCON_RO5 00000000 _CANCON_RO5bits 00000000 _CANCON_RO6 00000000 _CANCON_RO6bits 00000000 _CANCON_RO7 00000000 _CANCON_RO7bits 00000000 _CANCON_RO8 00000000 _CANCON_RO8bits 00000000 _CANCON_RO9 00000000 _CANCON_RO9bits 00000000 _CANCONbits 00000000 _CANSTAT 00000000 _CANSTAT_RO0 00000000 _CANSTAT_RO0bits 00000000 _CANSTAT_RO1 00000000 _CANSTAT_RO1bits 00000000 _CANSTAT_RO2 00000000 _CANSTAT_RO2bits 00000000 _CANSTAT_RO3 00000000 _CANSTAT_RO3bits 00000000 _CANSTAT_RO4 00000000 _CANSTAT_RO4bits 00000000 _CANSTAT_RO5 00000000 _CANSTAT_RO5bits 00000000 _CANSTAT_RO6 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 47 LOC OBJECT CODE LINE SOURCE TEXT VALUE _CANSTAT_RO6bits 00000000 _CANSTAT_RO7 00000000 _CANSTAT_RO7bits 00000000 _CANSTAT_RO8 00000000 _CANSTAT_RO8bits 00000000 _CANSTAT_RO9 00000000 _CANSTAT_RO9bits 00000000 _CANSTATbits 00000000 _CCP1CON 00000000 _CCP1CONbits 00000000 _CCPR1 00000000 _CCPR1H 00000000 _CCPR1L 00000000 _CIOCON 00000000 _CIOCONbits 00000000 _COMSTAT 00000000 _COMSTATbits 00000000 _DDRA 00000000 _DDRAbits 00000000 _DDRB 00000000 _DDRBbits 00000000 _DDRC 00000000 _DDRCbits 00000000 _ECANCON 00000000 _ECANCONbits 00000000 _ECANInitialize 00000000 _ECANReceiveMessage 00000000 _ECANReceiveMessage_temp_1_1 00000000 _ECANSendMessage 00000000 _ECANSendMessage_pb_1_1 00000000 _ECANSetOperationMode 00000000 _EEADR 00000000 _EEADRH 00000000 _EECON1 00000000 _EECON1bits 00000000 _EECON2 00000000 _EEDATA 00000000 _FSR0H 00000000 _FSR0L 00000000 _FSR1H 00000000 _FSR1L 00000000 _FSR2H 00000000 _FSR2L 00000000 _HLVDCON 00000000 _HLVDCONbits 00000000 _INDF0 00000000 _INDF1 00000000 _INDF2 00000000 _INTCON 00000000 _INTCON2 00000000 _INTCON2bits 00000000 _INTCON3 00000000 _INTCON3bits 00000000 _INTCONbits 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 48 LOC OBJECT CODE LINE SOURCE TEXT VALUE _IPR1 00000000 _IPR1bits 00000000 _IPR2 00000000 _IPR2bits 00000000 _IPR3 00000000 _IPR3bits 00000000 _LATA 00000000 _LATAbits 00000000 _LATB 00000000 _LATBbits 00000000 _LATC 00000000 _LATCbits 00000000 _LVDCON 00000000 _LVDCONbits 00000000 _MSEL0 00000000 _MSEL0bits 00000000 _MSEL1 00000000 _MSEL1bits 00000000 _MSEL2 00000000 _MSEL2bits 00000000 _MSEL3 00000000 _MSEL3bits 00000000 _OSCCON 00000000 _OSCCONbits 00000000 _OSCTUNE 00000000 _OSCTUNEbits 00000000 _PC 00000000 _PCL 00000000 _PCLATH 00000000 _PCLATU 00000000 _PIE1 00000000 _PIE1bits 00000000 _PIE2 00000000 _PIE2bits 00000000 _PIE3 00000000 _PIE3bits 00000000 _PIR1 00000000 _PIR1bits 00000000 _PIR2 00000000 _PIR2bits 00000000 _PIR3 00000000 _PIR3bits 00000000 _PLUSW0 00000000 _PLUSW1 00000000 _PLUSW2 00000000 _PORTA 00000000 _PORTAbits 00000000 _PORTB 00000000 _PORTBbits 00000000 _PORTC 00000000 _PORTCbits 00000000 _POSTDEC0 00000000 _POSTDEC1 00000000 _POSTDEC2 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 49 LOC OBJECT CODE LINE SOURCE TEXT VALUE _POSTINC0 00000000 _POSTINC1 00000000 _POSTINC2 00000000 _PR2 00000000 _PREINC0 00000000 _PREINC1 00000000 _PREINC2 00000000 _PROD 00000000 _PRODH 00000000 _PRODL 00000000 _RCON 00000000 _RCONbits 00000000 _RCREG 00000000 _RCSTA 00000000 _RCSTAbits 00000000 _RXB0CON 00000000 _RXB0CONbits 00000000 _RXB0D0 00000000 _RXB0D0bits 00000000 _RXB0D1 00000000 _RXB0D1bits 00000000 _RXB0D2 00000000 _RXB0D2bits 00000000 _RXB0D3 00000000 _RXB0D3bits 00000000 _RXB0D4 00000000 _RXB0D4bits 00000000 _RXB0D5 00000000 _RXB0D5bits 00000000 _RXB0D6 00000000 _RXB0D6bits 00000000 _RXB0D7 00000000 _RXB0D7bits 00000000 _RXB0DLC 00000000 _RXB0DLCbits 00000000 _RXB0EIDH 00000000 _RXB0EIDHbits 00000000 _RXB0EIDL 00000000 _RXB0EIDLbits 00000000 _RXB0SIDH 00000000 _RXB0SIDHbits 00000000 _RXB0SIDL 00000000 _RXB0SIDLbits 00000000 _RXB1CON 00000000 _RXB1CONbits 00000000 _RXB1D0 00000000 _RXB1D0bits 00000000 _RXB1D1 00000000 _RXB1D1bits 00000000 _RXB1D2 00000000 _RXB1D2bits 00000000 _RXB1D3 00000000 _RXB1D3bits 00000000 _RXB1D4 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 50 LOC OBJECT CODE LINE SOURCE TEXT VALUE _RXB1D4bits 00000000 _RXB1D5 00000000 _RXB1D5bits 00000000 _RXB1D6 00000000 _RXB1D6bits 00000000 _RXB1D7 00000000 _RXB1D7bits 00000000 _RXB1DLC 00000000 _RXB1DLCbits 00000000 _RXB1EIDH 00000000 _RXB1EIDHbits 00000000 _RXB1EIDL 00000000 _RXB1EIDLbits 00000000 _RXB1SIDH 00000000 _RXB1SIDHbits 00000000 _RXB1SIDL 00000000 _RXB1SIDLbits 00000000 _RXERRCNT 00000000 _RXERRCNTbits 00000000 _RXF0EIDH 00000000 _RXF0EIDHbits 00000000 _RXF0EIDL 00000000 _RXF0EIDLbits 00000000 _RXF0SIDH 00000000 _RXF0SIDHbits 00000000 _RXF0SIDL 00000000 _RXF0SIDLbits 00000000 _RXF10EIDH 00000000 _RXF10EIDHbits 00000000 _RXF10EIDL 00000000 _RXF10EIDLbits 00000000 _RXF10SIDH 00000000 _RXF10SIDHbits 00000000 _RXF10SIDL 00000000 _RXF10SIDLbits 00000000 _RXF11EIDH 00000000 _RXF11EIDHbits 00000000 _RXF11EIDL 00000000 _RXF11EIDLbits 00000000 _RXF11SIDH 00000000 _RXF11SIDHbits 00000000 _RXF11SIDL 00000000 _RXF11SIDLbits 00000000 _RXF12EIDH 00000000 _RXF12EIDHbits 00000000 _RXF12EIDL 00000000 _RXF12EIDLbits 00000000 _RXF12SIDH 00000000 _RXF12SIDHbits 00000000 _RXF12SIDL 00000000 _RXF12SIDLbits 00000000 _RXF13EIDH 00000000 _RXF13EIDHbits 00000000 _RXF13EIDL 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 51 LOC OBJECT CODE LINE SOURCE TEXT VALUE _RXF13EIDLbits 00000000 _RXF13SIDH 00000000 _RXF13SIDHbits 00000000 _RXF13SIDL 00000000 _RXF13SIDLbits 00000000 _RXF14EIDH 00000000 _RXF14EIDHbits 00000000 _RXF14EIDL 00000000 _RXF14EIDLbits 00000000 _RXF14SIDH 00000000 _RXF14SIDHbits 00000000 _RXF14SIDL 00000000 _RXF14SIDLbits 00000000 _RXF15EIDH 00000000 _RXF15EIDHbits 00000000 _RXF15EIDL 00000000 _RXF15EIDLbits 00000000 _RXF15SIDH 00000000 _RXF15SIDHbits 00000000 _RXF15SIDL 00000000 _RXF15SIDLbits 00000000 _RXF1EIDH 00000000 _RXF1EIDHbits 00000000 _RXF1EIDL 00000000 _RXF1EIDLbits 00000000 _RXF1SIDH 00000000 _RXF1SIDHbits 00000000 _RXF1SIDL 00000000 _RXF1SIDLbits 00000000 _RXF2EIDH 00000000 _RXF2EIDHbits 00000000 _RXF2EIDL 00000000 _RXF2EIDLbits 00000000 _RXF2SIDH 00000000 _RXF2SIDHbits 00000000 _RXF2SIDL 00000000 _RXF2SIDLbits 00000000 _RXF3EIDH 00000000 _RXF3EIDHbits 00000000 _RXF3EIDL 00000000 _RXF3EIDLbits 00000000 _RXF3SIDH 00000000 _RXF3SIDHbits 00000000 _RXF3SIDL 00000000 _RXF3SIDLbits 00000000 _RXF4EIDH 00000000 _RXF4EIDHbits 00000000 _RXF4EIDL 00000000 _RXF4EIDLbits 00000000 _RXF4SIDH 00000000 _RXF4SIDHbits 00000000 _RXF4SIDL 00000000 _RXF4SIDLbits 00000000 _RXF5EIDH 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 52 LOC OBJECT CODE LINE SOURCE TEXT VALUE _RXF5EIDHbits 00000000 _RXF5EIDL 00000000 _RXF5EIDLbits 00000000 _RXF5SIDH 00000000 _RXF5SIDHbits 00000000 _RXF5SIDL 00000000 _RXF5SIDLbits 00000000 _RXF6EIDH 00000000 _RXF6EIDHbits 00000000 _RXF6EIDL 00000000 _RXF6EIDLbits 00000000 _RXF6SIDH 00000000 _RXF6SIDHbits 00000000 _RXF6SIDL 00000000 _RXF6SIDLbits 00000000 _RXF7EIDH 00000000 _RXF7EIDHbits 00000000 _RXF7EIDL 00000000 _RXF7EIDLbits 00000000 _RXF7SIDH 00000000 _RXF7SIDHbits 00000000 _RXF7SIDL 00000000 _RXF7SIDLbits 00000000 _RXF8EIDH 00000000 _RXF8EIDHbits 00000000 _RXF8EIDL 00000000 _RXF8EIDLbits 00000000 _RXF8SIDH 00000000 _RXF8SIDHbits 00000000 _RXF8SIDL 00000000 _RXF8SIDLbits 00000000 _RXF9EIDH 00000000 _RXF9EIDHbits 00000000 _RXF9EIDL 00000000 _RXF9EIDLbits 00000000 _RXF9SIDH 00000000 _RXF9SIDHbits 00000000 _RXF9SIDL 00000000 _RXF9SIDLbits 00000000 _RXFBCON0 00000000 _RXFBCON0bits 00000000 _RXFBCON1 00000000 _RXFBCON1bits 00000000 _RXFBCON2 00000000 _RXFBCON2bits 00000000 _RXFBCON3 00000000 _RXFBCON3bits 00000000 _RXFBCON4 00000000 _RXFBCON4bits 00000000 _RXFBCON5 00000000 _RXFBCON5bits 00000000 _RXFBCON6 00000000 _RXFBCON6bits 00000000 _RXFBCON7 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 53 LOC OBJECT CODE LINE SOURCE TEXT VALUE _RXFBCON7bits 00000000 _RXFCON0 00000000 _RXFCON0bits 00000000 _RXFCON1 00000000 _RXFCON1bits 00000000 _RXM0EIDH 00000000 _RXM0EIDHbits 00000000 _RXM0EIDL 00000000 _RXM0EIDLbits 00000000 _RXM0SIDH 00000000 _RXM0SIDHbits 00000000 _RXM0SIDL 00000000 _RXM0SIDLbits 00000000 _RXM1EIDH 00000000 _RXM1EIDHbits 00000000 _RXM1EIDL 00000000 _RXM1EIDLbits 00000000 _RXM1SIDH 00000000 _RXM1SIDHbits 00000000 _RXM1SIDL 00000000 _RXM1SIDLbits 00000000 _SDFLC 00000000 _SDFLCbits 00000000 _SPBRG 00000000 _SPBRGH 00000000 _SSPADD 00000000 _SSPBUF 00000000 _SSPCON1 00000000 _SSPCON1bits 00000000 _SSPCON2 00000000 _SSPCON2bits 00000000 _SSPSTAT 00000000 _SSPSTATbits 00000000 _STATUS 00000000 _STATUSbits 00000000 _STKPTR 00000000 _STKPTRbits 00000000 _T0CON 00000000 _T0CONbits 00000000 _T1CON 00000000 _T1CONbits 00000000 _T2CON 00000000 _T2CONbits 00000000 _T3CON 00000000 _T3CONbits 00000000 _TABLAT 00000000 _TBLPTR 00000000 _TBLPTRH 00000000 _TBLPTRL 00000000 _TBLPTRU 00000000 _TMR0H 00000000 _TMR0L 00000000 _TMR1H 00000000 _TMR1L 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 54 LOC OBJECT CODE LINE SOURCE TEXT VALUE _TMR2 00000000 _TMR3H 00000000 _TMR3L 00000000 _TOS 00000000 _TOSH 00000000 _TOSL 00000000 _TOSU 00000000 _TRISA 00000000 _TRISAbits 00000000 _TRISB 00000000 _TRISBbits 00000000 _TRISC 00000000 _TRISCbits 00000000 _TXB0CON 00000000 _TXB0CONbits 00000000 _TXB0D0 00000000 _TXB0D0bits 00000000 _TXB0D1 00000000 _TXB0D1bits 00000000 _TXB0D2 00000000 _TXB0D2bits 00000000 _TXB0D3 00000000 _TXB0D3bits 00000000 _TXB0D4 00000000 _TXB0D4bits 00000000 _TXB0D5 00000000 _TXB0D5bits 00000000 _TXB0D6 00000000 _TXB0D6bits 00000000 _TXB0D7 00000000 _TXB0D7bits 00000000 _TXB0DLC 00000000 _TXB0DLCbits 00000000 _TXB0EIDH 00000000 _TXB0EIDHbits 00000000 _TXB0EIDL 00000000 _TXB0EIDLbits 00000000 _TXB0SIDH 00000000 _TXB0SIDHbits 00000000 _TXB0SIDL 00000000 _TXB0SIDLbits 00000000 _TXB1CON 00000000 _TXB1CONbits 00000000 _TXB1D0 00000000 _TXB1D0bits 00000000 _TXB1D1 00000000 _TXB1D1bits 00000000 _TXB1D2 00000000 _TXB1D2bits 00000000 _TXB1D3 00000000 _TXB1D3bits 00000000 _TXB1D4 00000000 _TXB1D4bits 00000000 _TXB1D5 00000000 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 55 LOC OBJECT CODE LINE SOURCE TEXT VALUE _TXB1D5bits 00000000 _TXB1D6 00000000 _TXB1D6bits 00000000 _TXB1D7 00000000 _TXB1D7bits 00000000 _TXB1DLC 00000000 _TXB1DLCbits 00000000 _TXB1EIDH 00000000 _TXB1EIDHbits 00000000 _TXB1EIDL 00000000 _TXB1EIDLbits 00000000 _TXB1SIDH 00000000 _TXB1SIDHbits 00000000 _TXB1SIDL 00000000 _TXB1SIDLbits 00000000 _TXB2CON 00000000 _TXB2CONbits 00000000 _TXB2D0 00000000 _TXB2D0bits 00000000 _TXB2D1 00000000 _TXB2D1bits 00000000 _TXB2D2 00000000 _TXB2D2bits 00000000 _TXB2D3 00000000 _TXB2D3bits 00000000 _TXB2D4 00000000 _TXB2D4bits 00000000 _TXB2D5 00000000 _TXB2D5bits 00000000 _TXB2D6 00000000 _TXB2D6bits 00000000 _TXB2D7 00000000 _TXB2D7bits 00000000 _TXB2DLC 00000000 _TXB2DLCbits 00000000 _TXB2EIDH 00000000 _TXB2EIDHbits 00000000 _TXB2EIDL 00000000 _TXB2EIDLbits 00000000 _TXB2SIDH 00000000 _TXB2SIDHbits 00000000 _TXB2SIDL 00000000 _TXB2SIDLbits 00000000 _TXBIE 00000000 _TXBIEbits 00000000 _TXERRCNT 00000000 _TXERRCNTbits 00000000 _TXREG 00000000 _TXSTA 00000000 _TXSTAbits 00000000 _WDTCON 00000000 _WDTCONbits 00000000 _WREG 00000000 __18F2680 00000001 gpasm-0.13.7 beta ecan.asm 1-16-2011 02:33:30 PAGE 56 LOC OBJECT CODE LINE SOURCE TEXT VALUE __CANIDToRegs 00000000 __CANIDToRegs_val_1_1 00000000 __ECANRxFilterHitInfo 00000000 __RegsToCANID 00000000 __gptrget1 00000000 __gptrput1 00000000 r0x00 00000000 r0x01 00000001 r0x02 00000002 r0x03 00000003 r0x04 00000004 r0x05 00000005 r0x06 00000006 r0x07 00000007 r0x08 00000008 r0x09 00000009 r0x0a 0000000A r0x0b 0000000B r0x0c 0000000C r0x0d 0000000D r0x0e 0000000E r0x0f 0000000F r0x10 00000010 r0x11 00000011 r0x12 00000012 r0x13 00000013 r0x14 00000014 r0x15 00000015 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 0 reported, 0 suppressed