Subversion Repositories HomeAutomation

Rev

Rev 101 | Blame | Last modification | View Log | SVN | RSS feed

MP2COD 4.02, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Wed Nov 15 10:21:15 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBoot/Source/Main.c $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-15 09:41:08 +0100 (on, 15 nov 2006) $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Revision:     $Revision: 101 $                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            ********************************************************************/           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <boot.h>                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /** V E C T O R  R E M A P P I N G *******************************************/  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x000008                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000008   ef04     GOTO      0x1008             _asm goto RM_HIGH_INTERRUPT_VECTOR _endasm                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00000a   f008                                                                                                               
00000c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x000018                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000018   ef0c     GOTO      0x1018             _asm goto RM_LOW_INTERRUPT_VECTOR _endasm                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00001a   f008                                                                                                               
00001c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #include <CAN.h>                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #endif                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static CAN_PROTO_MESSAGE cm;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static DWORD cnt =0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static BOOL canGetPacket(void);                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLWT_Func(void);                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLWTPOSTINC_Func (void);                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLRD_Func(void);                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #define TICK_SUB_COUNTER_10MS 312                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #define PACKET_TIMEOUT 14                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #define BOOTLOADER_INIT_TIMOUT 500                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           DWORD tickCounter = 0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           DWORD tickSubCounter = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           DWORD tickGet(void);                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000038   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00003a   ffe6                                                                                                               
00003c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00003e   ffd9                                                                                                               
000040   0e17     MOVLW     0x17                                                                                            
000042   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE pgs = pgsWATING_START;                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD t = 0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static WORD programmerSid=0;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE errMsg = ACK_ERR_NO_ERROR;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE afterAckPgs = pgsWATING_START;                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD pgmAddress = 0;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE bytesReceived = 0;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            DWORD tBoot;                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE pgmData[64];                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Inits                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000044   dbdf     RCALL     0x804           mainInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000046   dbe4     RCALL     0x810               canInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000048   ec90     CALL      0xb20,0x0       tBoot = tickGet();                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00004a   f005                                                                                                               
00004c   c010     MOVFF     0x10,0xfde                                                                                      
00004e   ffde                                                                                                               
000050   c011     MOVFF     0x11,0xfde                                                                                      
000052   ffde                                                                                                               
000054   c012     MOVFF     0x12,0xfde                                                                                      
000056   ffde                                                                                                               
000058   c013     MOVFF     0x13,0xfdd                                                                                      
00005a   ffdd                                                                                                               
00005c   52dd     MOVF      0xdd,0x1,0x0                                                                                    
00005e   52dd     MOVF      0xdd,0x1,0x0                                                                                    
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000060   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000062   6ee6     MOVWF     0xe6,0x0                                                                                        
000064   6ae6     CLRF      0xe6,0x0                                                                                        
000066   ec9a     CALL      0xb34,0x0                                                                                       
000068   f005                                                                                                               
00006a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00006c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00006e   082a     SUBLW     0x2a                                                                                            
000070   e12b     BNZ       0xc8                                                                                            
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000072   0e01     MOVLW     0x1                 MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canBoot\Source\Main.c
000074   6ee6     MOVWF     0xe6,0x0                                                                                        
000076   6ae6     CLRF      0xe6,0x0                                                                                        
000078   ec9a     CALL      0xb34,0x0                                                                                       
00007a   f005                                                                                                               
00007c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00007e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000080   6e00     MOVWF     0x0,0x0                                                                                         
000082   c000     MOVFF     0x0,0x1                                                                                         
000084   f001                                                                                                               
000086   6a00     CLRF      0x0,0x0                                                                                         
000088   c000     MOVFF     0x0,0xfe6                                                                                       
00008a   ffe6                                                                                                               
00008c   c001     MOVFF     0x1,0xfe6                                                                                       
00008e   ffe6                                                                                                               
000090   0e02     MOVLW     0x2                                                                                             
000092   6ee6     MOVWF     0xe6,0x0                                                                                        
000094   6ae6     CLRF      0xe6,0x0                                                                                        
000096   ec9a     CALL      0xb34,0x0                                                                                       
000098   f005                                                                                                               
00009a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00009c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00009e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000a0   cfe7     MOVFF     0xfe7,0x1                                                                                       
0000a2   f001                                                                                                               
0000a4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000a6   cfe7     MOVFF     0xfe7,0x0                                                                                       
0000a8   f000                                                                                                               
0000aa   0100     MOVLB     0x0                                                                                             
0000ac   2400     ADDWF     0x0,0x0,0x0                                                                                     
0000ae   6fbb     MOVWF     0xbb,0x1                                                                                        
0000b0   0e00     MOVLW     0x0                                                                                             
0000b2   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0000b4   6fbc     MOVWF     0xbc,0x1                                                                                        
0000b6   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0000b8   6ee6     MOVWF     0xe6,0x0                                                                                        
0000ba   6ae6     CLRF      0xe6,0x0                                                                                        
0000bc   ec9a     CALL      0xb34,0x0                                                                                       
0000be   f005                                                                                                               
0000c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000c2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000c4   0100     MOVLB     0x0                                                                                             
0000c6   6fbd     MOVWF     0xbd,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ee   d46c     BRA       0xc8            for(;;)                                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                BYTE i;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                CAN_PROTO_MESSAGE outCm;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0000c8   dbcc     RCALL     0x862               BOOL hasPacket = canGetPacket();                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0000ca   6ee7     MOVWF     0xe7,0x0                                                                                        
0000cc   0e14     MOVLW     0x14                                                                                            
0000ce   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0000d0   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0000d2   0100     MOVLB     0x0                 tickSubCounter++;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0000d4   2bb7     INCF      0xb7,0x1,0x1                                                                                    
0000d6   0e00     MOVLW     0x0                                                                                             
0000d8   23b8     ADDWFC    0xb8,0x1,0x1                                                                                    
0000da   23b9     ADDWFC    0xb9,0x1,0x1                                                                                    
0000dc   23ba     ADDWFC    0xba,0x1,0x1                                                                                    
0000de   80d8     BSF       0xd8,0x0,0x0        if (tickSubCounter>TICK_SUB_COUNTER_10MS)                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0000e0   0e38     MOVLW     0x38                                                                                            
0000e2   0100     MOVLB     0x0                                                                                             
0000e4   55b7     SUBFWB    0xb7,0x0,0x1                                                                                    
0000e6   0e01     MOVLW     0x1                                                                                             
0000e8   55b8     SUBFWB    0xb8,0x0,0x1                                                                                    
0000ea   0e00     MOVLW     0x0                                                                                             
0000ec   55b9     SUBFWB    0xb9,0x0,0x1                                                                                    
0000ee   0e00     MOVLW     0x0                                                                                             
0000f0   55ba     SUBFWB    0xba,0x0,0x1                                                                                    
0000f2   e20c     BC        0x10c                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0000f4   0100     MOVLB     0x0                     tickCounter++;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0000f6   2bb3     INCF      0xb3,0x1,0x1                                                                                    
0000f8   0e00     MOVLW     0x0                                                                                             
0000fa   23b4     ADDWFC    0xb4,0x1,0x1                                                                                    
0000fc   23b5     ADDWFC    0xb5,0x1,0x1                                                                                    
0000fe   23b6     ADDWFC    0xb6,0x1,0x1                                                                                    
000100   0100     MOVLB     0x0                     tickSubCounter=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000102   6bb7     CLRF      0xb7,0x1                                                                                        
000104   6bb8     CLRF      0xb8,0x1                                                                                        
000106   6bb9     CLRF      0xb9,0x1                                                                                        
000108   6bba     CLRF      0xba,0x1                                                                                        
00010a   0004     CLRWDT                            ClrWdt();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00010c   0100     MOVLB     0x0                 switch(pgs)                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00010e   51be     MOVF      0xbe,0x0,0x1                                                                                    
000110   0a05     XORLW     0x5                                                                                             
000112   e101     BNZ       0x116                                                                                           
000114   d366     BRA       0x7e2                                                                                           
000116   0a01     XORLW     0x1                                                                                             
000118   e101     BNZ       0x11c                                                                                           
00011a   d2b4     BRA       0x684                                                                                           
00011c   0a07     XORLW     0x7                                                                                             
00011e   e101     BNZ       0x122                                                                                           
000120   d1bf     BRA       0x4a0                                                                                           
000122   0a01     XORLW     0x1                                                                                             
000124   e101     BNZ       0x128                                                                                           
000126   d110     BRA       0x348                                                                                           
000128   0a03     XORLW     0x3                                                                                             
00012a   e101     BNZ       0x12e                                                                                           
00012c   d0b9     BRA       0x2a0                                                                                           
00012e   0a01     XORLW     0x1                                                                                             
000130   e001     BZ        0x134                                                                                           
000132   d35a     BRA       0x7e8                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWATING_START:                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Check if there is bootloader start packet                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000134   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_INIT && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID && cm.nid==MY_NID) F:\MCP\projects\CAN\canBoot\Source\Main.c
000136   04db     DECF      0xdb,0x0,0x0                                                                                    
000138   e173     BNZ       0x220                                                                                           
00013a   0100     MOVLB     0x0                                                                                             
00013c   5160     MOVF      0x60,0x0,0x1                                                                                    
00013e   e170     BNZ       0x220                                                                                           
000140   0100     MOVLB     0x0                                                                                             
000142   0e01     MOVLW     0x1                                                                                             
000144   1961     XORWF     0x61,0x0,0x1                                                                                    
000146   e101     BNZ       0x14a                                                                                           
000148   5162     MOVF      0x62,0x0,0x1                                                                                    
00014a   e16a     BNZ       0x220                                                                                           
00014c   c06c     MOVFF     0x6c,0x2                                                                                        
00014e   f002                                                                                                               
000150   c002     MOVFF     0x2,0x3                                                                                         
000152   f003                                                                                                               
000154   6a02     CLRF      0x2,0x0                                                                                         
000156   0100     MOVLB     0x0                                                                                             
000158   516b     MOVF      0x6b,0x0,0x1                                                                                    
00015a   0100     MOVLB     0x0                                                                                             
00015c   2402     ADDWF     0x2,0x0,0x0                                                                                     
00015e   6e00     MOVWF     0x0,0x0                                                                                         
000160   0e00     MOVLW     0x0                                                                                             
000162   2003     ADDWFC    0x3,0x0,0x0                                                                                     
000164   6e01     MOVWF     0x1,0x0                                                                                         
000166   0100     MOVLB     0x0                                                                                             
000168   51bb     MOVF      0xbb,0x0,0x1                                                                                    
00016a   1800     XORWF     0x0,0x0,0x0                                                                                     
00016c   e102     BNZ       0x172                                                                                           
00016e   51bc     MOVF      0xbc,0x0,0x1                                                                                    
000170   1801     XORWF     0x1,0x0,0x0                                                                                     
000172   e156     BNZ       0x220                                                                                           
000174   0100     MOVLB     0x0                                                                                             
000176   51bd     MOVF      0xbd,0x0,0x1                                                                                    
000178   0100     MOVLB     0x0                                                                                             
00017a   5d63     SUBWF     0x63,0x0,0x1                                                                                    
00017c   e151     BNZ       0x220                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Has new start packet                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00017e   c069     MOVFF     0x69,0x0                        pgmAddress      = (((DWORD)cm.data[BOOT_DATA_ADDRU_INDEX])<<16)+(((DWORD)cm.data[BOOT_DATA_ADDRH_INDEX])<<8)+((DWORD)cm.data[BOOT_DATA_ADDRL_INDEX]); F:\MCP\projects\CAN\canBoot\Source\Main.c
000180   f000                                                                                                               
000182   6a01     CLRF      0x1,0x0                                                                                         
000184   6a02     CLRF      0x2,0x0                                                                                         
000186   6a03     CLRF      0x3,0x0                                                                                         
000188   0e10     MOVLW     0x10                                                                                            
00018a   0b1f     ANDLW     0x1f                                                                                            
00018c   e007     BZ        0x19c                                                                                           
00018e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000190   3600     RLCF      0x0,0x1,0x0                                                                                     
000192   3601     RLCF      0x1,0x1,0x0                                                                                     
000194   3602     RLCF      0x2,0x1,0x0                                                                                     
000196   3603     RLCF      0x3,0x1,0x0                                                                                     
000198   06e8     DECF      0xe8,0x1,0x0                                                                                    
00019a   e1f9     BNZ       0x18e                                                                                           
00019c   c068     MOVFF     0x68,0x4                                                                                        
00019e   f004                                                                                                               
0001a0   6a05     CLRF      0x5,0x0                                                                                         
0001a2   6a06     CLRF      0x6,0x0                                                                                         
0001a4   6a07     CLRF      0x7,0x0                                                                                         
0001a6   0e08     MOVLW     0x8                                                                                             
0001a8   0b1f     ANDLW     0x1f                                                                                            
0001aa   e007     BZ        0x1ba                                                                                           
0001ac   90d8     BCF       0xd8,0x0,0x0                                                                                    
0001ae   3604     RLCF      0x4,0x1,0x0                                                                                     
0001b0   3605     RLCF      0x5,0x1,0x0                                                                                     
0001b2   3606     RLCF      0x6,0x1,0x0                                                                                     
0001b4   3607     RLCF      0x7,0x1,0x0                                                                                     
0001b6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0001b8   e1f9     BNZ       0x1ac                                                                                           
0001ba   5004     MOVF      0x4,0x0,0x0                                                                                     
0001bc   2600     ADDWF     0x0,0x1,0x0                                                                                     
0001be   5005     MOVF      0x5,0x0,0x0                                                                                     
0001c0   2201     ADDWFC    0x1,0x1,0x0                                                                                     
0001c2   5006     MOVF      0x6,0x0,0x0                                                                                     
0001c4   2202     ADDWFC    0x2,0x1,0x0                                                                                     
0001c6   5007     MOVF      0x7,0x0,0x0                                                                                     
0001c8   2203     ADDWFC    0x3,0x1,0x0                                                                                     
0001ca   c067     MOVFF     0x67,0x8                                                                                        
0001cc   f008                                                                                                               
0001ce   6a09     CLRF      0x9,0x0                                                                                         
0001d0   6a0a     CLRF      0xa,0x0                                                                                         
0001d2   6a0b     CLRF      0xb,0x0                                                                                         
0001d4   5000     MOVF      0x0,0x0,0x0                                                                                     
0001d6   2408     ADDWF     0x8,0x0,0x0                                                                                     
0001d8   0100     MOVLB     0x0                                                                                             
0001da   6fc7     MOVWF     0xc7,0x1                                                                                        
0001dc   5001     MOVF      0x1,0x0,0x0                                                                                     
0001de   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0001e0   0100     MOVLB     0x0                                                                                             
0001e2   6fc8     MOVWF     0xc8,0x1                                                                                        
0001e4   5002     MOVF      0x2,0x0,0x0                                                                                     
0001e6   200a     ADDWFC    0xa,0x0,0x0                                                                                     
0001e8   0100     MOVLB     0x0                                                                                             
0001ea   6fc9     MOVWF     0xc9,0x1                                                                                        
0001ec   5003     MOVF      0x3,0x0,0x0                                                                                     
0001ee   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0001f0   0100     MOVLB     0x0                                                                                             
0001f2   6fca     MOVWF     0xca,0x1                                                                                        
0001f4   c064     MOVFF     0x64,0xc3                       programmerSid   = cm.sid;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0001f6   f0c3                                                                                                               
0001f8   c065     MOVFF     0x65,0xc4                                                                                       
0001fa   f0c4                                                                                                               
0001fc   ec90     CALL      0xb20,0x0                       t               = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0001fe   f005                                                                                                               
000200   c010     MOVFF     0x10,0xbf                                                                                       
000202   f0bf                                                                                                               
000204   c011     MOVFF     0x11,0xc0                                                                                       
000206   f0c0                                                                                                               
000208   c012     MOVFF     0x12,0xc1                                                                                       
00020a   f0c1                                                                                                               
00020c   c013     MOVFF     0x13,0xc2                                                                                       
00020e   f0c2                                                                                                               
000210   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000212   6bc5     CLRF      0xc5,0x1                                                                                        
000214   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000216   0e02     MOVLW     0x2                                                                                             
000218   6fc6     MOVWF     0xc6,0x1                                                                                        
00021a   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00021c   0e01     MOVLW     0x1                                                                                             
00021e   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            // save pgm adress.                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Bootloader timeout                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000220   cfd9     MOVFF     0xfd9,0xfe9                 if ((tickGet()-tBoot)>BOOTLOADER_INIT_TIMOUT)                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000222   ffe9                                                                                                               
000224   cfda     MOVFF     0xfda,0xfea                                                                                     
000226   ffea                                                                                                               
000228   cfee     MOVFF     0xfee,0x4                                                                                       
00022a   f004                                                                                                               
00022c   cfee     MOVFF     0xfee,0x5                                                                                       
00022e   f005                                                                                                               
000230   cfee     MOVFF     0xfee,0x6                                                                                       
000232   f006                                                                                                               
000234   cfef     MOVFF     0xfef,0x7                                                                                       
000236   f007                                                                                                               
000238   c004     MOVFF     0x4,0xfe6                                                                                       
00023a   ffe6                                                                                                               
00023c   c005     MOVFF     0x5,0xfe6                                                                                       
00023e   ffe6                                                                                                               
000240   c006     MOVFF     0x6,0xfe6                                                                                       
000242   ffe6                                                                                                               
000244   c007     MOVFF     0x7,0xfe6                                                                                       
000246   ffe6                                                                                                               
000248   ec90     CALL      0xb20,0x0                                                                                       
00024a   f005                                                                                                               
00024c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00024e   cfe7     MOVFF     0xfe7,0x7                                                                                       
000250   f007                                                                                                               
000252   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000254   cfe7     MOVFF     0xfe7,0x6                                                                                       
000256   f006                                                                                                               
000258   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00025a   cfe7     MOVFF     0xfe7,0x5                                                                                       
00025c   f005                                                                                                               
00025e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000260   cfe7     MOVFF     0xfe7,0x4                                                                                       
000262   f004                                                                                                               
000264   0100     MOVLB     0x0                                                                                             
000266   5004     MOVF      0x4,0x0,0x0                                                                                     
000268   5c10     SUBWF     0x10,0x0,0x0                                                                                    
00026a   6e00     MOVWF     0x0,0x0                                                                                         
00026c   0100     MOVLB     0x0                                                                                             
00026e   5005     MOVF      0x5,0x0,0x0                                                                                     
000270   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000272   6e01     MOVWF     0x1,0x0                                                                                         
000274   0100     MOVLB     0x0                                                                                             
000276   5006     MOVF      0x6,0x0,0x0                                                                                     
000278   5812     SUBWFB    0x12,0x0,0x0                                                                                    
00027a   6e02     MOVWF     0x2,0x0                                                                                         
00027c   0100     MOVLB     0x0                                                                                             
00027e   5007     MOVF      0x7,0x0,0x0                                                                                     
000280   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000282   6e03     MOVWF     0x3,0x0                                                                                         
000284   80d8     BSF       0xd8,0x0,0x0                                                                                    
000286   0ef4     MOVLW     0xf4                                                                                            
000288   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00028a   0e01     MOVLW     0x1                                                                                             
00028c   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00028e   0e00     MOVLW     0x0                                                                                             
000290   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000292   0e00     MOVLW     0x0                                                                                             
000294   5403     SUBFWB    0x3,0x0,0x0                                                                                     
000296   e203     BC        0x29e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000298   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00029a   0e05     MOVLW     0x5                                                                                             
00029c   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00029e   d2a7     BRA       0x7ee                   break;                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsSEND_ACK:                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // send ack                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a0   0e05     MOVLW     0x5                         outCm.funct             = FUNCT_BOOTLOADER;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a2   6adb     CLRF      0xdb,0x0                                                                                        
0002a4   0e04     MOVLW     0x4                         outCm.funcc             = FUNCC_BOOT_ACK;                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a6   6ef3     MOVWF     0xf3,0x0                                                                                        
0002a8   0e06     MOVLW     0x6                                                                                             
0002aa   cff3     MOVFF     0xff3,0xfdb                                                                                     
0002ac   ffdb                                                                                                               
0002ae   0e07     MOVLW     0x7                                                                                             
0002b0   6adb     CLRF      0xdb,0x0                                                                                        
0002b2   0e08     MOVLW     0x8                         outCm.nid               = MY_NID;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0002b4   c0bd     MOVFF     0xbd,0xfdb                                                                                      
0002b6   ffdb                                                                                                               
0002b8   0e09     MOVLW     0x9                         outCm.sid               = MY_ID;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ba   c0bb     MOVFF     0xbb,0xfdb                                                                                      
0002bc   ffdb                                                                                                               
0002be   0e0a     MOVLW     0xa                                                                                             
0002c0   c0bc     MOVFF     0xbc,0xfdb                                                                                      
0002c2   ffdb                                                                                                               
0002c4   0e08     MOVLW     0x8                         outCm.data_length       = 8;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0002c6   6ef3     MOVWF     0xf3,0x0                                                                                        
0002c8   0e0b     MOVLW     0xb                                                                                             
0002ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
0002cc   ffdb                                                                                                               
0002ce   0e10     MOVLW     0x10                        outCm.data[BOOT_DATA_ERR_INDEX] = errMsg;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d0   c0c5     MOVFF     0xc5,0xfdb                                                                                      
0002d2   ffdb                                                                                                               
0002d4   ec90     CALL      0xb20,0x0                   t                       = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d6   f005                                                                                                               
0002d8   c010     MOVFF     0x10,0xbf                                                                                       
0002da   f0bf                                                                                                               
0002dc   c011     MOVFF     0x11,0xc0                                                                                       
0002de   f0c0                                                                                                               
0002e0   c012     MOVFF     0x12,0xc1                                                                                       
0002e2   f0c1                                                                                                               
0002e4   c013     MOVFF     0x13,0xc2                                                                                       
0002e6   f0c2                                                                                                               
0002e8   c0c6     MOVFF     0xc6,0xbe                   pgs                     = afterAckPgs;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ea   f0be                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ec   0e02     MOVLW     0x2                         while(!canSendMessage(outCm,PRIO_HIGH));                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ee   6ee6     MOVWF     0xe6,0x0                                                                                        
0002f0   50d9     MOVF      0xd9,0x0,0x0                                                                                    
0002f2   0f05     ADDLW     0x5                                                                                             
0002f4   6ee9     MOVWF     0xe9,0x0                                                                                        
0002f6   cfda     MOVFF     0xfda,0xfea                                                                                     
0002f8   ffea                                                                                                               
0002fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
0002fc   ffe6                                                                                                               
0002fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
000300   ffe6                                                                                                               
000302   cfee     MOVFF     0xfee,0xfe6                                                                                     
000304   ffe6                                                                                                               
000306   cfee     MOVFF     0xfee,0xfe6                                                                                     
000308   ffe6                                                                                                               
00030a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00030c   ffe6                                                                                                               
00030e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000310   ffe6                                                                                                               
000312   cfee     MOVFF     0xfee,0xfe6                                                                                     
000314   ffe6                                                                                                               
000316   cfee     MOVFF     0xfee,0xfe6                                                                                     
000318   ffe6                                                                                                               
00031a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00031c   ffe6                                                                                                               
00031e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000320   ffe6                                                                                                               
000322   cfee     MOVFF     0xfee,0xfe6                                                                                     
000324   ffe6                                                                                                               
000326   cfee     MOVFF     0xfee,0xfe6                                                                                     
000328   ffe6                                                                                                               
00032a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00032c   ffe6                                                                                                               
00032e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000330   ffe6                                                                                                               
000332   cfee     MOVFF     0xfee,0xfe6                                                                                     
000334   ffe6                                                                                                               
000336   db1e     RCALL     0x974                                                                                           
000338   6e00     MOVWF     0x0,0x0                                                                                         
00033a   0e10     MOVLW     0x10                                                                                            
00033c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00033e   5000     MOVF      0x0,0x0,0x0                                                                                     
000340   0900     IORLW     0x0                                                                                             
000342   e101     BNZ       0x346                                                                                           
000344   d7d3     BRA       0x2ec                                                                                           
000346   d253     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAIT_FIRST_PGM_PACKET:                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // wait for first pgm packet.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000348   dbeb     RCALL     0xb20                       if ((tickGet()-t)>PACKET_TIMEOUT)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00034a   0100     MOVLB     0x0                                                                                             
00034c   51bf     MOVF      0xbf,0x0,0x1                                                                                    
00034e   5c10     SUBWF     0x10,0x0,0x0                                                                                    
000350   6e00     MOVWF     0x0,0x0                                                                                         
000352   0100     MOVLB     0x0                                                                                             
000354   51c0     MOVF      0xc0,0x0,0x1                                                                                    
000356   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000358   6e01     MOVWF     0x1,0x0                                                                                         
00035a   0100     MOVLB     0x0                                                                                             
00035c   51c1     MOVF      0xc1,0x0,0x1                                                                                    
00035e   5812     SUBWFB    0x12,0x0,0x0                                                                                    
000360   6e02     MOVWF     0x2,0x0                                                                                         
000362   0100     MOVLB     0x0                                                                                             
000364   51c2     MOVF      0xc2,0x0,0x1                                                                                    
000366   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000368   6e03     MOVWF     0x3,0x0                                                                                         
00036a   80d8     BSF       0xd8,0x0,0x0                                                                                    
00036c   0e0e     MOVLW     0xe                                                                                             
00036e   5400     SUBFWB    0x0,0x0,0x0                                                                                     
000370   0e00     MOVLW     0x0                                                                                             
000372   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000374   0e00     MOVLW     0x0                                                                                             
000376   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000378   0e00     MOVLW     0x0                                                                                             
00037a   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00037c   e208     BC        0x38e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Timeout, resend ack.                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00037e   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000380   6bc5     CLRF      0xc5,0x1                                                                                        
000382   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000384   0e02     MOVLW     0x2                                                                                             
000386   6fc6     MOVWF     0xc6,0x1                                                                                        
000388   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00038a   0e01     MOVLW     0x1                                                                                             
00038c   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If programming packet...                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00038e   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
000390   04db     DECF      0xdb,0x0,0x0                                                                                    
000392   e001     BZ        0x396                                                                                           
000394   d084     BRA       0x49e                                                                                           
000396   0100     MOVLB     0x0                                                                                             
000398   5160     MOVF      0x60,0x0,0x1                                                                                    
00039a   e001     BZ        0x39e                                                                                           
00039c   d080     BRA       0x49e                                                                                           
00039e   0ee3     MOVLW     0xe3                                                                                            
0003a0   0100     MOVLB     0x0                                                                                             
0003a2   1561     ANDWF     0x61,0x0,0x1                                                                                    
0003a4   6e00     MOVWF     0x0,0x0                                                                                         
0003a6   0e03     MOVLW     0x3                                                                                             
0003a8   0100     MOVLB     0x0                                                                                             
0003aa   1562     ANDWF     0x62,0x0,0x1                                                                                    
0003ac   6e01     MOVWF     0x1,0x0                                                                                         
0003ae   0e03     MOVLW     0x3                                                                                             
0003b0   1800     XORWF     0x0,0x0,0x0                                                                                     
0003b2   e101     BNZ       0x3b6                                                                                           
0003b4   5001     MOVF      0x1,0x0,0x0                                                                                     
0003b6   e173     BNZ       0x49e                                                                                           
0003b8   0100     MOVLB     0x0                                                                                             
0003ba   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0003bc   0100     MOVLB     0x0                                                                                             
0003be   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0003c0   e16e     BNZ       0x49e                                                                                           
0003c2   0100     MOVLB     0x0                                                                                             
0003c4   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0003c6   0100     MOVLB     0x0                                                                                             
0003c8   1964     XORWF     0x64,0x0,0x1                                                                                    
0003ca   e104     BNZ       0x3d4                                                                                           
0003cc   0100     MOVLB     0x0                                                                                             
0003ce   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0003d0   0100     MOVLB     0x0                                                                                             
0003d2   1965     XORWF     0x65,0x0,0x1                                                                                    
0003d4   e164     BNZ       0x49e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003d6   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0003d8   0100     MOVLB     0x0                                                                                             
0003da   1561     ANDWF     0x61,0x0,0x1                                                                                    
0003dc   6e00     MOVWF     0x0,0x0                                                                                         
0003de   6a01     CLRF      0x1,0x0                                                                                         
0003e0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003e2   3201     RRCF      0x1,0x1,0x0                                                                                     
0003e4   3200     RRCF      0x0,0x1,0x0                                                                                     
0003e6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003e8   3201     RRCF      0x1,0x1,0x0                                                                                     
0003ea   3200     RRCF      0x0,0x1,0x0                                                                                     
0003ec   0e08     MOVLW     0x8                                                                                             
0003ee   0200     MULWF     0x0,0x0                                                                                         
0003f0   0e15     MOVLW     0x15                                                                                            
0003f2   cff3     MOVFF     0xff3,0xfdb                                                                                     
0003f4   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Save bytes in memory, setup start adress etc..                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f6   0100     MOVLB     0x0                             bytesReceived   = 8;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f8   0e08     MOVLW     0x8                                                                                             
0003fa   6fcb     MOVWF     0xcb,0x1                                                                                        
0003fc   0e15     MOVLW     0x15                            pgmData[localIndex+0]=cm.data[0]; pgmData[localIndex+1]=cm.data[1]; pgmData[localIndex+2]=cm.data[2]; pgmData[localIndex+3]=cm.data[3]; F:\MCP\projects\CAN\canBoot\Source\Main.c
0003fe   50db     MOVF      0xdb,0x0,0x0                                                                                    
000400   6aea     CLRF      0xea,0x0                                                                                        
000402   0f6f     ADDLW     0x6f                                                                                            
000404   6ee9     MOVWF     0xe9,0x0                                                                                        
000406   0e00     MOVLW     0x0                                                                                             
000408   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00040a   c067     MOVFF     0x67,0xfef                                                                                      
00040c   ffef                                                                                                               
00040e   0e15     MOVLW     0x15                                                                                            
000410   28db     INCF      0xdb,0x0,0x0                                                                                    
000412   6aea     CLRF      0xea,0x0                                                                                        
000414   0f6f     ADDLW     0x6f                                                                                            
000416   6ee9     MOVWF     0xe9,0x0                                                                                        
000418   0e00     MOVLW     0x0                                                                                             
00041a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00041c   c068     MOVFF     0x68,0xfef                                                                                      
00041e   ffef                                                                                                               
000420   0e15     MOVLW     0x15                                                                                            
000422   50db     MOVF      0xdb,0x0,0x0                                                                                    
000424   0f02     ADDLW     0x2                                                                                             
000426   6aea     CLRF      0xea,0x0                                                                                        
000428   0f6f     ADDLW     0x6f                                                                                            
00042a   6ee9     MOVWF     0xe9,0x0                                                                                        
00042c   0e00     MOVLW     0x0                                                                                             
00042e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000430   c069     MOVFF     0x69,0xfef                                                                                      
000432   ffef                                                                                                               
000434   0e15     MOVLW     0x15                                                                                            
000436   50db     MOVF      0xdb,0x0,0x0                                                                                    
000438   0f03     ADDLW     0x3                                                                                             
00043a   6aea     CLRF      0xea,0x0                                                                                        
00043c   0f6f     ADDLW     0x6f                                                                                            
00043e   6ee9     MOVWF     0xe9,0x0                                                                                        
000440   0e00     MOVLW     0x0                                                                                             
000442   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000444   c06a     MOVFF     0x6a,0xfef                                                                                      
000446   ffef                                                                                                               
000448   0e15     MOVLW     0x15                            pgmData[localIndex+4]=cm.data[4]; pgmData[localIndex+5]=cm.data[5]; pgmData[localIndex+6]=cm.data[6]; pgmData[localIndex+7]=cm.data[7]; F:\MCP\projects\CAN\canBoot\Source\Main.c
00044a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00044c   0f04     ADDLW     0x4                                                                                             
00044e   6aea     CLRF      0xea,0x0                                                                                        
000450   0f6f     ADDLW     0x6f                                                                                            
000452   6ee9     MOVWF     0xe9,0x0                                                                                        
000454   0e00     MOVLW     0x0                                                                                             
000456   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000458   c06b     MOVFF     0x6b,0xfef                                                                                      
00045a   ffef                                                                                                               
00045c   0e15     MOVLW     0x15                                                                                            
00045e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000460   0f05     ADDLW     0x5                                                                                             
000462   6aea     CLRF      0xea,0x0                                                                                        
000464   0f6f     ADDLW     0x6f                                                                                            
000466   6ee9     MOVWF     0xe9,0x0                                                                                        
000468   0e00     MOVLW     0x0                                                                                             
00046a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00046c   c06c     MOVFF     0x6c,0xfef                                                                                      
00046e   ffef                                                                                                               
000470   0e15     MOVLW     0x15                                                                                            
000472   50db     MOVF      0xdb,0x0,0x0                                                                                    
000474   0f06     ADDLW     0x6                                                                                             
000476   6aea     CLRF      0xea,0x0                                                                                        
000478   0f6f     ADDLW     0x6f                                                                                            
00047a   6ee9     MOVWF     0xe9,0x0                                                                                        
00047c   0e00     MOVLW     0x0                                                                                             
00047e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000480   c06d     MOVFF     0x6d,0xfef                                                                                      
000482   ffef                                                                                                               
000484   0e15     MOVLW     0x15                                                                                            
000486   50db     MOVF      0xdb,0x0,0x0                                                                                    
000488   0f07     ADDLW     0x7                                                                                             
00048a   6aea     CLRF      0xea,0x0                                                                                        
00048c   0f6f     ADDLW     0x6f                                                                                            
00048e   6ee9     MOVWF     0xe9,0x0                                                                                        
000490   0e00     MOVLW     0x0                                                                                             
000492   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000494   c06e     MOVFF     0x6e,0xfef                                                                                      
000496   ffef                                                                                                               
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000498   0100     MOVLB     0x0                             pgs             = pgsWAIT_PGM_PACKET;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00049a   0e03     MOVLW     0x3                                                                                             
00049c   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00049e   d1a7     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAIT_PGM_PACKET:                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If programming packet...                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a0   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a2   04db     DECF      0xdb,0x0,0x0                                                                                    
0004a4   e001     BZ        0x4a8                                                                                           
0004a6   d084     BRA       0x5b0                                                                                           
0004a8   0100     MOVLB     0x0                                                                                             
0004aa   5160     MOVF      0x60,0x0,0x1                                                                                    
0004ac   e001     BZ        0x4b0                                                                                           
0004ae   d080     BRA       0x5b0                                                                                           
0004b0   0ee3     MOVLW     0xe3                                                                                            
0004b2   0100     MOVLB     0x0                                                                                             
0004b4   1561     ANDWF     0x61,0x0,0x1                                                                                    
0004b6   6e00     MOVWF     0x0,0x0                                                                                         
0004b8   0e03     MOVLW     0x3                                                                                             
0004ba   0100     MOVLB     0x0                                                                                             
0004bc   1562     ANDWF     0x62,0x0,0x1                                                                                    
0004be   6e01     MOVWF     0x1,0x0                                                                                         
0004c0   0e03     MOVLW     0x3                                                                                             
0004c2   1800     XORWF     0x0,0x0,0x0                                                                                     
0004c4   e101     BNZ       0x4c8                                                                                           
0004c6   5001     MOVF      0x1,0x0,0x0                                                                                     
0004c8   e173     BNZ       0x5b0                                                                                           
0004ca   0100     MOVLB     0x0                                                                                             
0004cc   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0004ce   0100     MOVLB     0x0                                                                                             
0004d0   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0004d2   e16e     BNZ       0x5b0                                                                                           
0004d4   0100     MOVLB     0x0                                                                                             
0004d6   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0004d8   0100     MOVLB     0x0                                                                                             
0004da   1964     XORWF     0x64,0x0,0x1                                                                                    
0004dc   e104     BNZ       0x4e6                                                                                           
0004de   0100     MOVLB     0x0                                                                                             
0004e0   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0004e2   0100     MOVLB     0x0                                                                                             
0004e4   1965     XORWF     0x65,0x0,0x1                                                                                    
0004e6   e164     BNZ       0x5b0                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004e8   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ea   0100     MOVLB     0x0                                                                                             
0004ec   1561     ANDWF     0x61,0x0,0x1                                                                                    
0004ee   6e00     MOVWF     0x0,0x0                                                                                         
0004f0   6a01     CLRF      0x1,0x0                                                                                         
0004f2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004f4   3201     RRCF      0x1,0x1,0x0                                                                                     
0004f6   3200     RRCF      0x0,0x1,0x0                                                                                     
0004f8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004fa   3201     RRCF      0x1,0x1,0x0                                                                                     
0004fc   3200     RRCF      0x0,0x1,0x0                                                                                     
0004fe   0e08     MOVLW     0x8                                                                                             
000500   0200     MULWF     0x0,0x0                                                                                         
000502   0e16     MOVLW     0x16                                                                                            
000504   cff3     MOVFF     0xff3,0xfdb                                                                                     
000506   ffdb                                                                                                               
                                                            // Save bytes in memory, inc received bytes.                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000508   0e16     MOVLW     0x16                            pgmData[localIndex+0]=cm.data[0]; pgmData[localIndex+1]=cm.data[1]; pgmData[localIndex+2]=cm.data[2]; pgmData[localIndex+3]=cm.data[3]; F:\MCP\projects\CAN\canBoot\Source\Main.c
00050a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00050c   6aea     CLRF      0xea,0x0                                                                                        
00050e   0f6f     ADDLW     0x6f                                                                                            
000510   6ee9     MOVWF     0xe9,0x0                                                                                        
000512   0e00     MOVLW     0x0                                                                                             
000514   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000516   c067     MOVFF     0x67,0xfef                                                                                      
000518   ffef                                                                                                               
00051a   0e16     MOVLW     0x16                                                                                            
00051c   28db     INCF      0xdb,0x0,0x0                                                                                    
00051e   6aea     CLRF      0xea,0x0                                                                                        
000520   0f6f     ADDLW     0x6f                                                                                            
000522   6ee9     MOVWF     0xe9,0x0                                                                                        
000524   0e00     MOVLW     0x0                                                                                             
000526   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000528   c068     MOVFF     0x68,0xfef                                                                                      
00052a   ffef                                                                                                               
00052c   0e16     MOVLW     0x16                                                                                            
00052e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000530   0f02     ADDLW     0x2                                                                                             
000532   6aea     CLRF      0xea,0x0                                                                                        
000534   0f6f     ADDLW     0x6f                                                                                            
000536   6ee9     MOVWF     0xe9,0x0                                                                                        
000538   0e00     MOVLW     0x0                                                                                             
00053a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00053c   c069     MOVFF     0x69,0xfef                                                                                      
00053e   ffef                                                                                                               
000540   0e16     MOVLW     0x16                                                                                            
000542   50db     MOVF      0xdb,0x0,0x0                                                                                    
000544   0f03     ADDLW     0x3                                                                                             
000546   6aea     CLRF      0xea,0x0                                                                                        
000548   0f6f     ADDLW     0x6f                                                                                            
00054a   6ee9     MOVWF     0xe9,0x0                                                                                        
00054c   0e00     MOVLW     0x0                                                                                             
00054e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000550   c06a     MOVFF     0x6a,0xfef                                                                                      
000552   ffef                                                                                                               
000554   0e16     MOVLW     0x16                            pgmData[localIndex+4]=cm.data[4]; pgmData[localIndex+5]=cm.data[5]; pgmData[localIndex+6]=cm.data[6]; pgmData[localIndex+7]=cm.data[7]; F:\MCP\projects\CAN\canBoot\Source\Main.c
000556   50db     MOVF      0xdb,0x0,0x0                                                                                    
000558   0f04     ADDLW     0x4                                                                                             
00055a   6aea     CLRF      0xea,0x0                                                                                        
00055c   0f6f     ADDLW     0x6f                                                                                            
00055e   6ee9     MOVWF     0xe9,0x0                                                                                        
000560   0e00     MOVLW     0x0                                                                                             
000562   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000564   c06b     MOVFF     0x6b,0xfef                                                                                      
000566   ffef                                                                                                               
000568   0e16     MOVLW     0x16                                                                                            
00056a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00056c   0f05     ADDLW     0x5                                                                                             
00056e   6aea     CLRF      0xea,0x0                                                                                        
000570   0f6f     ADDLW     0x6f                                                                                            
000572   6ee9     MOVWF     0xe9,0x0                                                                                        
000574   0e00     MOVLW     0x0                                                                                             
000576   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000578   c06c     MOVFF     0x6c,0xfef                                                                                      
00057a   ffef                                                                                                               
00057c   0e16     MOVLW     0x16                                                                                            
00057e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000580   0f06     ADDLW     0x6                                                                                             
000582   6aea     CLRF      0xea,0x0                                                                                        
000584   0f6f     ADDLW     0x6f                                                                                            
000586   6ee9     MOVWF     0xe9,0x0                                                                                        
000588   0e00     MOVLW     0x0                                                                                             
00058a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00058c   c06d     MOVFF     0x6d,0xfef                                                                                      
00058e   ffef                                                                                                               
000590   0e16     MOVLW     0x16                                                                                            
000592   50db     MOVF      0xdb,0x0,0x0                                                                                    
000594   0f07     ADDLW     0x7                                                                                             
000596   6aea     CLRF      0xea,0x0                                                                                        
000598   0f6f     ADDLW     0x6f                                                                                            
00059a   6ee9     MOVWF     0xe9,0x0                                                                                        
00059c   0e00     MOVLW     0x0                                                                                             
00059e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005a0   c06e     MOVFF     0x6e,0xfef                                                                                      
0005a2   ffef                                                                                                               
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a4   0e08     MOVLW     0x8                             bytesReceived   += 8;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a6   0100     MOVLB     0x0                                                                                             
0005a8   27cb     ADDWF     0xcb,0x1,0x1                                                                                    
0005aa   0100     MOVLB     0x0                             pgs              = pgsWAIT_PGM_PACKET;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ac   0e03     MOVLW     0x3                                                                                             
0005ae   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If adress packet (control packet)..                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0005b0   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_ADDR && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
0005b2   04db     DECF      0xdb,0x0,0x0                                                                                    
0005b4   e120     BNZ       0x5f6                                                                                           
0005b6   0100     MOVLB     0x0                                                                                             
0005b8   5160     MOVF      0x60,0x0,0x1                                                                                    
0005ba   e11d     BNZ       0x5f6                                                                                           
0005bc   0100     MOVLB     0x0                                                                                             
0005be   0e02     MOVLW     0x2                                                                                             
0005c0   1961     XORWF     0x61,0x0,0x1                                                                                    
0005c2   e101     BNZ       0x5c6                                                                                           
0005c4   5162     MOVF      0x62,0x0,0x1                                                                                    
0005c6   e117     BNZ       0x5f6                                                                                           
0005c8   0100     MOVLB     0x0                                                                                             
0005ca   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0005cc   0100     MOVLB     0x0                                                                                             
0005ce   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0005d0   e112     BNZ       0x5f6                                                                                           
0005d2   0100     MOVLB     0x0                                                                                             
0005d4   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0005d6   0100     MOVLB     0x0                                                                                             
0005d8   1964     XORWF     0x64,0x0,0x1                                                                                    
0005da   e104     BNZ       0x5e4                                                                                           
0005dc   0100     MOVLB     0x0                                                                                             
0005de   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0005e0   0100     MOVLB     0x0                                                                                             
0005e2   1965     XORWF     0x65,0x0,0x1                                                                                    
0005e4   e108     BNZ       0x5f6                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Send ack and goto wait first packet.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // save adress.                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0005e6   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0005e8   6bc5     CLRF      0xc5,0x1                                                                                        
0005ea   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ec   0e02     MOVLW     0x2                                                                                             
0005ee   6fc6     MOVWF     0xc6,0x1                                                                                        
0005f0   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0005f2   0e01     MOVLW     0x1                                                                                             
0005f4   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If end packet...                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0005f6   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && cm.funcc==FUNCC_BOOT_DONE && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
0005f8   04db     DECF      0xdb,0x0,0x0                                                                                    
0005fa   e138     BNZ       0x66c                                                                                           
0005fc   0100     MOVLB     0x0                                                                                             
0005fe   5160     MOVF      0x60,0x0,0x1                                                                                    
000600   e135     BNZ       0x66c                                                                                           
000602   0100     MOVLB     0x0                                                                                             
000604   0e05     MOVLW     0x5                                                                                             
000606   1961     XORWF     0x61,0x0,0x1                                                                                    
000608   e101     BNZ       0x60c                                                                                           
00060a   5162     MOVF      0x62,0x0,0x1                                                                                    
00060c   e12f     BNZ       0x66c                                                                                           
00060e   0100     MOVLB     0x0                                                                                             
000610   51bd     MOVF      0xbd,0x0,0x1                                                                                    
000612   0100     MOVLB     0x0                                                                                             
000614   5d63     SUBWF     0x63,0x0,0x1                                                                                    
000616   e12a     BNZ       0x66c                                                                                           
000618   0100     MOVLB     0x0                                                                                             
00061a   51c3     MOVF      0xc3,0x0,0x1                                                                                    
00061c   0100     MOVLB     0x0                                                                                             
00061e   1964     XORWF     0x64,0x0,0x1                                                                                    
000620   e104     BNZ       0x62a                                                                                           
000622   0100     MOVLB     0x0                                                                                             
000624   51c4     MOVF      0xc4,0x0,0x1                                                                                    
000626   0100     MOVLB     0x0                                                                                             
000628   1965     XORWF     0x65,0x0,0x1                                                                                    
00062a   e120     BNZ       0x66c                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // write program.                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If no bytes received at all, assume end.                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If not 64 bytes received, send error ack and wait for first packet.      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // If 64, write.                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00062c   0100     MOVLB     0x0                             if (bytesReceived==0)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00062e   51cb     MOVF      0xcb,0x0,0x1                                                                                    
000630   e109     BNZ       0x644                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                // No received, done.                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000632   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_NO_ERROR;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000634   6bc5     CLRF      0xc5,0x1                                                                                        
000636   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000638   0e05     MOVLW     0x5                                                                                             
00063a   6fc6     MOVWF     0xc6,0x1                                                                                        
00063c   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00063e   0e01     MOVLW     0x1                                                                                             
000640   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000642   d014     BRA       0x66c                           else if (bytesReceived!=64)                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000644   0e40     MOVLW     0x40                                                                                            
000646   0100     MOVLB     0x0                                                                                             
000648   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
00064a   e00a     BZ        0x660                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00064c   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_ERROR;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00064e   0e01     MOVLW     0x1                                                                                             
000650   6fc5     MOVWF     0xc5,0x1                                                                                        
000652   0100     MOVLB     0x0                                 afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000654   0e02     MOVLW     0x2                                                                                             
000656   6fc6     MOVWF     0xc6,0x1                                                                                        
000658   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00065a   0e01     MOVLW     0x1                                                                                             
00065c   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00065e   d006     BRA       0x66c                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000660   0100     MOVLB     0x0                                 pgs              = pgsWRITE_PROGRAM;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000662   0e04     MOVLW     0x4                                                                                             
000664   6fbe     MOVWF     0xbe,0x1                                                                                        
000666   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000668   0e05     MOVLW     0x5                                                                                             
00066a   6fc6     MOVWF     0xc6,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // If bytes received 64, write..                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
00066c   0e40     MOVLW     0x40                        if (bytesReceived==64)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00066e   0100     MOVLB     0x0                                                                                             
000670   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
000672   e107     BNZ       0x682                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000674   7282     BTG       0x82,0x1,0x0                    LED0_IO=~LED0_IO;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000676   0100     MOVLB     0x0                             pgs              = pgsWRITE_PROGRAM;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000678   0e04     MOVLW     0x4                                                                                             
00067a   6fbe     MOVWF     0xbe,0x1                                                                                        
00067c   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_PGM_PACKET;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00067e   0e03     MOVLW     0x3                                                                                             
000680   6fc6     MOVWF     0xc6,0x1                                                                                        
                                                            // TODO! Send ack more than once..                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000682   d0b5     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWRITE_PROGRAM:                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000684   0004     CLRWDT                                ClrWdt();                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Write program and send ack.                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Check addr limit                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000686   0e00     MOVLW     0x0                         if (pgmAddress<RM_RESET_VECTOR)                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000688   0100     MOVLB     0x0                                                                                             
00068a   5dc7     SUBWF     0xc7,0x0,0x1                                                                                    
00068c   0e10     MOVLW     0x10                                                                                            
00068e   59c8     SUBWFB    0xc8,0x0,0x1                                                                                    
000690   0e00     MOVLW     0x0                                                                                             
000692   59c9     SUBWFB    0xc9,0x0,0x1                                                                                    
000694   0e00     MOVLW     0x0                                                                                             
000696   59ca     SUBWFB    0xca,0x0,0x1                                                                                    
000698   e206     BC        0x6a6                                                                                           
                                                        {                                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00069a   0100     MOVLB     0x0                             errMsg          = ACK_ERR_ERROR;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00069c   0e01     MOVLW     0x1                                                                                             
00069e   6fc5     MOVWF     0xc5,0x1                                                                                        
0006a0   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a2   0e01     MOVLW     0x1                                                                                             
0006a4   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            //Not allowed to write here!                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        //Load Table pointer registers with base address to erase.                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a6   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a8   f000                                                                                                               
0006aa   c0c8     MOVFF     0xc8,0x1                                                                                        
0006ac   f001                                                                                                               
0006ae   c0c9     MOVFF     0xc9,0x2                                                                                        
0006b0   f002                                                                                                               
0006b2   c0ca     MOVFF     0xca,0x3                                                                                        
0006b4   f003                                                                                                               
0006b6   6a00     CLRF      0x0,0x0                                                                                         
0006b8   6a01     CLRF      0x1,0x0                                                                                         
0006ba   6a03     CLRF      0x3,0x0                                                                                         
0006bc   0e10     MOVLW     0x10                                                                                            
0006be   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006c0   3203     RRCF      0x3,0x1,0x0                                                                                     
0006c2   3202     RRCF      0x2,0x1,0x0                                                                                     
0006c4   3201     RRCF      0x1,0x1,0x0                                                                                     
0006c6   3200     RRCF      0x0,0x1,0x0                                                                                     
0006c8   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006ca   e1f9     BNZ       0x6be                                                                                           
0006cc   5000     MOVF      0x0,0x0,0x0                                                                                     
0006ce   6ef8     MOVWF     0xf8,0x0                                                                                        
0006d0   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d2   f000                                                                                                               
0006d4   c0c8     MOVFF     0xc8,0x1                                                                                        
0006d6   f001                                                                                                               
0006d8   c0c9     MOVFF     0xc9,0x2                                                                                        
0006da   f002                                                                                                               
0006dc   c0ca     MOVFF     0xca,0x3                                                                                        
0006de   f003                                                                                                               
0006e0   6a00     CLRF      0x0,0x0                                                                                         
0006e2   6a02     CLRF      0x2,0x0                                                                                         
0006e4   6a03     CLRF      0x3,0x0                                                                                         
0006e6   0e08     MOVLW     0x8                                                                                             
0006e8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006ea   3203     RRCF      0x3,0x1,0x0                                                                                     
0006ec   3202     RRCF      0x2,0x1,0x0                                                                                     
0006ee   3201     RRCF      0x1,0x1,0x0                                                                                     
0006f0   3200     RRCF      0x0,0x1,0x0                                                                                     
0006f2   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006f4   e1f9     BNZ       0x6e8                                                                                           
0006f6   5000     MOVF      0x0,0x0,0x0                                                                                     
0006f8   6ef7     MOVWF     0xf7,0x0                                                                                        
0006fa   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0006fc   51c7     MOVF      0xc7,0x0,0x1                                                                                    
0006fe   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // point to Flash program memory                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000700   8ea6     BSF       0xa6,0x7,0x0                EECON1bits.EEPGD = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // access Flash program memory                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000702   9ca6     BCF       0xa6,0x6,0x0                EECON1bits.CFGS = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // enable write to memory                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000704   84a6     BSF       0xa6,0x2,0x0                EECON1bits.WREN = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // enable Row Erase operation                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000706   88a6     BSF       0xa6,0x4,0x0                EECON1bits.FREE = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // disable interrupts                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000708   9ef2     BCF       0xf2,0x7,0x0                INTCONbits.GIE = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Do it!                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00070a   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00070c   6ea7     MOVWF     0xa7,0x0                                                                                        
00070e   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000710   6ea7     MOVWF     0xa7,0x0                                                                                        
000712   82a6     BSF       0xa6,0x1,0x0                EECON1bits.WR = 1;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // enable interrupts                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000714   8ef2     BSF       0xf2,0x7,0x0                INTCONbits.GIE = 1;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        //Load Table pointer registers with base address to program.                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000716   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000718   f000                                                                                                               
00071a   c0c8     MOVFF     0xc8,0x1                                                                                        
00071c   f001                                                                                                               
00071e   c0c9     MOVFF     0xc9,0x2                                                                                        
000720   f002                                                                                                               
000722   c0ca     MOVFF     0xca,0x3                                                                                        
000724   f003                                                                                                               
000726   6a00     CLRF      0x0,0x0                                                                                         
000728   6a01     CLRF      0x1,0x0                                                                                         
00072a   6a03     CLRF      0x3,0x0                                                                                         
00072c   0e10     MOVLW     0x10                                                                                            
00072e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000730   3203     RRCF      0x3,0x1,0x0                                                                                     
000732   3202     RRCF      0x2,0x1,0x0                                                                                     
000734   3201     RRCF      0x1,0x1,0x0                                                                                     
000736   3200     RRCF      0x0,0x1,0x0                                                                                     
000738   06e8     DECF      0xe8,0x1,0x0                                                                                    
00073a   e1f9     BNZ       0x72e                                                                                           
00073c   5000     MOVF      0x0,0x0,0x0                                                                                     
00073e   6ef8     MOVWF     0xf8,0x0                                                                                        
000740   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000742   f000                                                                                                               
000744   c0c8     MOVFF     0xc8,0x1                                                                                        
000746   f001                                                                                                               
000748   c0c9     MOVFF     0xc9,0x2                                                                                        
00074a   f002                                                                                                               
00074c   c0ca     MOVFF     0xca,0x3                                                                                        
00074e   f003                                                                                                               
000750   6a00     CLRF      0x0,0x0                                                                                         
000752   6a02     CLRF      0x2,0x0                                                                                         
000754   6a03     CLRF      0x3,0x0                                                                                         
000756   0e08     MOVLW     0x8                                                                                             
000758   90d8     BCF       0xd8,0x0,0x0                                                                                    
00075a   3203     RRCF      0x3,0x1,0x0                                                                                     
00075c   3202     RRCF      0x2,0x1,0x0                                                                                     
00075e   3201     RRCF      0x1,0x1,0x0                                                                                     
000760   3200     RRCF      0x0,0x1,0x0                                                                                     
000762   06e8     DECF      0xe8,0x1,0x0                                                                                    
000764   e1f9     BNZ       0x758                                                                                           
000766   5000     MOVF      0x0,0x0,0x0                                                                                     
000768   6ef7     MOVWF     0xf7,0x0                                                                                        
00076a   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00076c   51c7     MOVF      0xc7,0x0,0x1                                                                                    
00076e   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Load bytes                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000770   0e04     MOVLW     0x4                         for(i=0;i<63;i++)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000772   6adb     CLRF      0xdb,0x0                                                                                        
000774   0e3f     MOVLW     0x3f                                                                                            
000776   6ef3     MOVWF     0xf3,0x0                                                                                        
000778   0e04     MOVLW     0x4                                                                                             
00077a   cfdb     MOVFF     0xfdb,0xff4                                                                                     
00077c   fff4                                                                                                               
00077e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000780   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
000782   e20d     BC        0x79e                                                                                           
000798   0e04     MOVLW     0x4                                                                                             
00079a   2adb     INCF      0xdb,0x1,0x0                                                                                    
00079c   d7eb     BRA       0x774                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000784   0e04     MOVLW     0x4                             TABLAT=pgmData[i];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000786   50db     MOVF      0xdb,0x0,0x0                                                                                    
000788   6aea     CLRF      0xea,0x0                                                                                        
00078a   0f6f     ADDLW     0x6f                                                                                            
00078c   6ee9     MOVWF     0xe9,0x0                                                                                        
00078e   0e00     MOVLW     0x0                                                                                             
000790   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000792   50ef     MOVF      0xef,0x0,0x0                                                                                    
000794   6ef5     MOVWF     0xf5,0x0                                                                                        
000796   d9c2     RCALL     0xb1c                           TBLWTPOSTINC_Func();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00079e   c0ae     MOVFF     0xae,0xff5                  TABLAT=pgmData[63];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a0   fff5                                                                                                               
0007a2   d9ba     RCALL     0xb18                       TBLWT_Func();                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // point to Flash program memory                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a4   8ea6     BSF       0xa6,0x7,0x0                EECON1bits.EEPGD = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // access Flash program memory                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a6   9ca6     BCF       0xa6,0x6,0x0                EECON1bits.CFGS = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // enable write to memory                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a8   84a6     BSF       0xa6,0x2,0x0                EECON1bits.WREN = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // disable interrupts                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0007aa   9ef2     BCF       0xf2,0x7,0x0                INTCONbits.GIE = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Do it!                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ac   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ae   6ea7     MOVWF     0xa7,0x0                                                                                        
0007b0   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b2   6ea7     MOVWF     0xa7,0x0                                                                                        
0007b4   82a6     BSF       0xa6,0x1,0x0                EECON1bits.WR = 1;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // enable interrupts                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b6   8ef2     BSF       0xf2,0x7,0x0                INTCONbits.GIE = 1;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // disable write to memory                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b8   94a6     BCF       0xa6,0x2,0x0                EECON1bits.WREN = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ba   0e40     MOVLW     0x40                        pgmAddress     += 64;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007bc   0100     MOVLB     0x0                                                                                             
0007be   27c7     ADDWF     0xc7,0x1,0x1                                                                                    
0007c0   0e00     MOVLW     0x0                                                                                             
0007c2   0100     MOVLB     0x0                                                                                             
0007c4   23c8     ADDWFC    0xc8,0x1,0x1                                                                                    
0007c6   0e00     MOVLW     0x0                                                                                             
0007c8   0100     MOVLB     0x0                                                                                             
0007ca   23c9     ADDWFC    0xc9,0x1,0x1                                                                                    
0007cc   0e00     MOVLW     0x0                                                                                             
0007ce   0100     MOVLB     0x0                                                                                             
0007d0   23ca     ADDWFC    0xca,0x1,0x1                                                                                    
0007d2   0100     MOVLB     0x0                         bytesReceived   = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d4   6bcb     CLRF      0xcb,0x1                                                                                        
0007d6   0100     MOVLB     0x0                         errMsg          = ACK_ERR_NO_ERROR;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d8   6bc5     CLRF      0xc5,0x1                                                                                        
0007da   0100     MOVLB     0x0                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0007dc   0e01     MOVLW     0x1                                                                                             
0007de   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e0   d006     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsDONE:                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e2   ef00     GOTO      0x1000                      _asm  goto RM_RESET_VECTOR _endasm                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e4   f008                                                                                                               
0007e6   d003     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    default:                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e8   0100     MOVLB     0x0                         pgs = pgsWATING_START;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ea   6bbe     CLRF      0xbe,0x1                                                                                        
0007ec   d000     BRA       0x7ee                   break;                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007f0   0e17     MOVLW     0x17           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0007f2   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0007f4   e202     BC        0x7fa                                                                                           
0007f6   6ae1     CLRF      0xe1,0x0                                                                                        
0007f8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007fa   6ee1     MOVWF     0xe1,0x0                                                                                        
0007fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007fe   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000800   ffd9                                                                                                               
000802   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: mainInit                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Se code                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000804   9294     BCF       0x94,0x1,0x0    LED0_TRIS=0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                               // Enable internal PORTB pull-ups                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000806   9ef1     BCF       0xf1,0x7,0x0       INTCON2bits.RBPU = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Enable Interrupts                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000808   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00080a   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Enable interrupt prirority                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00080c   8ed0     BSF       0xd0,0x7,0x0    RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00080e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /// CAN-------------------------------------------------------                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: canInit                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: none                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000810   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000812   6e6f     MOVWF     0x6f,0x0                                                                                        
000814   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
000816   146e     ANDWF     0x6e,0x0,0x0                                                                                    
000818   0880     SUBLW     0x80                                                                                            
00081a   e001     BZ        0x81e                                                                                           
00081c   d7fb     BRA       0x814                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00081e   6a70     CLRF      0x70,0x0        BRGCON1=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000820   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000822   8c70     BSF       0x70,0x6,0x0    BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Setting BRP.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000824   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000826   1070     IORWF     0x70,0x0,0x0                                                                                    
000828   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00082a   8e71     BSF       0x71,0x7,0x0    BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00082c   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
00082e   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000830   8671     BSF       0x71,0x3,0x0    BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000832   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000834   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000836   8071     BSF       0x71,0x0,0x0    BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000838   9e72     BCF       0x72,0x7,0x0    BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00083a   9c72     BCF       0x72,0x6,0x0    BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00083c   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
00083e   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000840   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000842   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000844   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000846   9c77     BCF       0x77,0x6,0x0    ECANCONbits.MDSEL0 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000848   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
00084a   9a60     BCF       0x60,0x5,0x0    RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // INTERRUPTS                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00084c   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00084e   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000850   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000852   6aa3     CLRF      0xa3,0x0        PIE3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Programmable no buffers interrupt                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000854   6bfa     CLRF      0xfa,0x1        BIE0  = 0x00;                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //loopback mode or not                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000856   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000858   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00085a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00085c   e001     BZ        0x860                                                                                           
00085e   d7fc     BRA       0x858                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000860   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: canGetPacket                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  none                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: none                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: none.                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           BOOL canGetPacket()                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Get which buffer that is ful.                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000862   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000864   146f     ANDWF     0x6f,0x0,0x0                                                                                    
000866   0910     IORLW     0x10                                                                                            
000868   6e00     MOVWF     0x0,0x0                                                                                         
00086a   0e00     MOVLW     0x0                                                                                             
00086c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00086e   1000     IORWF     0x0,0x0,0x0                                                                                     
000870   6e77     MOVWF     0x77,0x0                                                                                        
000872   be60     BTFSC     0x60,0x7,0x0        if (!RXB0CONbits.RXFUL) return FALSE;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000874   d002     BRA       0x87a                                                                                           
000876   0e00     MOVLW     0x0                                                                                             
000878   d07c     BRA       0x972                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00087a   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00087c   1461     ANDWF     0x61,0x0,0x0                                                                                    
00087e   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000880   0b0f     ANDLW     0xf                                                                                             
000882   0100     MOVLB     0x0                                                                                             
000884   6f60     MOVWF     0x60,0x1                                                                                        
000886   0e0f     MOVLW     0xf                    cm.funcc=(((WORD)(RXB0SIDH & 0x0F))<<6)+(((WORD)(RXB0SIDL & 0xE0))>>2)+(((WORD)(RXB0SIDL & 0x03))<<1)+(((WORD)(RXB0EIDH & 0x80))>>7); F:\MCP\projects\CAN\canBoot\Source\Main.c
000888   1461     ANDWF     0x61,0x0,0x0                                                                                    
00088a   6e04     MOVWF     0x4,0x0                                                                                         
00088c   6a05     CLRF      0x5,0x0                                                                                         
00088e   0e06     MOVLW     0x6                                                                                             
000890   90d8     BCF       0xd8,0x0,0x0                                                                                    
000892   3604     RLCF      0x4,0x1,0x0                                                                                     
000894   3605     RLCF      0x5,0x1,0x0                                                                                     
000896   04e8     DECF      0xe8,0x0,0x0                                                                                    
000898   e1fb     BNZ       0x890                                                                                           
00089a   0ee0     MOVLW     0xe0                                                                                            
00089c   1462     ANDWF     0x62,0x0,0x0                                                                                    
00089e   6e06     MOVWF     0x6,0x0                                                                                         
0008a0   6a07     CLRF      0x7,0x0                                                                                         
0008a2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008a4   3207     RRCF      0x7,0x1,0x0                                                                                     
0008a6   3206     RRCF      0x6,0x1,0x0                                                                                     
0008a8   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008aa   3207     RRCF      0x7,0x1,0x0                                                                                     
0008ac   3206     RRCF      0x6,0x1,0x0                                                                                     
0008ae   5004     MOVF      0x4,0x0,0x0                                                                                     
0008b0   2406     ADDWF     0x6,0x0,0x0                                                                                     
0008b2   6e02     MOVWF     0x2,0x0                                                                                         
0008b4   5005     MOVF      0x5,0x0,0x0                                                                                     
0008b6   2007     ADDWFC    0x7,0x0,0x0                                                                                     
0008b8   6e03     MOVWF     0x3,0x0                                                                                         
0008ba   0e03     MOVLW     0x3                                                                                             
0008bc   1462     ANDWF     0x62,0x0,0x0                                                                                    
0008be   6e08     MOVWF     0x8,0x0                                                                                         
0008c0   6a09     CLRF      0x9,0x0                                                                                         
0008c2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008c4   3608     RLCF      0x8,0x1,0x0                                                                                     
0008c6   3609     RLCF      0x9,0x1,0x0                                                                                     
0008c8   5002     MOVF      0x2,0x0,0x0                                                                                     
0008ca   2408     ADDWF     0x8,0x0,0x0                                                                                     
0008cc   6e00     MOVWF     0x0,0x0                                                                                         
0008ce   5003     MOVF      0x3,0x0,0x0                                                                                     
0008d0   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0008d2   6e01     MOVWF     0x1,0x0                                                                                         
0008d4   0e80     MOVLW     0x80                                                                                            
0008d6   1463     ANDWF     0x63,0x0,0x0                                                                                    
0008d8   6e0a     MOVWF     0xa,0x0                                                                                         
0008da   6a0b     CLRF      0xb,0x0                                                                                         
0008dc   0e07     MOVLW     0x7                                                                                             
0008de   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008e0   320b     RRCF      0xb,0x1,0x0                                                                                     
0008e2   320a     RRCF      0xa,0x1,0x0                                                                                     
0008e4   04e8     DECF      0xe8,0x0,0x0                                                                                    
0008e6   e1fb     BNZ       0x8de                                                                                           
0008e8   5000     MOVF      0x0,0x0,0x0                                                                                     
0008ea   240a     ADDWF     0xa,0x0,0x0                                                                                     
0008ec   0100     MOVLB     0x0                                                                                             
0008ee   6f61     MOVWF     0x61,0x1                                                                                        
0008f0   5001     MOVF      0x1,0x0,0x0                                                                                     
0008f2   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0008f4   6f62     MOVWF     0x62,0x1                                                                                        
0008f6   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0008f8   1463     ANDWF     0x63,0x0,0x0                                                                                    
0008fa   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0008fc   0b7f     ANDLW     0x7f                                                                                            
0008fe   6f63     MOVWF     0x63,0x1                                                                                        
000900   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000902   1463     ANDWF     0x63,0x0,0x0                                                                                    
000904   6e00     MOVWF     0x0,0x0                                                                                         
000906   c000     MOVFF     0x0,0x1                                                                                         
000908   f001                                                                                                               
00090a   6a00     CLRF      0x0,0x0                                                                                         
00090c   5064     MOVF      0x64,0x0,0x0                                                                                    
00090e   2400     ADDWF     0x0,0x0,0x0                                                                                     
000910   6f64     MOVWF     0x64,0x1                                                                                        
000912   0e00     MOVLW     0x0                                                                                             
000914   2001     ADDWFC    0x1,0x0,0x0                                                                                     
000916   6f65     MOVWF     0x65,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000918   5065     MOVF      0x65,0x0,0x0        cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBoot\Source\Main.c
00091a   0b01     ANDLW     0x1                                                                                             
00091c   6e02     MOVWF     0x2,0x0                                                                                         
00091e   5065     MOVF      0x65,0x0,0x0                                                                                    
000920   0b02     ANDLW     0x2                                                                                             
000922   e001     BZ        0x926                                                                                           
000924   0e01     MOVLW     0x1                                                                                             
000926   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000928   6e01     MOVWF     0x1,0x0                                                                                         
00092a   5065     MOVF      0x65,0x0,0x0                                                                                    
00092c   0b04     ANDLW     0x4                                                                                             
00092e   e001     BZ        0x932                                                                                           
000930   0e01     MOVLW     0x1                                                                                             
000932   0d04     MULLW     0x4                                                                                             
000934   cff3     MOVFF     0xff3,0x0                                                                                       
000936   f000                                                                                                               
000938   5065     MOVF      0x65,0x0,0x0                                                                                    
00093a   0b08     ANDLW     0x8                                                                                             
00093c   e001     BZ        0x940                                                                                           
00093e   0e01     MOVLW     0x1                                                                                             
000940   0d08     MULLW     0x8                                                                                             
000942   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000944   2400     ADDWF     0x0,0x0,0x0                                                                                     
000946   2401     ADDWF     0x1,0x0,0x0                                                                                     
000948   2402     ADDWF     0x2,0x0,0x0                                                                                     
00094a   6f66     MOVWF     0x66,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00094c   cf66     MOVFF     0xf66,0x67          cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00094e   f067                                                                                                               
000950   cf67     MOVFF     0xf67,0x68                                                                                      
000952   f068                                                                                                               
000954   cf68     MOVFF     0xf68,0x69          cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000956   f069                                                                                                               
000958   cf69     MOVFF     0xf69,0x6a                                                                                      
00095a   f06a                                                                                                               
00095c   cf6a     MOVFF     0xf6a,0x6b          cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00095e   f06b                                                                                                               
000960   cf6b     MOVFF     0xf6b,0x6c                                                                                      
000962   f06c                                                                                                               
000964   cf6c     MOVFF     0xf6c,0x6d          cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000966   f06d                                                                                                               
000968   cf6d     MOVFF     0xf6d,0x6e                                                                                      
00096a   f06e                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00096c   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00096e   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000970   d000     BRA       0x972                                                                                           
000972   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Function: canSendMessage                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Input:  CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Affects: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           *    Depends: ..                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           */                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000974   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PROTO_MESSAGE cm,CAN_PRIORITY prio)                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000976   ffe6                                                                                                               
000978   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00097a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00097c   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00097e   b740     BTFSC     0x40,0x3,0x1                                                                                    
000980   d004     BRA       0x98a                                                                                           
000982   0e00     MOVLW     0x0                                                                                             
000984   1477     ANDWF     0x77,0x0,0x0                                                                                    
000986   0903     IORLW     0x3                                                                                             
000988   6e77     MOVWF     0x77,0x0                                                                                        
00098a   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00098c   b730     BTFSC     0x30,0x3,0x1                                                                                    
00098e   d004     BRA       0x998                                                                                           
000990   0e00     MOVLW     0x0                                                                                             
000992   1477     ANDWF     0x77,0x0,0x0                                                                                    
000994   0904     IORLW     0x4                                                                                             
000996   6e77     MOVWF     0x77,0x0                                                                                        
000998   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00099a   b720     BTFSC     0x20,0x3,0x1                                                                                    
00099c   d005     BRA       0x9a8                                                                                           
00099e   0e00     MOVLW     0x0                                                                                             
0009a0   1477     ANDWF     0x77,0x0,0x0                                                                                    
0009a2   0905     IORLW     0x5                                                                                             
0009a4   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a6   d002     BRA       0x9ac           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a8   0e00     MOVLW     0x0                                                                                             
0009aa   d0b0     BRA       0xb0c                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009ac   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0009ae   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009b0   f000                                                                                                               
0009b2   3400     RLCF      0x0,0x0,0x0                                                                                     
0009b4   e20e     BC        0x9d2                                                                                           
0009b6   0eef     MOVLW     0xef                                                                                            
0009b8   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009ba   f001                                                                                                               
0009bc   0e03     MOVLW     0x3                                                                                             
0009be   6ee7     MOVWF     0xe7,0x0                                                                                        
0009c0   1801     XORWF     0x1,0x0,0x0                                                                                     
0009c2   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0009c4   d002     BRA       0x9ca                                                                                           
0009c6   3401     RLCF      0x1,0x0,0x0                                                                                     
0009c8   d003     BRA       0x9d0                                                                                           
0009ca   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0009cc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0009ce   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0009d0   e202     BC        0x9d6                                                                                           
0009d2   0eef     MOVLW     0xef                                                                                            
0009d4   6adb     CLRF      0xdb,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                //sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009d6   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBoot\Source\Main.c
0009d8   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009da   f000                                                                                                               
0009dc   0ef2     MOVLW     0xf2                                                                                            
0009de   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009e0   f001                                                                                                               
0009e2   0ec0     MOVLW     0xc0                                                                                            
0009e4   1600     ANDWF     0x0,0x1,0x0                                                                                     
0009e6   0e03     MOVLW     0x3                                                                                             
0009e8   1601     ANDWF     0x1,0x1,0x0                                                                                     
0009ea   0e06     MOVLW     0x6                                                                                             
0009ec   90d8     BCF       0xd8,0x0,0x0                                                                                    
0009ee   3201     RRCF      0x1,0x1,0x0                                                                                     
0009f0   3200     RRCF      0x0,0x1,0x0                                                                                     
0009f2   04e8     DECF      0xe8,0x0,0x0                                                                                    
0009f4   e1fb     BNZ       0x9ec                                                                                           
0009f6   0ef0     MOVLW     0xf0                                                                                            
0009f8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0009fa   0b0f     ANDLW     0xf                                                                                             
0009fc   0d10     MULLW     0x10                                                                                            
0009fe   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000a00   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a02   6e61     MOVWF     0x61,0x0                                                                                        
000a04   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBoot\Source\Main.c
000a06   6ee7     MOVWF     0xe7,0x0                                                                                        
000a08   0ef1     MOVLW     0xf1                                                                                            
000a0a   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a0c   f002                                                                                                               
000a0e   0ef2     MOVLW     0xf2                                                                                            
000a10   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a12   f003                                                                                                               
000a14   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a16   1602     ANDWF     0x2,0x1,0x0                                                                                     
000a18   6a03     CLRF      0x3,0x0                                                                                         
000a1a   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a1c   3203     RRCF      0x3,0x1,0x0                                                                                     
000a1e   3202     RRCF      0x2,0x1,0x0                                                                                     
000a20   0e3f     MOVLW     0x3f                                                                                            
000a22   6ee7     MOVWF     0xe7,0x0                                                                                        
000a24   0ef1     MOVLW     0xf1                                                                                            
000a26   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a28   f000                                                                                                               
000a2a   0ef2     MOVLW     0xf2                                                                                            
000a2c   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a2e   f001                                                                                                               
000a30   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a32   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a34   6a01     CLRF      0x1,0x0                                                                                         
000a36   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a38   3600     RLCF      0x0,0x1,0x0                                                                                     
000a3a   3601     RLCF      0x1,0x1,0x0                                                                                     
000a3c   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a3e   3600     RLCF      0x0,0x1,0x0                                                                                     
000a40   3601     RLCF      0x1,0x1,0x0                                                                                     
000a42   5000     MOVF      0x0,0x0,0x0                                                                                     
000a44   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a46   6e62     MOVWF     0x62,0x0                                                                                        
000a48   0ef4     MOVLW     0xf4                RXB0EIDH = (BYTE)((cm.funcc & 0x0001)<<7)+(BYTE)((cm.nid & 0x3F)<<1)+(BYTE)((cm.sid & 0x0100)>>8); F:\MCP\projects\CAN\canBoot\Source\Main.c
000a4a   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a4c   f002                                                                                                               
000a4e   0ef5     MOVLW     0xf5                                                                                            
000a50   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a52   f003                                                                                                               
000a54   0e00     MOVLW     0x0                                                                                             
000a56   1602     ANDWF     0x2,0x1,0x0                                                                                     
000a58   0e01     MOVLW     0x1                                                                                             
000a5a   1603     ANDWF     0x3,0x1,0x0                                                                                     
000a5c   c003     MOVFF     0x3,0x2                                                                                         
000a5e   f002                                                                                                               
000a60   6a03     CLRF      0x3,0x0                                                                                         
000a62   0e01     MOVLW     0x1                                                                                             
000a64   6ee7     MOVWF     0xe7,0x0                                                                                        
000a66   0ef1     MOVLW     0xf1                                                                                            
000a68   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a6a   f000                                                                                                               
000a6c   0ef2     MOVLW     0xf2                                                                                            
000a6e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a70   f001                                                                                                               
000a72   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a74   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a76   6a01     CLRF      0x1,0x0                                                                                         
000a78   0e07     MOVLW     0x7                                                                                             
000a7a   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a7c   3600     RLCF      0x0,0x1,0x0                                                                                     
000a7e   3601     RLCF      0x1,0x1,0x0                                                                                     
000a80   04e8     DECF      0xe8,0x0,0x0                                                                                    
000a82   e1fb     BNZ       0xa7a                                                                                           
000a84   0ef3     MOVLW     0xf3                                                                                            
000a86   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a88   0b3f     ANDLW     0x3f                                                                                            
000a8a   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000a8c   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a8e   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a90   6e63     MOVWF     0x63,0x0                                                                                        
000a92   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000a94   6ee7     MOVWF     0xe7,0x0                                                                                        
000a96   0ef4     MOVLW     0xf4                                                                                            
000a98   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a9a   f000                                                                                                               
000a9c   0ef5     MOVLW     0xf5                                                                                            
000a9e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000aa0   f001                                                                                                               
000aa2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000aa4   1600     ANDWF     0x0,0x1,0x0                                                                                     
000aa6   6a01     CLRF      0x1,0x0                                                                                         
000aa8   5000     MOVF      0x0,0x0,0x0                                                                                     
000aaa   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000aac   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000aae   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000ab0   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ab2   0808     SUBLW     0x8                                                                                             
000ab4   e203     BC        0xabc                                                                                           
000ab6   0e08     MOVLW     0x8                                                                                             
000ab8   6e65     MOVWF     0x65,0x0                                                                                        
000aba   d003     BRA       0xac2                                                                                           
000abc   0ef6     MOVLW     0xf6                                                                                            
000abe   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ac0   6e65     MOVWF     0x65,0x0                                                                                        
                                                                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // NOT Remote request                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac2   9c65     BCF       0x65,0x6,0x0            bcf RXB0DLC, 6, 0                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac4   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac6   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ac8   6e66     MOVWF     0x66,0x0                                                                                        
000aca   0ef8     MOVLW     0xf8                                                                                            
000acc   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ace   6e67     MOVWF     0x67,0x0                                                                                        
000ad0   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ad2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ad4   6e68     MOVWF     0x68,0x0                                                                                        
000ad6   0efa     MOVLW     0xfa                                                                                            
000ad8   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ada   6e69     MOVWF     0x69,0x0                                                                                        
000adc   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ade   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ae0   6e6a     MOVWF     0x6a,0x0                                                                                        
000ae2   0efc     MOVLW     0xfc                                                                                            
000ae4   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ae6   6e6b     MOVWF     0x6b,0x0                                                                                        
000ae8   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000aea   50db     MOVF      0xdb,0x0,0x0                                                                                    
000aec   6e6c     MOVWF     0x6c,0x0                                                                                        
000aee   0efe     MOVLW     0xfe                                                                                            
000af0   50db     MOVF      0xdb,0x0,0x0                                                                                    
000af2   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000af4   8662     BSF       0x62,0x3,0x0        RXB0SIDLbits.EXID=1;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Priority                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000af6   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000af8   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000afa   ffe6                                                                                                               
000afc   0efc     MOVLW     0xfc                                                                                            
000afe   1460     ANDWF     0x60,0x0,0x0                                                                                    
000b00   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000b02   10e7     IORWF     0xe7,0x0,0x0                                                                                    
000b04   6e60     MOVWF     0x60,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // mark as redy to transmit                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _asm                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000b06   8660     BSF       0x60,0x3,0x0            bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                _endasm                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000b08   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0a   d000     BRA       0xb0c                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000b10   ffd9                                                                                                               
000b12   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLRD_Func()                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _asm                                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000b14   0008     TBLRD                     TBLRD                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b16   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLWT_Func()                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _asm                                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000b18   000c     TBLWT                     TBLWT                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b1a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           void TBLWTPOSTINC_Func (void){                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _asm                                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000b1c   000d     TBLWTPOSTINC              TBLWTPOSTINC                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b1e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           DWORD tickGet()                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000b20   c0b3     MOVFF     0xb3,0x10       return tickCounter;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000b22   f010                                                                                                               
000b24   c0b4     MOVFF     0xb4,0x11                                                                                       
000b26   f011                                                                                                               
000b28   c0b5     MOVFF     0xb5,0x12                                                                                       
000b2a   f012                                                                                                               
000b2c   c0b6     MOVFF     0xb6,0x13                                                                                       
000b2e   f013                                                                                                               
000b30   d000     BRA       0xb32                                                                                           
000b32   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           #pragma code user = RM_RESET_VECTOR                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
                                            * FileName:         $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Last changed: $LastChangedDate: 2006-11-14 20:15:02 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
                                            * By:           $LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
                                            * Revision:     $Revision: 94 $                                                    F:\MCP\projects\CAN\Include\EEAccess.c
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\Include\EEAccess.c
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
000b34   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
000b36   ffe6                                                                                                               
000b38   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000b3a   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b3c   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000b3e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b40   f000                                                                                                               
000b42   0efe     MOVLW     0xfe                                                                                            
000b44   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b46   f001                                                                                                               
000b48   c001     MOVFF     0x1,0x0                                                                                         
000b4a   f000                                                                                                               
000b4c   6a01     CLRF      0x1,0x0                                                                                         
000b4e   5000     MOVF      0x0,0x0,0x0                                                                                     
000b50   6eaa     MOVWF     0xaa,0x0                                                                                        
000b52   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000b54   6ee7     MOVWF     0xe7,0x0                                                                                        
000b56   0efd     MOVLW     0xfd                                                                                            
000b58   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b5a   f000                                                                                                               
000b5c   0efe     MOVLW     0xfe                                                                                            
000b5e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b60   f001                                                                                                               
000b62   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000b64   1600     ANDWF     0x0,0x1,0x0                                                                                     
000b66   6a01     CLRF      0x1,0x0                                                                                         
000b68   5000     MOVF      0x0,0x0,0x0                                                                                     
000b6a   6ea9     MOVWF     0xa9,0x0                                                                                        
000b6c   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000b6e   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000b70   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b72   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
000b74   d000     BRA       0xb76                                                                                           
000b76   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b78   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000b7a   ffd9                                                                                                               
000b7c   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
000b7e   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b80   ffe6                                                                                                               
000b82   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000b84   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b86   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b88   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000b8a   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b8c   f000                                                                                                               
000b8e   0efe     MOVLW     0xfe                                                                                            
000b90   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b92   f001                                                                                                               
000b94   c001     MOVFF     0x1,0x0                                                                                         
000b96   f000                                                                                                               
000b98   6a01     CLRF      0x1,0x0                                                                                         
000b9a   5000     MOVF      0x0,0x0,0x0                                                                                     
000b9c   6eaa     MOVWF     0xaa,0x0                                                                                        
000b9e   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000ba0   6ee7     MOVWF     0xe7,0x0                                                                                        
000ba2   0efd     MOVLW     0xfd                                                                                            
000ba4   cfdb     MOVFF     0xfdb,0x0                                                                                       
000ba6   f000                                                                                                               
000ba8   0efe     MOVLW     0xfe                                                                                            
000baa   cfdb     MOVFF     0xfdb,0x1                                                                                       
000bac   f001                                                                                                               
000bae   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000bb0   1600     ANDWF     0x0,0x1,0x0                                                                                     
000bb2   6a01     CLRF      0x1,0x0                                                                                         
000bb4   5000     MOVF      0x0,0x0,0x0                                                                                     
000bb6   6ea9     MOVWF     0xa9,0x0                                                                                        
000bb8   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bba   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bbc   6ea8     MOVWF     0xa8,0x0                                                                                        
000bbe   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000bc0   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bc2   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bc4   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000bc6   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bc8   6ea7     MOVWF     0xa7,0x0                                                                                        
000bca   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bcc   6ea7     MOVWF     0xa7,0x0                                                                                        
000bce   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000bd0   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000bd2   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
000bd4   d7fe     BRA       0xbd2                                                                                           
000bd6   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bd8   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000bda   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000bdc   ffd9                                                                                                               
000bde   0012     RETURN    0x0