Subversion Repositories HomeAutomation

Rev

Rev 96 | 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 09:30:40 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-14 21:11:45 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Revision:     $Revision: 96 $                                                    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   dbd9     RCALL     0x7f8           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   dbde     RCALL     0x804               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   ec8a     CALL      0xb14,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   ec94     CALL      0xb28,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   ec94     CALL      0xb28,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   ec94     CALL      0xb28,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   ec94     CALL      0xb28,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
0007e2   d472     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   dbc6     RCALL     0x856               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   d360     BRA       0x7d6                                                                                           
000116   0a01     XORLW     0x1                                                                                             
000118   e101     BNZ       0x11c                                                                                           
00011a   d2ae     BRA       0x678                                                                                           
00011c   0a07     XORLW     0x7                                                                                             
00011e   e101     BNZ       0x122                                                                                           
000120   d1bc     BRA       0x49a                                                                                           
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   d354     BRA       0x7dc                                                                                           
                                                {                                                                              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   ec8a     CALL      0xb14,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   ec8a     CALL      0xb14,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   d2a1     BRA       0x7e2                   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   ec8a     CALL      0xb14,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   db18     RCALL     0x968                                                                                           
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   d24d     BRA       0x7e2                   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   dbe5     RCALL     0xb14                       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 & 0x3)==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   d081     BRA       0x498                                                                                           
000396   0100     MOVLB     0x0                                                                                             
000398   5160     MOVF      0x60,0x0,0x1                                                                                    
00039a   e001     BZ        0x39e                                                                                           
00039c   d07d     BRA       0x498                                                                                           
00039e   0e03     MOVLW     0x3                                                                                             
0003a0   0100     MOVLB     0x0                                                                                             
0003a2   1561     ANDWF     0x61,0x0,0x1                                                                                    
0003a4   6e00     MOVWF     0x0,0x0                                                                                         
0003a6   6a01     CLRF      0x1,0x0                                                                                         
0003a8   0e03     MOVLW     0x3                                                                                             
0003aa   1800     XORWF     0x0,0x0,0x0                                                                                     
0003ac   e101     BNZ       0x3b0                                                                                           
0003ae   5001     MOVF      0x1,0x0,0x0                                                                                     
0003b0   e173     BNZ       0x498                                                                                           
0003b2   0100     MOVLB     0x0                                                                                             
0003b4   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0003b6   0100     MOVLB     0x0                                                                                             
0003b8   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0003ba   e16e     BNZ       0x498                                                                                           
0003bc   0100     MOVLB     0x0                                                                                             
0003be   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0003c0   0100     MOVLB     0x0                                                                                             
0003c2   1964     XORWF     0x64,0x0,0x1                                                                                    
0003c4   e104     BNZ       0x3ce                                                                                           
0003c6   0100     MOVLB     0x0                                                                                             
0003c8   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0003ca   0100     MOVLB     0x0                                                                                             
0003cc   1965     XORWF     0x65,0x0,0x1                                                                                    
0003ce   e164     BNZ       0x498                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003d0   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0003d2   0100     MOVLB     0x0                                                                                             
0003d4   1561     ANDWF     0x61,0x0,0x1                                                                                    
0003d6   6e00     MOVWF     0x0,0x0                                                                                         
0003d8   6a01     CLRF      0x1,0x0                                                                                         
0003da   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003dc   3201     RRCF      0x1,0x1,0x0                                                                                     
0003de   3200     RRCF      0x0,0x1,0x0                                                                                     
0003e0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0003e2   3201     RRCF      0x1,0x1,0x0                                                                                     
0003e4   3200     RRCF      0x0,0x1,0x0                                                                                     
0003e6   0e08     MOVLW     0x8                                                                                             
0003e8   0200     MULWF     0x0,0x0                                                                                         
0003ea   0e15     MOVLW     0x15                                                                                            
0003ec   cff3     MOVFF     0xff3,0xfdb                                                                                     
0003ee   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
0003f0   0100     MOVLB     0x0                             bytesReceived   = 8;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f2   0e08     MOVLW     0x8                                                                                             
0003f4   6fcb     MOVWF     0xcb,0x1                                                                                        
0003f6   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
0003f8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0003fa   6aea     CLRF      0xea,0x0                                                                                        
0003fc   0f6f     ADDLW     0x6f                                                                                            
0003fe   6ee9     MOVWF     0xe9,0x0                                                                                        
000400   0e00     MOVLW     0x0                                                                                             
000402   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000404   c067     MOVFF     0x67,0xfef                                                                                      
000406   ffef                                                                                                               
000408   0e15     MOVLW     0x15                                                                                            
00040a   28db     INCF      0xdb,0x0,0x0                                                                                    
00040c   6aea     CLRF      0xea,0x0                                                                                        
00040e   0f6f     ADDLW     0x6f                                                                                            
000410   6ee9     MOVWF     0xe9,0x0                                                                                        
000412   0e00     MOVLW     0x0                                                                                             
000414   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000416   c068     MOVFF     0x68,0xfef                                                                                      
000418   ffef                                                                                                               
00041a   0e15     MOVLW     0x15                                                                                            
00041c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00041e   0f02     ADDLW     0x2                                                                                             
000420   6aea     CLRF      0xea,0x0                                                                                        
000422   0f6f     ADDLW     0x6f                                                                                            
000424   6ee9     MOVWF     0xe9,0x0                                                                                        
000426   0e00     MOVLW     0x0                                                                                             
000428   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00042a   c069     MOVFF     0x69,0xfef                                                                                      
00042c   ffef                                                                                                               
00042e   0e15     MOVLW     0x15                                                                                            
000430   50db     MOVF      0xdb,0x0,0x0                                                                                    
000432   0f03     ADDLW     0x3                                                                                             
000434   6aea     CLRF      0xea,0x0                                                                                        
000436   0f6f     ADDLW     0x6f                                                                                            
000438   6ee9     MOVWF     0xe9,0x0                                                                                        
00043a   0e00     MOVLW     0x0                                                                                             
00043c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00043e   c06a     MOVFF     0x6a,0xfef                                                                                      
000440   ffef                                                                                                               
000442   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
000444   50db     MOVF      0xdb,0x0,0x0                                                                                    
000446   0f04     ADDLW     0x4                                                                                             
000448   6aea     CLRF      0xea,0x0                                                                                        
00044a   0f6f     ADDLW     0x6f                                                                                            
00044c   6ee9     MOVWF     0xe9,0x0                                                                                        
00044e   0e00     MOVLW     0x0                                                                                             
000450   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000452   c06b     MOVFF     0x6b,0xfef                                                                                      
000454   ffef                                                                                                               
000456   0e15     MOVLW     0x15                                                                                            
000458   50db     MOVF      0xdb,0x0,0x0                                                                                    
00045a   0f05     ADDLW     0x5                                                                                             
00045c   6aea     CLRF      0xea,0x0                                                                                        
00045e   0f6f     ADDLW     0x6f                                                                                            
000460   6ee9     MOVWF     0xe9,0x0                                                                                        
000462   0e00     MOVLW     0x0                                                                                             
000464   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000466   c06c     MOVFF     0x6c,0xfef                                                                                      
000468   ffef                                                                                                               
00046a   0e15     MOVLW     0x15                                                                                            
00046c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00046e   0f06     ADDLW     0x6                                                                                             
000470   6aea     CLRF      0xea,0x0                                                                                        
000472   0f6f     ADDLW     0x6f                                                                                            
000474   6ee9     MOVWF     0xe9,0x0                                                                                        
000476   0e00     MOVLW     0x0                                                                                             
000478   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00047a   c06d     MOVFF     0x6d,0xfef                                                                                      
00047c   ffef                                                                                                               
00047e   0e15     MOVLW     0x15                                                                                            
000480   50db     MOVF      0xdb,0x0,0x0                                                                                    
000482   0f07     ADDLW     0x7                                                                                             
000484   6aea     CLRF      0xea,0x0                                                                                        
000486   0f6f     ADDLW     0x6f                                                                                            
000488   6ee9     MOVWF     0xe9,0x0                                                                                        
00048a   0e00     MOVLW     0x0                                                                                             
00048c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00048e   c06e     MOVFF     0x6e,0xfef                                                                                      
000490   ffef                                                                                                               
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000492   0100     MOVLB     0x0                             pgs             = pgsWAIT_PGM_PACKET;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000494   0e03     MOVLW     0x3                                                                                             
000496   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
000498   d1a4     BRA       0x7e2                   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
00049a   0e14     MOVLW     0x14                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
00049c   04db     DECF      0xdb,0x0,0x0                                                                                    
00049e   e001     BZ        0x4a2                                                                                           
0004a0   d081     BRA       0x5a4                                                                                           
0004a2   0100     MOVLB     0x0                                                                                             
0004a4   5160     MOVF      0x60,0x0,0x1                                                                                    
0004a6   e001     BZ        0x4aa                                                                                           
0004a8   d07d     BRA       0x5a4                                                                                           
0004aa   0e03     MOVLW     0x3                                                                                             
0004ac   0100     MOVLB     0x0                                                                                             
0004ae   1561     ANDWF     0x61,0x0,0x1                                                                                    
0004b0   6e00     MOVWF     0x0,0x0                                                                                         
0004b2   6a01     CLRF      0x1,0x0                                                                                         
0004b4   0e03     MOVLW     0x3                                                                                             
0004b6   1800     XORWF     0x0,0x0,0x0                                                                                     
0004b8   e101     BNZ       0x4bc                                                                                           
0004ba   5001     MOVF      0x1,0x0,0x0                                                                                     
0004bc   e173     BNZ       0x5a4                                                                                           
0004be   0100     MOVLB     0x0                                                                                             
0004c0   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0004c2   0100     MOVLB     0x0                                                                                             
0004c4   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0004c6   e16e     BNZ       0x5a4                                                                                           
0004c8   0100     MOVLB     0x0                                                                                             
0004ca   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0004cc   0100     MOVLB     0x0                                                                                             
0004ce   1964     XORWF     0x64,0x0,0x1                                                                                    
0004d0   e104     BNZ       0x4da                                                                                           
0004d2   0100     MOVLB     0x0                                                                                             
0004d4   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0004d6   0100     MOVLB     0x0                                                                                             
0004d8   1965     XORWF     0x65,0x0,0x1                                                                                    
0004da   e164     BNZ       0x5a4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004dc   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0004de   0100     MOVLB     0x0                                                                                             
0004e0   1561     ANDWF     0x61,0x0,0x1                                                                                    
0004e2   6e00     MOVWF     0x0,0x0                                                                                         
0004e4   6a01     CLRF      0x1,0x0                                                                                         
0004e6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004e8   3201     RRCF      0x1,0x1,0x0                                                                                     
0004ea   3200     RRCF      0x0,0x1,0x0                                                                                     
0004ec   90d8     BCF       0xd8,0x0,0x0                                                                                    
0004ee   3201     RRCF      0x1,0x1,0x0                                                                                     
0004f0   3200     RRCF      0x0,0x1,0x0                                                                                     
0004f2   0e08     MOVLW     0x8                                                                                             
0004f4   0200     MULWF     0x0,0x0                                                                                         
0004f6   0e16     MOVLW     0x16                                                                                            
0004f8   cff3     MOVFF     0xff3,0xfdb                                                                                     
0004fa   ffdb                                                                                                               
                                                            // Save bytes in memory, inc received bytes.                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0004fc   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
0004fe   50db     MOVF      0xdb,0x0,0x0                                                                                    
000500   6aea     CLRF      0xea,0x0                                                                                        
000502   0f6f     ADDLW     0x6f                                                                                            
000504   6ee9     MOVWF     0xe9,0x0                                                                                        
000506   0e00     MOVLW     0x0                                                                                             
000508   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00050a   c067     MOVFF     0x67,0xfef                                                                                      
00050c   ffef                                                                                                               
00050e   0e16     MOVLW     0x16                                                                                            
000510   28db     INCF      0xdb,0x0,0x0                                                                                    
000512   6aea     CLRF      0xea,0x0                                                                                        
000514   0f6f     ADDLW     0x6f                                                                                            
000516   6ee9     MOVWF     0xe9,0x0                                                                                        
000518   0e00     MOVLW     0x0                                                                                             
00051a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00051c   c068     MOVFF     0x68,0xfef                                                                                      
00051e   ffef                                                                                                               
000520   0e16     MOVLW     0x16                                                                                            
000522   50db     MOVF      0xdb,0x0,0x0                                                                                    
000524   0f02     ADDLW     0x2                                                                                             
000526   6aea     CLRF      0xea,0x0                                                                                        
000528   0f6f     ADDLW     0x6f                                                                                            
00052a   6ee9     MOVWF     0xe9,0x0                                                                                        
00052c   0e00     MOVLW     0x0                                                                                             
00052e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000530   c069     MOVFF     0x69,0xfef                                                                                      
000532   ffef                                                                                                               
000534   0e16     MOVLW     0x16                                                                                            
000536   50db     MOVF      0xdb,0x0,0x0                                                                                    
000538   0f03     ADDLW     0x3                                                                                             
00053a   6aea     CLRF      0xea,0x0                                                                                        
00053c   0f6f     ADDLW     0x6f                                                                                            
00053e   6ee9     MOVWF     0xe9,0x0                                                                                        
000540   0e00     MOVLW     0x0                                                                                             
000542   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000544   c06a     MOVFF     0x6a,0xfef                                                                                      
000546   ffef                                                                                                               
000548   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
00054a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00054c   0f04     ADDLW     0x4                                                                                             
00054e   6aea     CLRF      0xea,0x0                                                                                        
000550   0f6f     ADDLW     0x6f                                                                                            
000552   6ee9     MOVWF     0xe9,0x0                                                                                        
000554   0e00     MOVLW     0x0                                                                                             
000556   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000558   c06b     MOVFF     0x6b,0xfef                                                                                      
00055a   ffef                                                                                                               
00055c   0e16     MOVLW     0x16                                                                                            
00055e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000560   0f05     ADDLW     0x5                                                                                             
000562   6aea     CLRF      0xea,0x0                                                                                        
000564   0f6f     ADDLW     0x6f                                                                                            
000566   6ee9     MOVWF     0xe9,0x0                                                                                        
000568   0e00     MOVLW     0x0                                                                                             
00056a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00056c   c06c     MOVFF     0x6c,0xfef                                                                                      
00056e   ffef                                                                                                               
000570   0e16     MOVLW     0x16                                                                                            
000572   50db     MOVF      0xdb,0x0,0x0                                                                                    
000574   0f06     ADDLW     0x6                                                                                             
000576   6aea     CLRF      0xea,0x0                                                                                        
000578   0f6f     ADDLW     0x6f                                                                                            
00057a   6ee9     MOVWF     0xe9,0x0                                                                                        
00057c   0e00     MOVLW     0x0                                                                                             
00057e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000580   c06d     MOVFF     0x6d,0xfef                                                                                      
000582   ffef                                                                                                               
000584   0e16     MOVLW     0x16                                                                                            
000586   50db     MOVF      0xdb,0x0,0x0                                                                                    
000588   0f07     ADDLW     0x7                                                                                             
00058a   6aea     CLRF      0xea,0x0                                                                                        
00058c   0f6f     ADDLW     0x6f                                                                                            
00058e   6ee9     MOVWF     0xe9,0x0                                                                                        
000590   0e00     MOVLW     0x0                                                                                             
000592   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000594   c06e     MOVFF     0x6e,0xfef                                                                                      
000596   ffef                                                                                                               
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000598   0e08     MOVLW     0x8                             bytesReceived   += 8;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
00059a   0100     MOVLB     0x0                                                                                             
00059c   27cb     ADDWF     0xcb,0x1,0x1                                                                                    
00059e   0100     MOVLB     0x0                             pgs              = pgsWAIT_PGM_PACKET;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a0   0e03     MOVLW     0x3                                                                                             
0005a2   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
0005a4   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
0005a6   04db     DECF      0xdb,0x0,0x0                                                                                    
0005a8   e120     BNZ       0x5ea                                                                                           
0005aa   0100     MOVLB     0x0                                                                                             
0005ac   5160     MOVF      0x60,0x0,0x1                                                                                    
0005ae   e11d     BNZ       0x5ea                                                                                           
0005b0   0100     MOVLB     0x0                                                                                             
0005b2   0e02     MOVLW     0x2                                                                                             
0005b4   1961     XORWF     0x61,0x0,0x1                                                                                    
0005b6   e101     BNZ       0x5ba                                                                                           
0005b8   5162     MOVF      0x62,0x0,0x1                                                                                    
0005ba   e117     BNZ       0x5ea                                                                                           
0005bc   0100     MOVLB     0x0                                                                                             
0005be   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0005c0   0100     MOVLB     0x0                                                                                             
0005c2   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0005c4   e112     BNZ       0x5ea                                                                                           
0005c6   0100     MOVLB     0x0                                                                                             
0005c8   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0005ca   0100     MOVLB     0x0                                                                                             
0005cc   1964     XORWF     0x64,0x0,0x1                                                                                    
0005ce   e104     BNZ       0x5d8                                                                                           
0005d0   0100     MOVLB     0x0                                                                                             
0005d2   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0005d4   0100     MOVLB     0x0                                                                                             
0005d6   1965     XORWF     0x65,0x0,0x1                                                                                    
0005d8   e108     BNZ       0x5ea                                                                                           
                                                        {                                                                            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
0005da   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0005dc   6bc5     CLRF      0xc5,0x1                                                                                        
0005de   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0005e0   0e02     MOVLW     0x2                                                                                             
0005e2   6fc6     MOVWF     0xc6,0x1                                                                                        
0005e4   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0005e6   0e01     MOVLW     0x1                                                                                             
0005e8   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
0005ea   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
0005ec   04db     DECF      0xdb,0x0,0x0                                                                                    
0005ee   e138     BNZ       0x660                                                                                           
0005f0   0100     MOVLB     0x0                                                                                             
0005f2   5160     MOVF      0x60,0x0,0x1                                                                                    
0005f4   e135     BNZ       0x660                                                                                           
0005f6   0100     MOVLB     0x0                                                                                             
0005f8   0e05     MOVLW     0x5                                                                                             
0005fa   1961     XORWF     0x61,0x0,0x1                                                                                    
0005fc   e101     BNZ       0x600                                                                                           
0005fe   5162     MOVF      0x62,0x0,0x1                                                                                    
000600   e12f     BNZ       0x660                                                                                           
000602   0100     MOVLB     0x0                                                                                             
000604   51bd     MOVF      0xbd,0x0,0x1                                                                                    
000606   0100     MOVLB     0x0                                                                                             
000608   5d63     SUBWF     0x63,0x0,0x1                                                                                    
00060a   e12a     BNZ       0x660                                                                                           
00060c   0100     MOVLB     0x0                                                                                             
00060e   51c3     MOVF      0xc3,0x0,0x1                                                                                    
000610   0100     MOVLB     0x0                                                                                             
000612   1964     XORWF     0x64,0x0,0x1                                                                                    
000614   e104     BNZ       0x61e                                                                                           
000616   0100     MOVLB     0x0                                                                                             
000618   51c4     MOVF      0xc4,0x0,0x1                                                                                    
00061a   0100     MOVLB     0x0                                                                                             
00061c   1965     XORWF     0x65,0x0,0x1                                                                                    
00061e   e120     BNZ       0x660                                                                                           
                                                        {                                                                            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
000620   0100     MOVLB     0x0                             if (bytesReceived==0)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000622   51cb     MOVF      0xcb,0x0,0x1                                                                                    
000624   e109     BNZ       0x638                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                // No received, done.                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000626   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_NO_ERROR;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000628   6bc5     CLRF      0xc5,0x1                                                                                        
00062a   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00062c   0e05     MOVLW     0x5                                                                                             
00062e   6fc6     MOVWF     0xc6,0x1                                                                                        
000630   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000632   0e01     MOVLW     0x1                                                                                             
000634   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000636   d014     BRA       0x660                           else if (bytesReceived!=64)                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000638   0e40     MOVLW     0x40                                                                                            
00063a   0100     MOVLB     0x0                                                                                             
00063c   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
00063e   e00a     BZ        0x654                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000640   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_ERROR;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000642   0e01     MOVLW     0x1                                                                                             
000644   6fc5     MOVWF     0xc5,0x1                                                                                        
000646   0100     MOVLB     0x0                                 afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000648   0e02     MOVLW     0x2                                                                                             
00064a   6fc6     MOVWF     0xc6,0x1                                                                                        
00064c   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00064e   0e01     MOVLW     0x1                                                                                             
000650   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000652   d006     BRA       0x660                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000654   0100     MOVLB     0x0                                 pgs              = pgsWRITE_PROGRAM;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000656   0e04     MOVLW     0x4                                                                                             
000658   6fbe     MOVWF     0xbe,0x1                                                                                        
00065a   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00065c   0e05     MOVLW     0x5                                                                                             
00065e   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
000660   0e40     MOVLW     0x40                        if (bytesReceived==64)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000662   0100     MOVLB     0x0                                                                                             
000664   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
000666   e107     BNZ       0x676                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000668   7282     BTG       0x82,0x1,0x0                    LED0_IO=~LED0_IO;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00066a   0100     MOVLB     0x0                             pgs              = pgsWRITE_PROGRAM;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00066c   0e04     MOVLW     0x4                                                                                             
00066e   6fbe     MOVWF     0xbe,0x1                                                                                        
000670   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_PGM_PACKET;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000672   0e03     MOVLW     0x3                                                                                             
000674   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
000676   d0b5     BRA       0x7e2                   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
000678   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
00067a   0e00     MOVLW     0x0                         if (pgmAddress<RM_RESET_VECTOR)                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00067c   0100     MOVLB     0x0                                                                                             
00067e   5dc7     SUBWF     0xc7,0x0,0x1                                                                                    
000680   0e10     MOVLW     0x10                                                                                            
000682   59c8     SUBWFB    0xc8,0x0,0x1                                                                                    
000684   0e00     MOVLW     0x0                                                                                             
000686   59c9     SUBWFB    0xc9,0x0,0x1                                                                                    
000688   0e00     MOVLW     0x0                                                                                             
00068a   59ca     SUBWFB    0xca,0x0,0x1                                                                                    
00068c   e206     BC        0x69a                                                                                           
                                                        {                                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00068e   0100     MOVLB     0x0                             errMsg          = ACK_ERR_ERROR;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000690   0e01     MOVLW     0x1                                                                                             
000692   6fc5     MOVWF     0xc5,0x1                                                                                        
000694   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000696   0e01     MOVLW     0x1                                                                                             
000698   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
00069a   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00069c   f000                                                                                                               
00069e   c0c8     MOVFF     0xc8,0x1                                                                                        
0006a0   f001                                                                                                               
0006a2   c0c9     MOVFF     0xc9,0x2                                                                                        
0006a4   f002                                                                                                               
0006a6   c0ca     MOVFF     0xca,0x3                                                                                        
0006a8   f003                                                                                                               
0006aa   6a00     CLRF      0x0,0x0                                                                                         
0006ac   6a01     CLRF      0x1,0x0                                                                                         
0006ae   6a03     CLRF      0x3,0x0                                                                                         
0006b0   0e10     MOVLW     0x10                                                                                            
0006b2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006b4   3203     RRCF      0x3,0x1,0x0                                                                                     
0006b6   3202     RRCF      0x2,0x1,0x0                                                                                     
0006b8   3201     RRCF      0x1,0x1,0x0                                                                                     
0006ba   3200     RRCF      0x0,0x1,0x0                                                                                     
0006bc   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006be   e1f9     BNZ       0x6b2                                                                                           
0006c0   5000     MOVF      0x0,0x0,0x0                                                                                     
0006c2   6ef8     MOVWF     0xf8,0x0                                                                                        
0006c4   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c6   f000                                                                                                               
0006c8   c0c8     MOVFF     0xc8,0x1                                                                                        
0006ca   f001                                                                                                               
0006cc   c0c9     MOVFF     0xc9,0x2                                                                                        
0006ce   f002                                                                                                               
0006d0   c0ca     MOVFF     0xca,0x3                                                                                        
0006d2   f003                                                                                                               
0006d4   6a00     CLRF      0x0,0x0                                                                                         
0006d6   6a02     CLRF      0x2,0x0                                                                                         
0006d8   6a03     CLRF      0x3,0x0                                                                                         
0006da   0e08     MOVLW     0x8                                                                                             
0006dc   90d8     BCF       0xd8,0x0,0x0                                                                                    
0006de   3203     RRCF      0x3,0x1,0x0                                                                                     
0006e0   3202     RRCF      0x2,0x1,0x0                                                                                     
0006e2   3201     RRCF      0x1,0x1,0x0                                                                                     
0006e4   3200     RRCF      0x0,0x1,0x0                                                                                     
0006e6   06e8     DECF      0xe8,0x1,0x0                                                                                    
0006e8   e1f9     BNZ       0x6dc                                                                                           
0006ea   5000     MOVF      0x0,0x0,0x0                                                                                     
0006ec   6ef7     MOVWF     0xf7,0x0                                                                                        
0006ee   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f0   51c7     MOVF      0xc7,0x0,0x1                                                                                    
0006f2   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
0006f4   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
0006f6   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
0006f8   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
0006fa   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
0006fc   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
0006fe   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000700   6ea7     MOVWF     0xa7,0x0                                                                                        
000702   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000704   6ea7     MOVWF     0xa7,0x0                                                                                        
000706   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
000708   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
00070a   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00070c   f000                                                                                                               
00070e   c0c8     MOVFF     0xc8,0x1                                                                                        
000710   f001                                                                                                               
000712   c0c9     MOVFF     0xc9,0x2                                                                                        
000714   f002                                                                                                               
000716   c0ca     MOVFF     0xca,0x3                                                                                        
000718   f003                                                                                                               
00071a   6a00     CLRF      0x0,0x0                                                                                         
00071c   6a01     CLRF      0x1,0x0                                                                                         
00071e   6a03     CLRF      0x3,0x0                                                                                         
000720   0e10     MOVLW     0x10                                                                                            
000722   90d8     BCF       0xd8,0x0,0x0                                                                                    
000724   3203     RRCF      0x3,0x1,0x0                                                                                     
000726   3202     RRCF      0x2,0x1,0x0                                                                                     
000728   3201     RRCF      0x1,0x1,0x0                                                                                     
00072a   3200     RRCF      0x0,0x1,0x0                                                                                     
00072c   06e8     DECF      0xe8,0x1,0x0                                                                                    
00072e   e1f9     BNZ       0x722                                                                                           
000730   5000     MOVF      0x0,0x0,0x0                                                                                     
000732   6ef8     MOVWF     0xf8,0x0                                                                                        
000734   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000736   f000                                                                                                               
000738   c0c8     MOVFF     0xc8,0x1                                                                                        
00073a   f001                                                                                                               
00073c   c0c9     MOVFF     0xc9,0x2                                                                                        
00073e   f002                                                                                                               
000740   c0ca     MOVFF     0xca,0x3                                                                                        
000742   f003                                                                                                               
000744   6a00     CLRF      0x0,0x0                                                                                         
000746   6a02     CLRF      0x2,0x0                                                                                         
000748   6a03     CLRF      0x3,0x0                                                                                         
00074a   0e08     MOVLW     0x8                                                                                             
00074c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00074e   3203     RRCF      0x3,0x1,0x0                                                                                     
000750   3202     RRCF      0x2,0x1,0x0                                                                                     
000752   3201     RRCF      0x1,0x1,0x0                                                                                     
000754   3200     RRCF      0x0,0x1,0x0                                                                                     
000756   06e8     DECF      0xe8,0x1,0x0                                                                                    
000758   e1f9     BNZ       0x74c                                                                                           
00075a   5000     MOVF      0x0,0x0,0x0                                                                                     
00075c   6ef7     MOVWF     0xf7,0x0                                                                                        
00075e   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000760   51c7     MOVF      0xc7,0x0,0x1                                                                                    
000762   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Load bytes                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000764   0e04     MOVLW     0x4                         for(i=0;i<63;i++)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000766   6adb     CLRF      0xdb,0x0                                                                                        
000768   0e3f     MOVLW     0x3f                                                                                            
00076a   6ef3     MOVWF     0xf3,0x0                                                                                        
00076c   0e04     MOVLW     0x4                                                                                             
00076e   cfdb     MOVFF     0xfdb,0xff4                                                                                     
000770   fff4                                                                                                               
000772   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000774   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
000776   e20d     BC        0x792                                                                                           
00078c   0e04     MOVLW     0x4                                                                                             
00078e   2adb     INCF      0xdb,0x1,0x0                                                                                    
000790   d7eb     BRA       0x768                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000778   0e04     MOVLW     0x4                             TABLAT=pgmData[i];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
00077a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00077c   6aea     CLRF      0xea,0x0                                                                                        
00077e   0f6f     ADDLW     0x6f                                                                                            
000780   6ee9     MOVWF     0xe9,0x0                                                                                        
000782   0e00     MOVLW     0x0                                                                                             
000784   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000786   50ef     MOVF      0xef,0x0,0x0                                                                                    
000788   6ef5     MOVWF     0xf5,0x0                                                                                        
00078a   d9c2     RCALL     0xb10                           TBLWTPOSTINC_Func();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000792   c0ae     MOVFF     0xae,0xff5                  TABLAT=pgmData[63];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000794   fff5                                                                                                               
000796   d9ba     RCALL     0xb0c                       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
000798   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
00079a   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
00079c   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
00079e   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
0007a0   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a2   6ea7     MOVWF     0xa7,0x0                                                                                        
0007a4   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a6   6ea7     MOVWF     0xa7,0x0                                                                                        
0007a8   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
0007aa   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
0007ac   94a6     BCF       0xa6,0x2,0x0                EECON1bits.WREN = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ae   0e40     MOVLW     0x40                        pgmAddress     += 64;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b0   0100     MOVLB     0x0                                                                                             
0007b2   27c7     ADDWF     0xc7,0x1,0x1                                                                                    
0007b4   0e00     MOVLW     0x0                                                                                             
0007b6   0100     MOVLB     0x0                                                                                             
0007b8   23c8     ADDWFC    0xc8,0x1,0x1                                                                                    
0007ba   0e00     MOVLW     0x0                                                                                             
0007bc   0100     MOVLB     0x0                                                                                             
0007be   23c9     ADDWFC    0xc9,0x1,0x1                                                                                    
0007c0   0e00     MOVLW     0x0                                                                                             
0007c2   0100     MOVLB     0x0                                                                                             
0007c4   23ca     ADDWFC    0xca,0x1,0x1                                                                                    
0007c6   0100     MOVLB     0x0                         bytesReceived   = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c8   6bcb     CLRF      0xcb,0x1                                                                                        
0007ca   0100     MOVLB     0x0                         errMsg          = ACK_ERR_NO_ERROR;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007cc   6bc5     CLRF      0xc5,0x1                                                                                        
0007ce   0100     MOVLB     0x0                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d0   0e01     MOVLW     0x1                                                                                             
0007d2   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d4   d006     BRA       0x7e2                   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
0007d6   ef00     GOTO      0x1000                      _asm  goto RM_RESET_VECTOR _endasm                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d8   f008                                                                                                               
0007da   d003     BRA       0x7e2                   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
0007dc   0100     MOVLB     0x0                         pgs = pgsWATING_START;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0007de   6bbe     CLRF      0xbe,0x1                                                                                        
0007e0   d000     BRA       0x7e2                   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
0007e4   0e17     MOVLW     0x17           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e6   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
0007e8   e202     BC        0x7ee                                                                                           
0007ea   6ae1     CLRF      0xe1,0x0                                                                                        
0007ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007ee   6ee1     MOVWF     0xe1,0x0                                                                                        
0007f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0007f2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
0007f4   ffd9                                                                                                               
0007f6   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
0007f8   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
0007fa   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
0007fc   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007fe   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
000800   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
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
                                                                                                                            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
000804   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000806   6e6f     MOVWF     0x6f,0x0                                                                                        
000808   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
00080a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00080c   0880     SUBLW     0x80                                                                                            
00080e   e001     BZ        0x812                                                                                           
000810   d7fb     BRA       0x808                                                                                           
                                                                                                                            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
000812   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
000814   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000816   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
000818   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
00081a   1070     IORWF     0x70,0x0,0x0                                                                                    
00081c   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00081e   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
000820   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000822   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000824   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
000826   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000828   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00082a   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
00082c   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
00082e   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
000830   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000832   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000834   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000836   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000838   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00083a   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
00083c   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
00083e   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
000840   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000842   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000844   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000846   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
000848   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
00084a   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00084c   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00084e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
000850   e001     BZ        0x854                                                                                           
000852   d7fc     BRA       0x84c                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000854   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
000856   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000858   146f     ANDWF     0x6f,0x0,0x0                                                                                    
00085a   0910     IORLW     0x10                                                                                            
00085c   6e00     MOVWF     0x0,0x0                                                                                         
00085e   0e00     MOVLW     0x0                                                                                             
000860   1477     ANDWF     0x77,0x0,0x0                                                                                    
000862   1000     IORWF     0x0,0x0,0x0                                                                                     
000864   6e77     MOVWF     0x77,0x0                                                                                        
000866   be60     BTFSC     0x60,0x7,0x0        if (!RXB0CONbits.RXFUL) return FALSE;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000868   d002     BRA       0x86e                                                                                           
00086a   0e00     MOVLW     0x0                                                                                             
00086c   d07c     BRA       0x966                                                                                           
                                                                                                                            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
00086e   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000870   1461     ANDWF     0x61,0x0,0x0                                                                                    
000872   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000874   0b0f     ANDLW     0xf                                                                                             
000876   0100     MOVLB     0x0                                                                                             
000878   6f60     MOVWF     0x60,0x1                                                                                        
00087a   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
00087c   1461     ANDWF     0x61,0x0,0x0                                                                                    
00087e   6e04     MOVWF     0x4,0x0                                                                                         
000880   6a05     CLRF      0x5,0x0                                                                                         
000882   0e06     MOVLW     0x6                                                                                             
000884   90d8     BCF       0xd8,0x0,0x0                                                                                    
000886   3604     RLCF      0x4,0x1,0x0                                                                                     
000888   3605     RLCF      0x5,0x1,0x0                                                                                     
00088a   04e8     DECF      0xe8,0x0,0x0                                                                                    
00088c   e1fb     BNZ       0x884                                                                                           
00088e   0ee0     MOVLW     0xe0                                                                                            
000890   1462     ANDWF     0x62,0x0,0x0                                                                                    
000892   6e06     MOVWF     0x6,0x0                                                                                         
000894   6a07     CLRF      0x7,0x0                                                                                         
000896   90d8     BCF       0xd8,0x0,0x0                                                                                    
000898   3207     RRCF      0x7,0x1,0x0                                                                                     
00089a   3206     RRCF      0x6,0x1,0x0                                                                                     
00089c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00089e   3207     RRCF      0x7,0x1,0x0                                                                                     
0008a0   3206     RRCF      0x6,0x1,0x0                                                                                     
0008a2   5004     MOVF      0x4,0x0,0x0                                                                                     
0008a4   2406     ADDWF     0x6,0x0,0x0                                                                                     
0008a6   6e02     MOVWF     0x2,0x0                                                                                         
0008a8   5005     MOVF      0x5,0x0,0x0                                                                                     
0008aa   2007     ADDWFC    0x7,0x0,0x0                                                                                     
0008ac   6e03     MOVWF     0x3,0x0                                                                                         
0008ae   0e03     MOVLW     0x3                                                                                             
0008b0   1462     ANDWF     0x62,0x0,0x0                                                                                    
0008b2   6e08     MOVWF     0x8,0x0                                                                                         
0008b4   6a09     CLRF      0x9,0x0                                                                                         
0008b6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008b8   3608     RLCF      0x8,0x1,0x0                                                                                     
0008ba   3609     RLCF      0x9,0x1,0x0                                                                                     
0008bc   5002     MOVF      0x2,0x0,0x0                                                                                     
0008be   2408     ADDWF     0x8,0x0,0x0                                                                                     
0008c0   6e00     MOVWF     0x0,0x0                                                                                         
0008c2   5003     MOVF      0x3,0x0,0x0                                                                                     
0008c4   2009     ADDWFC    0x9,0x0,0x0                                                                                     
0008c6   6e01     MOVWF     0x1,0x0                                                                                         
0008c8   0e80     MOVLW     0x80                                                                                            
0008ca   1463     ANDWF     0x63,0x0,0x0                                                                                    
0008cc   6e0a     MOVWF     0xa,0x0                                                                                         
0008ce   6a0b     CLRF      0xb,0x0                                                                                         
0008d0   0e07     MOVLW     0x7                                                                                             
0008d2   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008d4   320b     RRCF      0xb,0x1,0x0                                                                                     
0008d6   320a     RRCF      0xa,0x1,0x0                                                                                     
0008d8   04e8     DECF      0xe8,0x0,0x0                                                                                    
0008da   e1fb     BNZ       0x8d2                                                                                           
0008dc   5000     MOVF      0x0,0x0,0x0                                                                                     
0008de   240a     ADDWF     0xa,0x0,0x0                                                                                     
0008e0   0100     MOVLB     0x0                                                                                             
0008e2   6f61     MOVWF     0x61,0x1                                                                                        
0008e4   5001     MOVF      0x1,0x0,0x0                                                                                     
0008e6   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0008e8   6f62     MOVWF     0x62,0x1                                                                                        
0008ea   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ec   1463     ANDWF     0x63,0x0,0x0                                                                                    
0008ee   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0008f0   0b7f     ANDLW     0x7f                                                                                            
0008f2   6f63     MOVWF     0x63,0x1                                                                                        
0008f4   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0008f6   1463     ANDWF     0x63,0x0,0x0                                                                                    
0008f8   6e00     MOVWF     0x0,0x0                                                                                         
0008fa   c000     MOVFF     0x0,0x1                                                                                         
0008fc   f001                                                                                                               
0008fe   6a00     CLRF      0x0,0x0                                                                                         
000900   5064     MOVF      0x64,0x0,0x0                                                                                    
000902   2400     ADDWF     0x0,0x0,0x0                                                                                     
000904   6f64     MOVWF     0x64,0x1                                                                                        
000906   0e00     MOVLW     0x0                                                                                             
000908   2001     ADDWFC    0x1,0x0,0x0                                                                                     
00090a   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
00090c   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
00090e   0b01     ANDLW     0x1                                                                                             
000910   6e02     MOVWF     0x2,0x0                                                                                         
000912   5065     MOVF      0x65,0x0,0x0                                                                                    
000914   0b02     ANDLW     0x2                                                                                             
000916   e001     BZ        0x91a                                                                                           
000918   0e01     MOVLW     0x1                                                                                             
00091a   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
00091c   6e01     MOVWF     0x1,0x0                                                                                         
00091e   5065     MOVF      0x65,0x0,0x0                                                                                    
000920   0b04     ANDLW     0x4                                                                                             
000922   e001     BZ        0x926                                                                                           
000924   0e01     MOVLW     0x1                                                                                             
000926   0d04     MULLW     0x4                                                                                             
000928   cff3     MOVFF     0xff3,0x0                                                                                       
00092a   f000                                                                                                               
00092c   5065     MOVF      0x65,0x0,0x0                                                                                    
00092e   0b08     ANDLW     0x8                                                                                             
000930   e001     BZ        0x934                                                                                           
000932   0e01     MOVLW     0x1                                                                                             
000934   0d08     MULLW     0x8                                                                                             
000936   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000938   2400     ADDWF     0x0,0x0,0x0                                                                                     
00093a   2401     ADDWF     0x1,0x0,0x0                                                                                     
00093c   2402     ADDWF     0x2,0x0,0x0                                                                                     
00093e   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
000940   cf66     MOVFF     0xf66,0x67          cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000942   f067                                                                                                               
000944   cf67     MOVFF     0xf67,0x68                                                                                      
000946   f068                                                                                                               
000948   cf68     MOVFF     0xf68,0x69          cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00094a   f069                                                                                                               
00094c   cf69     MOVFF     0xf69,0x6a                                                                                      
00094e   f06a                                                                                                               
000950   cf6a     MOVFF     0xf6a,0x6b          cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000952   f06b                                                                                                               
000954   cf6b     MOVFF     0xf6b,0x6c                                                                                      
000956   f06c                                                                                                               
000958   cf6c     MOVFF     0xf6c,0x6d          cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00095a   f06d                                                                                                               
00095c   cf6d     MOVFF     0xf6d,0x6e                                                                                      
00095e   f06e                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000960   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000962   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000964   d000     BRA       0x966                                                                                           
000966   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
000968   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PROTO_MESSAGE cm,CAN_PRIORITY prio)                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00096a   ffe6                                                                                                               
00096c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
00096e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000970   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000972   b740     BTFSC     0x40,0x3,0x1                                                                                    
000974   d004     BRA       0x97e                                                                                           
000976   0e00     MOVLW     0x0                                                                                             
000978   1477     ANDWF     0x77,0x0,0x0                                                                                    
00097a   0903     IORLW     0x3                                                                                             
00097c   6e77     MOVWF     0x77,0x0                                                                                        
00097e   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000980   b730     BTFSC     0x30,0x3,0x1                                                                                    
000982   d004     BRA       0x98c                                                                                           
000984   0e00     MOVLW     0x0                                                                                             
000986   1477     ANDWF     0x77,0x0,0x0                                                                                    
000988   0904     IORLW     0x4                                                                                             
00098a   6e77     MOVWF     0x77,0x0                                                                                        
00098c   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
00098e   b720     BTFSC     0x20,0x3,0x1                                                                                    
000990   d005     BRA       0x99c                                                                                           
000992   0e00     MOVLW     0x0                                                                                             
000994   1477     ANDWF     0x77,0x0,0x0                                                                                    
000996   0905     IORLW     0x5                                                                                             
000998   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00099a   d002     BRA       0x9a0           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00099c   0e00     MOVLW     0x0                                                                                             
00099e   d0b0     BRA       0xb00                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a0   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a2   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009a4   f000                                                                                                               
0009a6   3400     RLCF      0x0,0x0,0x0                                                                                     
0009a8   e20e     BC        0x9c6                                                                                           
0009aa   0eef     MOVLW     0xef                                                                                            
0009ac   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009ae   f001                                                                                                               
0009b0   0e03     MOVLW     0x3                                                                                             
0009b2   6ee7     MOVWF     0xe7,0x0                                                                                        
0009b4   1801     XORWF     0x1,0x0,0x0                                                                                     
0009b6   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
0009b8   d002     BRA       0x9be                                                                                           
0009ba   3401     RLCF      0x1,0x0,0x0                                                                                     
0009bc   d003     BRA       0x9c4                                                                                           
0009be   50e7     MOVF      0xe7,0x0,0x0                                                                                    
0009c0   80d8     BSF       0xd8,0x0,0x0                                                                                    
0009c2   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0009c4   e202     BC        0x9ca                                                                                           
0009c6   0eef     MOVLW     0xef                                                                                            
0009c8   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
0009ca   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBoot\Source\Main.c
0009cc   cfdb     MOVFF     0xfdb,0x0                                                                                       
0009ce   f000                                                                                                               
0009d0   0ef2     MOVLW     0xf2                                                                                            
0009d2   cfdb     MOVFF     0xfdb,0x1                                                                                       
0009d4   f001                                                                                                               
0009d6   0ec0     MOVLW     0xc0                                                                                            
0009d8   1600     ANDWF     0x0,0x1,0x0                                                                                     
0009da   0e03     MOVLW     0x3                                                                                             
0009dc   1601     ANDWF     0x1,0x1,0x0                                                                                     
0009de   0e06     MOVLW     0x6                                                                                             
0009e0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0009e2   3201     RRCF      0x1,0x1,0x0                                                                                     
0009e4   3200     RRCF      0x0,0x1,0x0                                                                                     
0009e6   04e8     DECF      0xe8,0x0,0x0                                                                                    
0009e8   e1fb     BNZ       0x9e0                                                                                           
0009ea   0ef0     MOVLW     0xf0                                                                                            
0009ec   50db     MOVF      0xdb,0x0,0x0                                                                                    
0009ee   0b0f     ANDLW     0xf                                                                                             
0009f0   0d10     MULLW     0x10                                                                                            
0009f2   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0009f4   2400     ADDWF     0x0,0x0,0x0                                                                                     
0009f6   6e61     MOVWF     0x61,0x0                                                                                        
0009f8   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBoot\Source\Main.c
0009fa   6ee7     MOVWF     0xe7,0x0                                                                                        
0009fc   0ef1     MOVLW     0xf1                                                                                            
0009fe   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a00   f002                                                                                                               
000a02   0ef2     MOVLW     0xf2                                                                                            
000a04   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a06   f003                                                                                                               
000a08   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a0a   1602     ANDWF     0x2,0x1,0x0                                                                                     
000a0c   6a03     CLRF      0x3,0x0                                                                                         
000a0e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a10   3203     RRCF      0x3,0x1,0x0                                                                                     
000a12   3202     RRCF      0x2,0x1,0x0                                                                                     
000a14   0e3f     MOVLW     0x3f                                                                                            
000a16   6ee7     MOVWF     0xe7,0x0                                                                                        
000a18   0ef1     MOVLW     0xf1                                                                                            
000a1a   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a1c   f000                                                                                                               
000a1e   0ef2     MOVLW     0xf2                                                                                            
000a20   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a22   f001                                                                                                               
000a24   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a26   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a28   6a01     CLRF      0x1,0x0                                                                                         
000a2a   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a2c   3600     RLCF      0x0,0x1,0x0                                                                                     
000a2e   3601     RLCF      0x1,0x1,0x0                                                                                     
000a30   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a32   3600     RLCF      0x0,0x1,0x0                                                                                     
000a34   3601     RLCF      0x1,0x1,0x0                                                                                     
000a36   5000     MOVF      0x0,0x0,0x0                                                                                     
000a38   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a3a   6e62     MOVWF     0x62,0x0                                                                                        
000a3c   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
000a3e   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a40   f002                                                                                                               
000a42   0ef5     MOVLW     0xf5                                                                                            
000a44   cfdb     MOVFF     0xfdb,0x3                                                                                       
000a46   f003                                                                                                               
000a48   0e00     MOVLW     0x0                                                                                             
000a4a   1602     ANDWF     0x2,0x1,0x0                                                                                     
000a4c   0e01     MOVLW     0x1                                                                                             
000a4e   1603     ANDWF     0x3,0x1,0x0                                                                                     
000a50   c003     MOVFF     0x3,0x2                                                                                         
000a52   f002                                                                                                               
000a54   6a03     CLRF      0x3,0x0                                                                                         
000a56   0e01     MOVLW     0x1                                                                                             
000a58   6ee7     MOVWF     0xe7,0x0                                                                                        
000a5a   0ef1     MOVLW     0xf1                                                                                            
000a5c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a5e   f000                                                                                                               
000a60   0ef2     MOVLW     0xf2                                                                                            
000a62   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a64   f001                                                                                                               
000a66   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a68   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a6a   6a01     CLRF      0x1,0x0                                                                                         
000a6c   0e07     MOVLW     0x7                                                                                             
000a6e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a70   3600     RLCF      0x0,0x1,0x0                                                                                     
000a72   3601     RLCF      0x1,0x1,0x0                                                                                     
000a74   04e8     DECF      0xe8,0x0,0x0                                                                                    
000a76   e1fb     BNZ       0xa6e                                                                                           
000a78   0ef3     MOVLW     0xf3                                                                                            
000a7a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a7c   0b3f     ANDLW     0x3f                                                                                            
000a7e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000a80   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a82   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a84   6e63     MOVWF     0x63,0x0                                                                                        
000a86   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000a88   6ee7     MOVWF     0xe7,0x0                                                                                        
000a8a   0ef4     MOVLW     0xf4                                                                                            
000a8c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a8e   f000                                                                                                               
000a90   0ef5     MOVLW     0xf5                                                                                            
000a92   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a94   f001                                                                                                               
000a96   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a98   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a9a   6a01     CLRF      0x1,0x0                                                                                         
000a9c   5000     MOVF      0x0,0x0,0x0                                                                                     
000a9e   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000aa0   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000aa2   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000aa4   50db     MOVF      0xdb,0x0,0x0                                                                                    
000aa6   0808     SUBLW     0x8                                                                                             
000aa8   e203     BC        0xab0                                                                                           
000aaa   0e08     MOVLW     0x8                                                                                             
000aac   6e65     MOVWF     0x65,0x0                                                                                        
000aae   d003     BRA       0xab6                                                                                           
000ab0   0ef6     MOVLW     0xf6                                                                                            
000ab2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ab4   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
000ab6   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
000ab8   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000aba   50db     MOVF      0xdb,0x0,0x0                                                                                    
000abc   6e66     MOVWF     0x66,0x0                                                                                        
000abe   0ef8     MOVLW     0xf8                                                                                            
000ac0   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ac2   6e67     MOVWF     0x67,0x0                                                                                        
000ac4   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac6   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ac8   6e68     MOVWF     0x68,0x0                                                                                        
000aca   0efa     MOVLW     0xfa                                                                                            
000acc   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ace   6e69     MOVWF     0x69,0x0                                                                                        
000ad0   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ad2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ad4   6e6a     MOVWF     0x6a,0x0                                                                                        
000ad6   0efc     MOVLW     0xfc                                                                                            
000ad8   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ada   6e6b     MOVWF     0x6b,0x0                                                                                        
000adc   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ade   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ae0   6e6c     MOVWF     0x6c,0x0                                                                                        
000ae2   0efe     MOVLW     0xfe                                                                                            
000ae4   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ae6   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ae8   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
000aea   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000aec   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000aee   ffe6                                                                                                               
000af0   0efc     MOVLW     0xfc                                                                                            
000af2   1460     ANDWF     0x60,0x0,0x0                                                                                    
000af4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000af6   10e7     IORWF     0xe7,0x0,0x0                                                                                    
000af8   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
000afa   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
000afc   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000afe   d000     BRA       0xb00                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000b00   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000b02   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000b04   ffd9                                                                                                               
000b06   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
000b08   0008     TBLRD                     TBLRD                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0a   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
000b0c   000c     TBLWT                     TBLWT                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0e   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
000b10   000d     TBLWTPOSTINC              TBLWTPOSTINC                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b12   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
000b14   c0b3     MOVFF     0xb3,0x10       return tickCounter;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000b16   f010                                                                                                               
000b18   c0b4     MOVFF     0xb4,0x11                                                                                       
000b1a   f011                                                                                                               
000b1c   c0b5     MOVFF     0xb5,0x12                                                                                       
000b1e   f012                                                                                                               
000b20   c0b6     MOVFF     0xb6,0x13                                                                                       
000b22   f013                                                                                                               
000b24   d000     BRA       0xb26                                                                                           
000b26   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
000b28   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
000b2a   ffe6                                                                                                               
000b2c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000b2e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b30   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000b32   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b34   f000                                                                                                               
000b36   0efe     MOVLW     0xfe                                                                                            
000b38   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b3a   f001                                                                                                               
000b3c   c001     MOVFF     0x1,0x0                                                                                         
000b3e   f000                                                                                                               
000b40   6a01     CLRF      0x1,0x0                                                                                         
000b42   5000     MOVF      0x0,0x0,0x0                                                                                     
000b44   6eaa     MOVWF     0xaa,0x0                                                                                        
000b46   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000b48   6ee7     MOVWF     0xe7,0x0                                                                                        
000b4a   0efd     MOVLW     0xfd                                                                                            
000b4c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b4e   f000                                                                                                               
000b50   0efe     MOVLW     0xfe                                                                                            
000b52   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b54   f001                                                                                                               
000b56   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000b58   1600     ANDWF     0x0,0x1,0x0                                                                                     
000b5a   6a01     CLRF      0x1,0x0                                                                                         
000b5c   5000     MOVF      0x0,0x0,0x0                                                                                     
000b5e   6ea9     MOVWF     0xa9,0x0                                                                                        
000b60   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000b62   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000b64   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b66   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
000b68   d000     BRA       0xb6a                                                                                           
000b6a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b6c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000b6e   ffd9                                                                                                               
000b70   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
000b72   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b74   ffe6                                                                                                               
000b76   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000b78   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b7a   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000b7c   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000b7e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b80   f000                                                                                                               
000b82   0efe     MOVLW     0xfe                                                                                            
000b84   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b86   f001                                                                                                               
000b88   c001     MOVFF     0x1,0x0                                                                                         
000b8a   f000                                                                                                               
000b8c   6a01     CLRF      0x1,0x0                                                                                         
000b8e   5000     MOVF      0x0,0x0,0x0                                                                                     
000b90   6eaa     MOVWF     0xaa,0x0                                                                                        
000b92   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000b94   6ee7     MOVWF     0xe7,0x0                                                                                        
000b96   0efd     MOVLW     0xfd                                                                                            
000b98   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b9a   f000                                                                                                               
000b9c   0efe     MOVLW     0xfe                                                                                            
000b9e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000ba0   f001                                                                                                               
000ba2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000ba4   1600     ANDWF     0x0,0x1,0x0                                                                                     
000ba6   6a01     CLRF      0x1,0x0                                                                                         
000ba8   5000     MOVF      0x0,0x0,0x0                                                                                     
000baa   6ea9     MOVWF     0xa9,0x0                                                                                        
000bac   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bae   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bb0   6ea8     MOVWF     0xa8,0x0                                                                                        
000bb2   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000bb4   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bb6   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bb8   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000bba   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bbc   6ea7     MOVWF     0xa7,0x0                                                                                        
000bbe   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000bc0   6ea7     MOVWF     0xa7,0x0                                                                                        
000bc2   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000bc4   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000bc6   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
000bc8   d7fe     BRA       0xbc6                                                                                           
000bca   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000bcc   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000bce   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000bd0   ffd9                                                                                                               
000bd2   0012     RETURN    0x0