Subversion Repositories HomeAutomation

Rev

Rev 110 | 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: Mon Nov 20 17:42:27 2006


Address  Value    Disassembly              Source                                                                           File
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
                                           /*********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                  Main application                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            *********************************************************************           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBoot/Source/Main.c $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Last changed: $LastChangedDate: 2006-11-15 18:53:04 +0100 (on, 15 nov 2006) $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Revision:     $Revision: 110 $                                                   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   0e26     MOVLW     0x26                                                                                            
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
                                            CAN_PROTO_MESSAGE outCmHeart;                                                   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   ec4b     CALL      0x896,0x0       mainInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000046   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            #ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000048   ec51     CALL      0x8a2,0x0           canInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00004a   f004                                                                                                               
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00004c   ecd9     CALL      0xbb2,0x0       tBoot = tickGet();                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00004e   f005                                                                                                               
000050   c010     MOVFF     0x10,0xfde                                                                                      
000052   ffde                                                                                                               
000054   c011     MOVFF     0x11,0xfde                                                                                      
000056   ffde                                                                                                               
000058   c012     MOVFF     0x12,0xfde                                                                                      
00005a   ffde                                                                                                               
00005c   c013     MOVFF     0x13,0xfdd                                                                                      
00005e   ffdd                                                                                                               
000060   52dd     MOVF      0xdd,0x1,0x0                                                                                    
000062   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
000064   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000066   6ee6     MOVWF     0xe6,0x0                                                                                        
000068   6ae6     CLRF      0xe6,0x0                                                                                        
00006a   ece3     CALL      0xbc6,0x0                                                                                       
00006c   f005                                                                                                               
00006e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000070   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000072   082a     SUBLW     0x2a                                                                                            
000074   e12b     BNZ       0xcc                                                                                            
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000076   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
000078   6ee6     MOVWF     0xe6,0x0                                                                                        
00007a   6ae6     CLRF      0xe6,0x0                                                                                        
00007c   ece3     CALL      0xbc6,0x0                                                                                       
00007e   f005                                                                                                               
000080   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000082   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000084   6e00     MOVWF     0x0,0x0                                                                                         
000086   c000     MOVFF     0x0,0x1                                                                                         
000088   f001                                                                                                               
00008a   6a00     CLRF      0x0,0x0                                                                                         
00008c   c000     MOVFF     0x0,0xfe6                                                                                       
00008e   ffe6                                                                                                               
000090   c001     MOVFF     0x1,0xfe6                                                                                       
000092   ffe6                                                                                                               
000094   0e02     MOVLW     0x2                                                                                             
000096   6ee6     MOVWF     0xe6,0x0                                                                                        
000098   6ae6     CLRF      0xe6,0x0                                                                                        
00009a   ece3     CALL      0xbc6,0x0                                                                                       
00009c   f005                                                                                                               
00009e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000a0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000a2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000a4   cfe7     MOVFF     0xfe7,0x1                                                                                       
0000a6   f001                                                                                                               
0000a8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000aa   cfe7     MOVFF     0xfe7,0x0                                                                                       
0000ac   f000                                                                                                               
0000ae   0100     MOVLB     0x0                                                                                             
0000b0   2400     ADDWF     0x0,0x0,0x0                                                                                     
0000b2   6fbb     MOVWF     0xbb,0x1                                                                                        
0000b4   0e00     MOVLW     0x0                                                                                             
0000b6   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0000b8   6fbc     MOVWF     0xbc,0x1                                                                                        
0000ba   0e03     MOVLW     0x3                 MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0000bc   6ee6     MOVWF     0xe6,0x0                                                                                        
0000be   6ae6     CLRF      0xe6,0x0                                                                                        
0000c0   ece3     CALL      0xbc6,0x0                                                                                       
0000c2   f005                                                                                                               
0000c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000c6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000c8   0100     MOVLB     0x0                                                                                             
0000ca   6fbd     MOVWF     0xbd,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Send bootloader startup heatbeat                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0000cc   0e04     MOVLW     0x4             outCmHeart.funct                    = FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0000ce   6adb     CLRF      0xdb,0x0                                                                                        
0000d0   0e08     MOVLW     0x8             outCmHeart.funcc                    = FUNCC_BOOT_HEARTBEAT;                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0000d2   6ef3     MOVWF     0xf3,0x0                                                                                        
0000d4   0e05     MOVLW     0x5                                                                                             
0000d6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000d8   ffdb                                                                                                               
0000da   0e06     MOVLW     0x6                                                                                             
0000dc   6adb     CLRF      0xdb,0x0                                                                                        
0000de   0e07     MOVLW     0x7             outCmHeart.nid                      = MY_NID;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0000e0   c0bd     MOVFF     0xbd,0xfdb                                                                                      
0000e2   ffdb                                                                                                               
0000e4   0e08     MOVLW     0x8             outCmHeart.sid                      = MY_ID;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0000e6   c0bb     MOVFF     0xbb,0xfdb                                                                                      
0000e8   ffdb                                                                                                               
0000ea   0e09     MOVLW     0x9                                                                                             
0000ec   c0bc     MOVFF     0xbc,0xfdb                                                                                      
0000ee   ffdb                                                                                                               
0000f0   0e01     MOVLW     0x1             outCmHeart.data_length              = 1;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0000f2   6ef3     MOVWF     0xf3,0x0                                                                                        
0000f4   0e0a     MOVLW     0xa                                                                                             
0000f6   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000f8   ffdb                                                                                                               
0000fa   0e0b     MOVLW     0xb             outCmHeart.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_BOOT_STARTUP;            F:\MCP\projects\CAN\canBoot\Source\Main.c
0000fc   6adb     CLRF      0xdb,0x0                                                                                        
0000fe   0e02     MOVLW     0x2             while(!canSendMessage(outCmHeart,PRIO_HIGH));                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000100   6ee6     MOVWF     0xe6,0x0                                                                                        
000102   50d9     MOVF      0xd9,0x0,0x0                                                                                    
000104   0f04     ADDLW     0x4                                                                                             
000106   6ee9     MOVWF     0xe9,0x0                                                                                        
000108   cfda     MOVFF     0xfda,0xfea                                                                                     
00010a   ffea                                                                                                               
00010c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00010e   ffe6                                                                                                               
000110   cfee     MOVFF     0xfee,0xfe6                                                                                     
000112   ffe6                                                                                                               
000114   cfee     MOVFF     0xfee,0xfe6                                                                                     
000116   ffe6                                                                                                               
000118   cfee     MOVFF     0xfee,0xfe6                                                                                     
00011a   ffe6                                                                                                               
00011c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00011e   ffe6                                                                                                               
000120   cfee     MOVFF     0xfee,0xfe6                                                                                     
000122   ffe6                                                                                                               
000124   cfee     MOVFF     0xfee,0xfe6                                                                                     
000126   ffe6                                                                                                               
000128   cfee     MOVFF     0xfee,0xfe6                                                                                     
00012a   ffe6                                                                                                               
00012c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00012e   ffe6                                                                                                               
000130   cfee     MOVFF     0xfee,0xfe6                                                                                     
000132   ffe6                                                                                                               
000134   cfee     MOVFF     0xfee,0xfe6                                                                                     
000136   ffe6                                                                                                               
000138   cfee     MOVFF     0xfee,0xfe6                                                                                     
00013a   ffe6                                                                                                               
00013c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00013e   ffe6                                                                                                               
000140   cfee     MOVFF     0xfee,0xfe6                                                                                     
000142   ffe6                                                                                                               
000144   cfee     MOVFF     0xfee,0xfe6                                                                                     
000146   ffe6                                                                                                               
000148   ec03     CALL      0xa06,0x0                                                                                       
00014a   f005                                                                                                               
00014c   6e00     MOVWF     0x0,0x0                                                                                         
00014e   0e10     MOVLW     0x10                                                                                            
000150   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000152   5000     MOVF      0x0,0x0,0x0                                                                                     
000154   0900     IORLW     0x0                                                                                             
000156   e101     BNZ       0x15a                                                                                           
000158   d7d2     BRA       0xfe                                                                                            
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000880   d46c     BRA       0x15a           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
00015a   dbcc     RCALL     0x8f4               BOOL hasPacket = canGetPacket();                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00015c   6ee7     MOVWF     0xe7,0x0                                                                                        
00015e   0e23     MOVLW     0x23                                                                                            
000160   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000162   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000164   0100     MOVLB     0x0                 tickSubCounter++;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000166   2bb7     INCF      0xb7,0x1,0x1                                                                                    
000168   0e00     MOVLW     0x0                                                                                             
00016a   23b8     ADDWFC    0xb8,0x1,0x1                                                                                    
00016c   23b9     ADDWFC    0xb9,0x1,0x1                                                                                    
00016e   23ba     ADDWFC    0xba,0x1,0x1                                                                                    
000170   80d8     BSF       0xd8,0x0,0x0        if (tickSubCounter>TICK_SUB_COUNTER_10MS)                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000172   0e38     MOVLW     0x38                                                                                            
000174   0100     MOVLB     0x0                                                                                             
000176   55b7     SUBFWB    0xb7,0x0,0x1                                                                                    
000178   0e01     MOVLW     0x1                                                                                             
00017a   55b8     SUBFWB    0xb8,0x0,0x1                                                                                    
00017c   0e00     MOVLW     0x0                                                                                             
00017e   55b9     SUBFWB    0xb9,0x0,0x1                                                                                    
000180   0e00     MOVLW     0x0                                                                                             
000182   55ba     SUBFWB    0xba,0x0,0x1                                                                                    
000184   e20c     BC        0x19e                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000186   0100     MOVLB     0x0                     tickCounter++;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000188   2bb3     INCF      0xb3,0x1,0x1                                                                                    
00018a   0e00     MOVLW     0x0                                                                                             
00018c   23b4     ADDWFC    0xb4,0x1,0x1                                                                                    
00018e   23b5     ADDWFC    0xb5,0x1,0x1                                                                                    
000190   23b6     ADDWFC    0xb6,0x1,0x1                                                                                    
000192   0100     MOVLB     0x0                     tickSubCounter=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000194   6bb7     CLRF      0xb7,0x1                                                                                        
000196   6bb8     CLRF      0xb8,0x1                                                                                        
000198   6bb9     CLRF      0xb9,0x1                                                                                        
00019a   6bba     CLRF      0xba,0x1                                                                                        
00019c   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
00019e   0100     MOVLB     0x0                 switch(pgs)                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0001a0   51be     MOVF      0xbe,0x0,0x1                                                                                    
0001a2   0a05     XORLW     0x5                                                                                             
0001a4   e101     BNZ       0x1a8                                                                                           
0001a6   d366     BRA       0x874                                                                                           
0001a8   0a01     XORLW     0x1                                                                                             
0001aa   e101     BNZ       0x1ae                                                                                           
0001ac   d2b4     BRA       0x716                                                                                           
0001ae   0a07     XORLW     0x7                                                                                             
0001b0   e101     BNZ       0x1b4                                                                                           
0001b2   d1bf     BRA       0x532                                                                                           
0001b4   0a01     XORLW     0x1                                                                                             
0001b6   e101     BNZ       0x1ba                                                                                           
0001b8   d110     BRA       0x3da                                                                                           
0001ba   0a03     XORLW     0x3                                                                                             
0001bc   e101     BNZ       0x1c0                                                                                           
0001be   d0b9     BRA       0x332                                                                                           
0001c0   0a01     XORLW     0x1                                                                                             
0001c2   e001     BZ        0x1c6                                                                                           
0001c4   d35a     BRA       0x87a                                                                                           
                                                {                                                                              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
0001c6   0e23     MOVLW     0x23                        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
0001c8   04db     DECF      0xdb,0x0,0x0                                                                                    
0001ca   e173     BNZ       0x2b2                                                                                           
0001cc   0100     MOVLB     0x0                                                                                             
0001ce   5160     MOVF      0x60,0x0,0x1                                                                                    
0001d0   e170     BNZ       0x2b2                                                                                           
0001d2   0100     MOVLB     0x0                                                                                             
0001d4   0e01     MOVLW     0x1                                                                                             
0001d6   1961     XORWF     0x61,0x0,0x1                                                                                    
0001d8   e101     BNZ       0x1dc                                                                                           
0001da   5162     MOVF      0x62,0x0,0x1                                                                                    
0001dc   e16a     BNZ       0x2b2                                                                                           
0001de   c06c     MOVFF     0x6c,0x2                                                                                        
0001e0   f002                                                                                                               
0001e2   c002     MOVFF     0x2,0x3                                                                                         
0001e4   f003                                                                                                               
0001e6   6a02     CLRF      0x2,0x0                                                                                         
0001e8   0100     MOVLB     0x0                                                                                             
0001ea   516b     MOVF      0x6b,0x0,0x1                                                                                    
0001ec   0100     MOVLB     0x0                                                                                             
0001ee   2402     ADDWF     0x2,0x0,0x0                                                                                     
0001f0   6e00     MOVWF     0x0,0x0                                                                                         
0001f2   0e00     MOVLW     0x0                                                                                             
0001f4   2003     ADDWFC    0x3,0x0,0x0                                                                                     
0001f6   6e01     MOVWF     0x1,0x0                                                                                         
0001f8   0100     MOVLB     0x0                                                                                             
0001fa   51bb     MOVF      0xbb,0x0,0x1                                                                                    
0001fc   1800     XORWF     0x0,0x0,0x0                                                                                     
0001fe   e102     BNZ       0x204                                                                                           
000200   51bc     MOVF      0xbc,0x0,0x1                                                                                    
000202   1801     XORWF     0x1,0x0,0x0                                                                                     
000204   e156     BNZ       0x2b2                                                                                           
000206   0100     MOVLB     0x0                                                                                             
000208   51bd     MOVF      0xbd,0x0,0x1                                                                                    
00020a   0100     MOVLB     0x0                                                                                             
00020c   5d63     SUBWF     0x63,0x0,0x1                                                                                    
00020e   e151     BNZ       0x2b2                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Has new start packet                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000210   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
000212   f000                                                                                                               
000214   6a01     CLRF      0x1,0x0                                                                                         
000216   6a02     CLRF      0x2,0x0                                                                                         
000218   6a03     CLRF      0x3,0x0                                                                                         
00021a   0e10     MOVLW     0x10                                                                                            
00021c   0b1f     ANDLW     0x1f                                                                                            
00021e   e007     BZ        0x22e                                                                                           
000220   90d8     BCF       0xd8,0x0,0x0                                                                                    
000222   3600     RLCF      0x0,0x1,0x0                                                                                     
000224   3601     RLCF      0x1,0x1,0x0                                                                                     
000226   3602     RLCF      0x2,0x1,0x0                                                                                     
000228   3603     RLCF      0x3,0x1,0x0                                                                                     
00022a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00022c   e1f9     BNZ       0x220                                                                                           
00022e   c068     MOVFF     0x68,0x4                                                                                        
000230   f004                                                                                                               
000232   6a05     CLRF      0x5,0x0                                                                                         
000234   6a06     CLRF      0x6,0x0                                                                                         
000236   6a07     CLRF      0x7,0x0                                                                                         
000238   0e08     MOVLW     0x8                                                                                             
00023a   0b1f     ANDLW     0x1f                                                                                            
00023c   e007     BZ        0x24c                                                                                           
00023e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000240   3604     RLCF      0x4,0x1,0x0                                                                                     
000242   3605     RLCF      0x5,0x1,0x0                                                                                     
000244   3606     RLCF      0x6,0x1,0x0                                                                                     
000246   3607     RLCF      0x7,0x1,0x0                                                                                     
000248   06e8     DECF      0xe8,0x1,0x0                                                                                    
00024a   e1f9     BNZ       0x23e                                                                                           
00024c   5004     MOVF      0x4,0x0,0x0                                                                                     
00024e   2600     ADDWF     0x0,0x1,0x0                                                                                     
000250   5005     MOVF      0x5,0x0,0x0                                                                                     
000252   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000254   5006     MOVF      0x6,0x0,0x0                                                                                     
000256   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000258   5007     MOVF      0x7,0x0,0x0                                                                                     
00025a   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00025c   c067     MOVFF     0x67,0x8                                                                                        
00025e   f008                                                                                                               
000260   6a09     CLRF      0x9,0x0                                                                                         
000262   6a0a     CLRF      0xa,0x0                                                                                         
000264   6a0b     CLRF      0xb,0x0                                                                                         
000266   5000     MOVF      0x0,0x0,0x0                                                                                     
000268   2408     ADDWF     0x8,0x0,0x0                                                                                     
00026a   0100     MOVLB     0x0                                                                                             
00026c   6fc7     MOVWF     0xc7,0x1                                                                                        
00026e   5001     MOVF      0x1,0x0,0x0                                                                                     
000270   2009     ADDWFC    0x9,0x0,0x0                                                                                     
000272   0100     MOVLB     0x0                                                                                             
000274   6fc8     MOVWF     0xc8,0x1                                                                                        
000276   5002     MOVF      0x2,0x0,0x0                                                                                     
000278   200a     ADDWFC    0xa,0x0,0x0                                                                                     
00027a   0100     MOVLB     0x0                                                                                             
00027c   6fc9     MOVWF     0xc9,0x1                                                                                        
00027e   5003     MOVF      0x3,0x0,0x0                                                                                     
000280   200b     ADDWFC    0xb,0x0,0x0                                                                                     
000282   0100     MOVLB     0x0                                                                                             
000284   6fca     MOVWF     0xca,0x1                                                                                        
000286   c064     MOVFF     0x64,0xc3                       programmerSid   = cm.sid;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000288   f0c3                                                                                                               
00028a   c065     MOVFF     0x65,0xc4                                                                                       
00028c   f0c4                                                                                                               
00028e   ecd9     CALL      0xbb2,0x0                       t               = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000290   f005                                                                                                               
000292   c010     MOVFF     0x10,0xbf                                                                                       
000294   f0bf                                                                                                               
000296   c011     MOVFF     0x11,0xc0                                                                                       
000298   f0c0                                                                                                               
00029a   c012     MOVFF     0x12,0xc1                                                                                       
00029c   f0c1                                                                                                               
00029e   c013     MOVFF     0x13,0xc2                                                                                       
0002a0   f0c2                                                                                                               
0002a2   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a4   6bc5     CLRF      0xc5,0x1                                                                                        
0002a6   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a8   0e02     MOVLW     0x2                                                                                             
0002aa   6fc6     MOVWF     0xc6,0x1                                                                                        
0002ac   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ae   0e01     MOVLW     0x1                                                                                             
0002b0   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
0002b2   cfd9     MOVFF     0xfd9,0xfe9                 if ((tickGet()-tBoot)>BOOTLOADER_INIT_TIMOUT)                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0002b4   ffe9                                                                                                               
0002b6   cfda     MOVFF     0xfda,0xfea                                                                                     
0002b8   ffea                                                                                                               
0002ba   cfee     MOVFF     0xfee,0x4                                                                                       
0002bc   f004                                                                                                               
0002be   cfee     MOVFF     0xfee,0x5                                                                                       
0002c0   f005                                                                                                               
0002c2   cfee     MOVFF     0xfee,0x6                                                                                       
0002c4   f006                                                                                                               
0002c6   cfef     MOVFF     0xfef,0x7                                                                                       
0002c8   f007                                                                                                               
0002ca   c004     MOVFF     0x4,0xfe6                                                                                       
0002cc   ffe6                                                                                                               
0002ce   c005     MOVFF     0x5,0xfe6                                                                                       
0002d0   ffe6                                                                                                               
0002d2   c006     MOVFF     0x6,0xfe6                                                                                       
0002d4   ffe6                                                                                                               
0002d6   c007     MOVFF     0x7,0xfe6                                                                                       
0002d8   ffe6                                                                                                               
0002da   ecd9     CALL      0xbb2,0x0                                                                                       
0002dc   f005                                                                                                               
0002de   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002e0   cfe7     MOVFF     0xfe7,0x7                                                                                       
0002e2   f007                                                                                                               
0002e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002e6   cfe7     MOVFF     0xfe7,0x6                                                                                       
0002e8   f006                                                                                                               
0002ea   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002ec   cfe7     MOVFF     0xfe7,0x5                                                                                       
0002ee   f005                                                                                                               
0002f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0002f2   cfe7     MOVFF     0xfe7,0x4                                                                                       
0002f4   f004                                                                                                               
0002f6   0100     MOVLB     0x0                                                                                             
0002f8   5004     MOVF      0x4,0x0,0x0                                                                                     
0002fa   5c10     SUBWF     0x10,0x0,0x0                                                                                    
0002fc   6e00     MOVWF     0x0,0x0                                                                                         
0002fe   0100     MOVLB     0x0                                                                                             
000300   5005     MOVF      0x5,0x0,0x0                                                                                     
000302   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000304   6e01     MOVWF     0x1,0x0                                                                                         
000306   0100     MOVLB     0x0                                                                                             
000308   5006     MOVF      0x6,0x0,0x0                                                                                     
00030a   5812     SUBWFB    0x12,0x0,0x0                                                                                    
00030c   6e02     MOVWF     0x2,0x0                                                                                         
00030e   0100     MOVLB     0x0                                                                                             
000310   5007     MOVF      0x7,0x0,0x0                                                                                     
000312   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000314   6e03     MOVWF     0x3,0x0                                                                                         
000316   80d8     BSF       0xd8,0x0,0x0                                                                                    
000318   0ef4     MOVLW     0xf4                                                                                            
00031a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00031c   0e01     MOVLW     0x1                                                                                             
00031e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000320   0e00     MOVLW     0x0                                                                                             
000322   5402     SUBFWB    0x2,0x0,0x0                                                                                     
000324   0e00     MOVLW     0x0                                                                                             
000326   5403     SUBFWB    0x3,0x0,0x0                                                                                     
000328   e203     BC        0x330                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00032a   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00032c   0e05     MOVLW     0x5                                                                                             
00032e   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000330   d2a7     BRA       0x880                   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
000332   0e14     MOVLW     0x14                        outCm.funct             = FUNCT_BOOTLOADER;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000334   6adb     CLRF      0xdb,0x0                                                                                        
000336   0e04     MOVLW     0x4                         outCm.funcc             = FUNCC_BOOT_ACK;                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000338   6ef3     MOVWF     0xf3,0x0                                                                                        
00033a   0e15     MOVLW     0x15                                                                                            
00033c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00033e   ffdb                                                                                                               
000340   0e16     MOVLW     0x16                                                                                            
000342   6adb     CLRF      0xdb,0x0                                                                                        
000344   0e17     MOVLW     0x17                        outCm.nid               = MY_NID;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000346   c0bd     MOVFF     0xbd,0xfdb                                                                                      
000348   ffdb                                                                                                               
00034a   0e18     MOVLW     0x18                        outCm.sid               = MY_ID;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00034c   c0bb     MOVFF     0xbb,0xfdb                                                                                      
00034e   ffdb                                                                                                               
000350   0e19     MOVLW     0x19                                                                                            
000352   c0bc     MOVFF     0xbc,0xfdb                                                                                      
000354   ffdb                                                                                                               
000356   0e08     MOVLW     0x8                         outCm.data_length       = 8;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000358   6ef3     MOVWF     0xf3,0x0                                                                                        
00035a   0e1a     MOVLW     0x1a                                                                                            
00035c   cff3     MOVFF     0xff3,0xfdb                                                                                     
00035e   ffdb                                                                                                               
000360   0e1f     MOVLW     0x1f                        outCm.data[BOOT_DATA_ERR_INDEX] = errMsg;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000362   c0c5     MOVFF     0xc5,0xfdb                                                                                      
000364   ffdb                                                                                                               
000366   ecd9     CALL      0xbb2,0x0                   t                       = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000368   f005                                                                                                               
00036a   c010     MOVFF     0x10,0xbf                                                                                       
00036c   f0bf                                                                                                               
00036e   c011     MOVFF     0x11,0xc0                                                                                       
000370   f0c0                                                                                                               
000372   c012     MOVFF     0x12,0xc1                                                                                       
000374   f0c1                                                                                                               
000376   c013     MOVFF     0x13,0xc2                                                                                       
000378   f0c2                                                                                                               
00037a   c0c6     MOVFF     0xc6,0xbe                   pgs                     = afterAckPgs;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00037c   f0be                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00037e   0e02     MOVLW     0x2                         while(!canSendMessage(outCm,PRIO_HIGH));                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000380   6ee6     MOVWF     0xe6,0x0                                                                                        
000382   50d9     MOVF      0xd9,0x0,0x0                                                                                    
000384   0f14     ADDLW     0x14                                                                                            
000386   6ee9     MOVWF     0xe9,0x0                                                                                        
000388   cfda     MOVFF     0xfda,0xfea                                                                                     
00038a   ffea                                                                                                               
00038c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00038e   ffe6                                                                                                               
000390   cfee     MOVFF     0xfee,0xfe6                                                                                     
000392   ffe6                                                                                                               
000394   cfee     MOVFF     0xfee,0xfe6                                                                                     
000396   ffe6                                                                                                               
000398   cfee     MOVFF     0xfee,0xfe6                                                                                     
00039a   ffe6                                                                                                               
00039c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00039e   ffe6                                                                                                               
0003a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003a2   ffe6                                                                                                               
0003a4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003a6   ffe6                                                                                                               
0003a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003aa   ffe6                                                                                                               
0003ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003ae   ffe6                                                                                                               
0003b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003b2   ffe6                                                                                                               
0003b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003b6   ffe6                                                                                                               
0003b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003ba   ffe6                                                                                                               
0003bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003be   ffe6                                                                                                               
0003c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003c2   ffe6                                                                                                               
0003c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
0003c6   ffe6                                                                                                               
0003c8   db1e     RCALL     0xa06                                                                                           
0003ca   6e00     MOVWF     0x0,0x0                                                                                         
0003cc   0e10     MOVLW     0x10                                                                                            
0003ce   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
0003d0   5000     MOVF      0x0,0x0,0x0                                                                                     
0003d2   0900     IORLW     0x0                                                                                             
0003d4   e101     BNZ       0x3d8                                                                                           
0003d6   d7d3     BRA       0x37e                                                                                           
0003d8   d253     BRA       0x880                   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
0003da   dbeb     RCALL     0xbb2                       if ((tickGet()-t)>PACKET_TIMEOUT)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003dc   0100     MOVLB     0x0                                                                                             
0003de   51bf     MOVF      0xbf,0x0,0x1                                                                                    
0003e0   5c10     SUBWF     0x10,0x0,0x0                                                                                    
0003e2   6e00     MOVWF     0x0,0x0                                                                                         
0003e4   0100     MOVLB     0x0                                                                                             
0003e6   51c0     MOVF      0xc0,0x0,0x1                                                                                    
0003e8   5811     SUBWFB    0x11,0x0,0x0                                                                                    
0003ea   6e01     MOVWF     0x1,0x0                                                                                         
0003ec   0100     MOVLB     0x0                                                                                             
0003ee   51c1     MOVF      0xc1,0x0,0x1                                                                                    
0003f0   5812     SUBWFB    0x12,0x0,0x0                                                                                    
0003f2   6e02     MOVWF     0x2,0x0                                                                                         
0003f4   0100     MOVLB     0x0                                                                                             
0003f6   51c2     MOVF      0xc2,0x0,0x1                                                                                    
0003f8   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0003fa   6e03     MOVWF     0x3,0x0                                                                                         
0003fc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0003fe   0e0e     MOVLW     0xe                                                                                             
000400   5400     SUBFWB    0x0,0x0,0x0                                                                                     
000402   0e00     MOVLW     0x0                                                                                             
000404   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000406   0e00     MOVLW     0x0                                                                                             
000408   5402     SUBFWB    0x2,0x0,0x0                                                                                     
00040a   0e00     MOVLW     0x0                                                                                             
00040c   5403     SUBFWB    0x3,0x0,0x0                                                                                     
00040e   e208     BC        0x420                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Timeout, resend ack.                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000410   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000412   6bc5     CLRF      0xc5,0x1                                                                                        
000414   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000416   0e02     MOVLW     0x2                                                                                             
000418   6fc6     MOVWF     0xc6,0x1                                                                                        
00041a   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00041c   0e01     MOVLW     0x1                                                                                             
00041e   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
000420   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
000422   04db     DECF      0xdb,0x0,0x0                                                                                    
000424   e001     BZ        0x428                                                                                           
000426   d084     BRA       0x530                                                                                           
000428   0100     MOVLB     0x0                                                                                             
00042a   5160     MOVF      0x60,0x0,0x1                                                                                    
00042c   e001     BZ        0x430                                                                                           
00042e   d080     BRA       0x530                                                                                           
000430   0ee3     MOVLW     0xe3                                                                                            
000432   0100     MOVLB     0x0                                                                                             
000434   1561     ANDWF     0x61,0x0,0x1                                                                                    
000436   6e00     MOVWF     0x0,0x0                                                                                         
000438   0e03     MOVLW     0x3                                                                                             
00043a   0100     MOVLB     0x0                                                                                             
00043c   1562     ANDWF     0x62,0x0,0x1                                                                                    
00043e   6e01     MOVWF     0x1,0x0                                                                                         
000440   0e03     MOVLW     0x3                                                                                             
000442   1800     XORWF     0x0,0x0,0x0                                                                                     
000444   e101     BNZ       0x448                                                                                           
000446   5001     MOVF      0x1,0x0,0x0                                                                                     
000448   e173     BNZ       0x530                                                                                           
00044a   0100     MOVLB     0x0                                                                                             
00044c   51bd     MOVF      0xbd,0x0,0x1                                                                                    
00044e   0100     MOVLB     0x0                                                                                             
000450   5d63     SUBWF     0x63,0x0,0x1                                                                                    
000452   e16e     BNZ       0x530                                                                                           
000454   0100     MOVLB     0x0                                                                                             
000456   51c3     MOVF      0xc3,0x0,0x1                                                                                    
000458   0100     MOVLB     0x0                                                                                             
00045a   1964     XORWF     0x64,0x0,0x1                                                                                    
00045c   e104     BNZ       0x466                                                                                           
00045e   0100     MOVLB     0x0                                                                                             
000460   51c4     MOVF      0xc4,0x0,0x1                                                                                    
000462   0100     MOVLB     0x0                                                                                             
000464   1965     XORWF     0x65,0x0,0x1                                                                                    
000466   e164     BNZ       0x530                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000468   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00046a   0100     MOVLB     0x0                                                                                             
00046c   1561     ANDWF     0x61,0x0,0x1                                                                                    
00046e   6e00     MOVWF     0x0,0x0                                                                                         
000470   6a01     CLRF      0x1,0x0                                                                                         
000472   90d8     BCF       0xd8,0x0,0x0                                                                                    
000474   3201     RRCF      0x1,0x1,0x0                                                                                     
000476   3200     RRCF      0x0,0x1,0x0                                                                                     
000478   90d8     BCF       0xd8,0x0,0x0                                                                                    
00047a   3201     RRCF      0x1,0x1,0x0                                                                                     
00047c   3200     RRCF      0x0,0x1,0x0                                                                                     
00047e   0e08     MOVLW     0x8                                                                                             
000480   0200     MULWF     0x0,0x0                                                                                         
000482   0e24     MOVLW     0x24                                                                                            
000484   cff3     MOVFF     0xff3,0xfdb                                                                                     
000486   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
000488   0100     MOVLB     0x0                             bytesReceived   = 8;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00048a   0e08     MOVLW     0x8                                                                                             
00048c   6fcb     MOVWF     0xcb,0x1                                                                                        
00048e   0e24     MOVLW     0x24                            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
000490   50db     MOVF      0xdb,0x0,0x0                                                                                    
000492   6aea     CLRF      0xea,0x0                                                                                        
000494   0f6f     ADDLW     0x6f                                                                                            
000496   6ee9     MOVWF     0xe9,0x0                                                                                        
000498   0e00     MOVLW     0x0                                                                                             
00049a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00049c   c067     MOVFF     0x67,0xfef                                                                                      
00049e   ffef                                                                                                               
0004a0   0e24     MOVLW     0x24                                                                                            
0004a2   28db     INCF      0xdb,0x0,0x0                                                                                    
0004a4   6aea     CLRF      0xea,0x0                                                                                        
0004a6   0f6f     ADDLW     0x6f                                                                                            
0004a8   6ee9     MOVWF     0xe9,0x0                                                                                        
0004aa   0e00     MOVLW     0x0                                                                                             
0004ac   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004ae   c068     MOVFF     0x68,0xfef                                                                                      
0004b0   ffef                                                                                                               
0004b2   0e24     MOVLW     0x24                                                                                            
0004b4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004b6   0f02     ADDLW     0x2                                                                                             
0004b8   6aea     CLRF      0xea,0x0                                                                                        
0004ba   0f6f     ADDLW     0x6f                                                                                            
0004bc   6ee9     MOVWF     0xe9,0x0                                                                                        
0004be   0e00     MOVLW     0x0                                                                                             
0004c0   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004c2   c069     MOVFF     0x69,0xfef                                                                                      
0004c4   ffef                                                                                                               
0004c6   0e24     MOVLW     0x24                                                                                            
0004c8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ca   0f03     ADDLW     0x3                                                                                             
0004cc   6aea     CLRF      0xea,0x0                                                                                        
0004ce   0f6f     ADDLW     0x6f                                                                                            
0004d0   6ee9     MOVWF     0xe9,0x0                                                                                        
0004d2   0e00     MOVLW     0x0                                                                                             
0004d4   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004d6   c06a     MOVFF     0x6a,0xfef                                                                                      
0004d8   ffef                                                                                                               
0004da   0e24     MOVLW     0x24                            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
0004dc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004de   0f04     ADDLW     0x4                                                                                             
0004e0   6aea     CLRF      0xea,0x0                                                                                        
0004e2   0f6f     ADDLW     0x6f                                                                                            
0004e4   6ee9     MOVWF     0xe9,0x0                                                                                        
0004e6   0e00     MOVLW     0x0                                                                                             
0004e8   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004ea   c06b     MOVFF     0x6b,0xfef                                                                                      
0004ec   ffef                                                                                                               
0004ee   0e24     MOVLW     0x24                                                                                            
0004f0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004f2   0f05     ADDLW     0x5                                                                                             
0004f4   6aea     CLRF      0xea,0x0                                                                                        
0004f6   0f6f     ADDLW     0x6f                                                                                            
0004f8   6ee9     MOVWF     0xe9,0x0                                                                                        
0004fa   0e00     MOVLW     0x0                                                                                             
0004fc   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004fe   c06c     MOVFF     0x6c,0xfef                                                                                      
000500   ffef                                                                                                               
000502   0e24     MOVLW     0x24                                                                                            
000504   50db     MOVF      0xdb,0x0,0x0                                                                                    
000506   0f06     ADDLW     0x6                                                                                             
000508   6aea     CLRF      0xea,0x0                                                                                        
00050a   0f6f     ADDLW     0x6f                                                                                            
00050c   6ee9     MOVWF     0xe9,0x0                                                                                        
00050e   0e00     MOVLW     0x0                                                                                             
000510   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000512   c06d     MOVFF     0x6d,0xfef                                                                                      
000514   ffef                                                                                                               
000516   0e24     MOVLW     0x24                                                                                            
000518   50db     MOVF      0xdb,0x0,0x0                                                                                    
00051a   0f07     ADDLW     0x7                                                                                             
00051c   6aea     CLRF      0xea,0x0                                                                                        
00051e   0f6f     ADDLW     0x6f                                                                                            
000520   6ee9     MOVWF     0xe9,0x0                                                                                        
000522   0e00     MOVLW     0x0                                                                                             
000524   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000526   c06e     MOVFF     0x6e,0xfef                                                                                      
000528   ffef                                                                                                               
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
00052a   0100     MOVLB     0x0                             pgs             = pgsWAIT_PGM_PACKET;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00052c   0e03     MOVLW     0x3                                                                                             
00052e   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
000530   d1a7     BRA       0x880                   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
000532   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid) F:\MCP\projects\CAN\canBoot\Source\Main.c
000534   04db     DECF      0xdb,0x0,0x0                                                                                    
000536   e001     BZ        0x53a                                                                                           
000538   d084     BRA       0x642                                                                                           
00053a   0100     MOVLB     0x0                                                                                             
00053c   5160     MOVF      0x60,0x0,0x1                                                                                    
00053e   e001     BZ        0x542                                                                                           
000540   d080     BRA       0x642                                                                                           
000542   0ee3     MOVLW     0xe3                                                                                            
000544   0100     MOVLB     0x0                                                                                             
000546   1561     ANDWF     0x61,0x0,0x1                                                                                    
000548   6e00     MOVWF     0x0,0x0                                                                                         
00054a   0e03     MOVLW     0x3                                                                                             
00054c   0100     MOVLB     0x0                                                                                             
00054e   1562     ANDWF     0x62,0x0,0x1                                                                                    
000550   6e01     MOVWF     0x1,0x0                                                                                         
000552   0e03     MOVLW     0x3                                                                                             
000554   1800     XORWF     0x0,0x0,0x0                                                                                     
000556   e101     BNZ       0x55a                                                                                           
000558   5001     MOVF      0x1,0x0,0x0                                                                                     
00055a   e173     BNZ       0x642                                                                                           
00055c   0100     MOVLB     0x0                                                                                             
00055e   51bd     MOVF      0xbd,0x0,0x1                                                                                    
000560   0100     MOVLB     0x0                                                                                             
000562   5d63     SUBWF     0x63,0x0,0x1                                                                                    
000564   e16e     BNZ       0x642                                                                                           
000566   0100     MOVLB     0x0                                                                                             
000568   51c3     MOVF      0xc3,0x0,0x1                                                                                    
00056a   0100     MOVLB     0x0                                                                                             
00056c   1964     XORWF     0x64,0x0,0x1                                                                                    
00056e   e104     BNZ       0x578                                                                                           
000570   0100     MOVLB     0x0                                                                                             
000572   51c4     MOVF      0xc4,0x0,0x1                                                                                    
000574   0100     MOVLB     0x0                                                                                             
000576   1965     XORWF     0x65,0x0,0x1                                                                                    
000578   e164     BNZ       0x642                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00057a   0e1c     MOVLW     0x1c                            BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00057c   0100     MOVLB     0x0                                                                                             
00057e   1561     ANDWF     0x61,0x0,0x1                                                                                    
000580   6e00     MOVWF     0x0,0x0                                                                                         
000582   6a01     CLRF      0x1,0x0                                                                                         
000584   90d8     BCF       0xd8,0x0,0x0                                                                                    
000586   3201     RRCF      0x1,0x1,0x0                                                                                     
000588   3200     RRCF      0x0,0x1,0x0                                                                                     
00058a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00058c   3201     RRCF      0x1,0x1,0x0                                                                                     
00058e   3200     RRCF      0x0,0x1,0x0                                                                                     
000590   0e08     MOVLW     0x8                                                                                             
000592   0200     MULWF     0x0,0x0                                                                                         
000594   0e25     MOVLW     0x25                                                                                            
000596   cff3     MOVFF     0xff3,0xfdb                                                                                     
000598   ffdb                                                                                                               
                                                            // Save bytes in memory, inc received bytes.                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00059a   0e25     MOVLW     0x25                            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
00059c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00059e   6aea     CLRF      0xea,0x0                                                                                        
0005a0   0f6f     ADDLW     0x6f                                                                                            
0005a2   6ee9     MOVWF     0xe9,0x0                                                                                        
0005a4   0e00     MOVLW     0x0                                                                                             
0005a6   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005a8   c067     MOVFF     0x67,0xfef                                                                                      
0005aa   ffef                                                                                                               
0005ac   0e25     MOVLW     0x25                                                                                            
0005ae   28db     INCF      0xdb,0x0,0x0                                                                                    
0005b0   6aea     CLRF      0xea,0x0                                                                                        
0005b2   0f6f     ADDLW     0x6f                                                                                            
0005b4   6ee9     MOVWF     0xe9,0x0                                                                                        
0005b6   0e00     MOVLW     0x0                                                                                             
0005b8   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005ba   c068     MOVFF     0x68,0xfef                                                                                      
0005bc   ffef                                                                                                               
0005be   0e25     MOVLW     0x25                                                                                            
0005c0   50db     MOVF      0xdb,0x0,0x0                                                                                    
0005c2   0f02     ADDLW     0x2                                                                                             
0005c4   6aea     CLRF      0xea,0x0                                                                                        
0005c6   0f6f     ADDLW     0x6f                                                                                            
0005c8   6ee9     MOVWF     0xe9,0x0                                                                                        
0005ca   0e00     MOVLW     0x0                                                                                             
0005cc   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005ce   c069     MOVFF     0x69,0xfef                                                                                      
0005d0   ffef                                                                                                               
0005d2   0e25     MOVLW     0x25                                                                                            
0005d4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0005d6   0f03     ADDLW     0x3                                                                                             
0005d8   6aea     CLRF      0xea,0x0                                                                                        
0005da   0f6f     ADDLW     0x6f                                                                                            
0005dc   6ee9     MOVWF     0xe9,0x0                                                                                        
0005de   0e00     MOVLW     0x0                                                                                             
0005e0   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005e2   c06a     MOVFF     0x6a,0xfef                                                                                      
0005e4   ffef                                                                                                               
0005e6   0e25     MOVLW     0x25                            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
0005e8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0005ea   0f04     ADDLW     0x4                                                                                             
0005ec   6aea     CLRF      0xea,0x0                                                                                        
0005ee   0f6f     ADDLW     0x6f                                                                                            
0005f0   6ee9     MOVWF     0xe9,0x0                                                                                        
0005f2   0e00     MOVLW     0x0                                                                                             
0005f4   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0005f6   c06b     MOVFF     0x6b,0xfef                                                                                      
0005f8   ffef                                                                                                               
0005fa   0e25     MOVLW     0x25                                                                                            
0005fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
0005fe   0f05     ADDLW     0x5                                                                                             
000600   6aea     CLRF      0xea,0x0                                                                                        
000602   0f6f     ADDLW     0x6f                                                                                            
000604   6ee9     MOVWF     0xe9,0x0                                                                                        
000606   0e00     MOVLW     0x0                                                                                             
000608   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00060a   c06c     MOVFF     0x6c,0xfef                                                                                      
00060c   ffef                                                                                                               
00060e   0e25     MOVLW     0x25                                                                                            
000610   50db     MOVF      0xdb,0x0,0x0                                                                                    
000612   0f06     ADDLW     0x6                                                                                             
000614   6aea     CLRF      0xea,0x0                                                                                        
000616   0f6f     ADDLW     0x6f                                                                                            
000618   6ee9     MOVWF     0xe9,0x0                                                                                        
00061a   0e00     MOVLW     0x0                                                                                             
00061c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00061e   c06d     MOVFF     0x6d,0xfef                                                                                      
000620   ffef                                                                                                               
000622   0e25     MOVLW     0x25                                                                                            
000624   50db     MOVF      0xdb,0x0,0x0                                                                                    
000626   0f07     ADDLW     0x7                                                                                             
000628   6aea     CLRF      0xea,0x0                                                                                        
00062a   0f6f     ADDLW     0x6f                                                                                            
00062c   6ee9     MOVWF     0xe9,0x0                                                                                        
00062e   0e00     MOVLW     0x0                                                                                             
000630   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000632   c06e     MOVFF     0x6e,0xfef                                                                                      
000634   ffef                                                                                                               
                                                                                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000636   0e08     MOVLW     0x8                             bytesReceived   += 8;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000638   0100     MOVLB     0x0                                                                                             
00063a   27cb     ADDWF     0xcb,0x1,0x1                                                                                    
00063c   0100     MOVLB     0x0                             pgs              = pgsWAIT_PGM_PACKET;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00063e   0e03     MOVLW     0x3                                                                                             
000640   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
000642   0e23     MOVLW     0x23                        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
000644   04db     DECF      0xdb,0x0,0x0                                                                                    
000646   e120     BNZ       0x688                                                                                           
000648   0100     MOVLB     0x0                                                                                             
00064a   5160     MOVF      0x60,0x0,0x1                                                                                    
00064c   e11d     BNZ       0x688                                                                                           
00064e   0100     MOVLB     0x0                                                                                             
000650   0e02     MOVLW     0x2                                                                                             
000652   1961     XORWF     0x61,0x0,0x1                                                                                    
000654   e101     BNZ       0x658                                                                                           
000656   5162     MOVF      0x62,0x0,0x1                                                                                    
000658   e117     BNZ       0x688                                                                                           
00065a   0100     MOVLB     0x0                                                                                             
00065c   51bd     MOVF      0xbd,0x0,0x1                                                                                    
00065e   0100     MOVLB     0x0                                                                                             
000660   5d63     SUBWF     0x63,0x0,0x1                                                                                    
000662   e112     BNZ       0x688                                                                                           
000664   0100     MOVLB     0x0                                                                                             
000666   51c3     MOVF      0xc3,0x0,0x1                                                                                    
000668   0100     MOVLB     0x0                                                                                             
00066a   1964     XORWF     0x64,0x0,0x1                                                                                    
00066c   e104     BNZ       0x676                                                                                           
00066e   0100     MOVLB     0x0                                                                                             
000670   51c4     MOVF      0xc4,0x0,0x1                                                                                    
000672   0100     MOVLB     0x0                                                                                             
000674   1965     XORWF     0x65,0x0,0x1                                                                                    
000676   e108     BNZ       0x688                                                                                           
                                                        {                                                                            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
000678   0100     MOVLB     0x0                             errMsg          = ACK_ERR_NO_ERROR;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00067a   6bc5     CLRF      0xc5,0x1                                                                                        
00067c   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00067e   0e02     MOVLW     0x2                                                                                             
000680   6fc6     MOVWF     0xc6,0x1                                                                                        
000682   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000684   0e01     MOVLW     0x1                                                                                             
000686   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
000688   0e23     MOVLW     0x23                        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
00068a   04db     DECF      0xdb,0x0,0x0                                                                                    
00068c   e138     BNZ       0x6fe                                                                                           
00068e   0100     MOVLB     0x0                                                                                             
000690   5160     MOVF      0x60,0x0,0x1                                                                                    
000692   e135     BNZ       0x6fe                                                                                           
000694   0100     MOVLB     0x0                                                                                             
000696   0e05     MOVLW     0x5                                                                                             
000698   1961     XORWF     0x61,0x0,0x1                                                                                    
00069a   e101     BNZ       0x69e                                                                                           
00069c   5162     MOVF      0x62,0x0,0x1                                                                                    
00069e   e12f     BNZ       0x6fe                                                                                           
0006a0   0100     MOVLB     0x0                                                                                             
0006a2   51bd     MOVF      0xbd,0x0,0x1                                                                                    
0006a4   0100     MOVLB     0x0                                                                                             
0006a6   5d63     SUBWF     0x63,0x0,0x1                                                                                    
0006a8   e12a     BNZ       0x6fe                                                                                           
0006aa   0100     MOVLB     0x0                                                                                             
0006ac   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0006ae   0100     MOVLB     0x0                                                                                             
0006b0   1964     XORWF     0x64,0x0,0x1                                                                                    
0006b2   e104     BNZ       0x6bc                                                                                           
0006b4   0100     MOVLB     0x0                                                                                             
0006b6   51c4     MOVF      0xc4,0x0,0x1                                                                                    
0006b8   0100     MOVLB     0x0                                                                                             
0006ba   1965     XORWF     0x65,0x0,0x1                                                                                    
0006bc   e120     BNZ       0x6fe                                                                                           
                                                        {                                                                            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
0006be   0100     MOVLB     0x0                             if (bytesReceived==0)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c0   51cb     MOVF      0xcb,0x0,0x1                                                                                    
0006c2   e109     BNZ       0x6d6                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                // No received, done.                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c4   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_NO_ERROR;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c6   6bc5     CLRF      0xc5,0x1                                                                                        
0006c8   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ca   0e05     MOVLW     0x5                                                                                             
0006cc   6fc6     MOVWF     0xc6,0x1                                                                                        
0006ce   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d0   0e01     MOVLW     0x1                                                                                             
0006d2   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d4   d014     BRA       0x6fe                           else if (bytesReceived!=64)                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d6   0e40     MOVLW     0x40                                                                                            
0006d8   0100     MOVLB     0x0                                                                                             
0006da   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
0006dc   e00a     BZ        0x6f2                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006de   0100     MOVLB     0x0                                 errMsg          = ACK_ERR_ERROR;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e0   0e01     MOVLW     0x1                                                                                             
0006e2   6fc5     MOVWF     0xc5,0x1                                                                                        
0006e4   0100     MOVLB     0x0                                 afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e6   0e02     MOVLW     0x2                                                                                             
0006e8   6fc6     MOVWF     0xc6,0x1                                                                                        
0006ea   0100     MOVLB     0x0                                 pgs             = pgsSEND_ACK;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ec   0e01     MOVLW     0x1                                                                                             
0006ee   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f0   d006     BRA       0x6fe                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f2   0100     MOVLB     0x0                                 pgs              = pgsWRITE_PROGRAM;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f4   0e04     MOVLW     0x4                                                                                             
0006f6   6fbe     MOVWF     0xbe,0x1                                                                                        
0006f8   0100     MOVLB     0x0                                 afterAckPgs     = pgsDONE;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0006fa   0e05     MOVLW     0x5                                                                                             
0006fc   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
0006fe   0e40     MOVLW     0x40                        if (bytesReceived==64)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000700   0100     MOVLB     0x0                                                                                             
000702   5dcb     SUBWF     0xcb,0x0,0x1                                                                                    
000704   e107     BNZ       0x714                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000706   7282     BTG       0x82,0x1,0x0                    LED0_IO=~LED0_IO;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000708   0100     MOVLB     0x0                             pgs              = pgsWRITE_PROGRAM;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00070a   0e04     MOVLW     0x4                                                                                             
00070c   6fbe     MOVWF     0xbe,0x1                                                                                        
00070e   0100     MOVLB     0x0                             afterAckPgs     = pgsWAIT_PGM_PACKET;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000710   0e03     MOVLW     0x3                                                                                             
000712   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
000714   d0b5     BRA       0x880                   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
000716   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
000718   0e00     MOVLW     0x0                         if (pgmAddress<RM_RESET_VECTOR)                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00071a   0100     MOVLB     0x0                                                                                             
00071c   5dc7     SUBWF     0xc7,0x0,0x1                                                                                    
00071e   0e10     MOVLW     0x10                                                                                            
000720   59c8     SUBWFB    0xc8,0x0,0x1                                                                                    
000722   0e00     MOVLW     0x0                                                                                             
000724   59c9     SUBWFB    0xc9,0x0,0x1                                                                                    
000726   0e00     MOVLW     0x0                                                                                             
000728   59ca     SUBWFB    0xca,0x0,0x1                                                                                    
00072a   e206     BC        0x738                                                                                           
                                                        {                                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00072c   0100     MOVLB     0x0                             errMsg          = ACK_ERR_ERROR;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00072e   0e01     MOVLW     0x1                                                                                             
000730   6fc5     MOVWF     0xc5,0x1                                                                                        
000732   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000734   0e01     MOVLW     0x1                                                                                             
000736   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
000738   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00073a   f000                                                                                                               
00073c   c0c8     MOVFF     0xc8,0x1                                                                                        
00073e   f001                                                                                                               
000740   c0c9     MOVFF     0xc9,0x2                                                                                        
000742   f002                                                                                                               
000744   c0ca     MOVFF     0xca,0x3                                                                                        
000746   f003                                                                                                               
000748   6a00     CLRF      0x0,0x0                                                                                         
00074a   6a01     CLRF      0x1,0x0                                                                                         
00074c   6a03     CLRF      0x3,0x0                                                                                         
00074e   0e10     MOVLW     0x10                                                                                            
000750   90d8     BCF       0xd8,0x0,0x0                                                                                    
000752   3203     RRCF      0x3,0x1,0x0                                                                                     
000754   3202     RRCF      0x2,0x1,0x0                                                                                     
000756   3201     RRCF      0x1,0x1,0x0                                                                                     
000758   3200     RRCF      0x0,0x1,0x0                                                                                     
00075a   06e8     DECF      0xe8,0x1,0x0                                                                                    
00075c   e1f9     BNZ       0x750                                                                                           
00075e   5000     MOVF      0x0,0x0,0x0                                                                                     
000760   6ef8     MOVWF     0xf8,0x0                                                                                        
000762   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000764   f000                                                                                                               
000766   c0c8     MOVFF     0xc8,0x1                                                                                        
000768   f001                                                                                                               
00076a   c0c9     MOVFF     0xc9,0x2                                                                                        
00076c   f002                                                                                                               
00076e   c0ca     MOVFF     0xca,0x3                                                                                        
000770   f003                                                                                                               
000772   6a00     CLRF      0x0,0x0                                                                                         
000774   6a02     CLRF      0x2,0x0                                                                                         
000776   6a03     CLRF      0x3,0x0                                                                                         
000778   0e08     MOVLW     0x8                                                                                             
00077a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00077c   3203     RRCF      0x3,0x1,0x0                                                                                     
00077e   3202     RRCF      0x2,0x1,0x0                                                                                     
000780   3201     RRCF      0x1,0x1,0x0                                                                                     
000782   3200     RRCF      0x0,0x1,0x0                                                                                     
000784   06e8     DECF      0xe8,0x1,0x0                                                                                    
000786   e1f9     BNZ       0x77a                                                                                           
000788   5000     MOVF      0x0,0x0,0x0                                                                                     
00078a   6ef7     MOVWF     0xf7,0x0                                                                                        
00078c   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00078e   51c7     MOVF      0xc7,0x0,0x1                                                                                    
000790   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
000792   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
000794   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
000796   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
000798   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
00079a   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
00079c   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00079e   6ea7     MOVWF     0xa7,0x0                                                                                        
0007a0   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a2   6ea7     MOVWF     0xa7,0x0                                                                                        
0007a4   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
0007a6   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
0007a8   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007aa   f000                                                                                                               
0007ac   c0c8     MOVFF     0xc8,0x1                                                                                        
0007ae   f001                                                                                                               
0007b0   c0c9     MOVFF     0xc9,0x2                                                                                        
0007b2   f002                                                                                                               
0007b4   c0ca     MOVFF     0xca,0x3                                                                                        
0007b6   f003                                                                                                               
0007b8   6a00     CLRF      0x0,0x0                                                                                         
0007ba   6a01     CLRF      0x1,0x0                                                                                         
0007bc   6a03     CLRF      0x3,0x0                                                                                         
0007be   0e10     MOVLW     0x10                                                                                            
0007c0   90d8     BCF       0xd8,0x0,0x0                                                                                    
0007c2   3203     RRCF      0x3,0x1,0x0                                                                                     
0007c4   3202     RRCF      0x2,0x1,0x0                                                                                     
0007c6   3201     RRCF      0x1,0x1,0x0                                                                                     
0007c8   3200     RRCF      0x0,0x1,0x0                                                                                     
0007ca   06e8     DECF      0xe8,0x1,0x0                                                                                    
0007cc   e1f9     BNZ       0x7c0                                                                                           
0007ce   5000     MOVF      0x0,0x0,0x0                                                                                     
0007d0   6ef8     MOVWF     0xf8,0x0                                                                                        
0007d2   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d4   f000                                                                                                               
0007d6   c0c8     MOVFF     0xc8,0x1                                                                                        
0007d8   f001                                                                                                               
0007da   c0c9     MOVFF     0xc9,0x2                                                                                        
0007dc   f002                                                                                                               
0007de   c0ca     MOVFF     0xca,0x3                                                                                        
0007e0   f003                                                                                                               
0007e2   6a00     CLRF      0x0,0x0                                                                                         
0007e4   6a02     CLRF      0x2,0x0                                                                                         
0007e6   6a03     CLRF      0x3,0x0                                                                                         
0007e8   0e08     MOVLW     0x8                                                                                             
0007ea   90d8     BCF       0xd8,0x0,0x0                                                                                    
0007ec   3203     RRCF      0x3,0x1,0x0                                                                                     
0007ee   3202     RRCF      0x2,0x1,0x0                                                                                     
0007f0   3201     RRCF      0x1,0x1,0x0                                                                                     
0007f2   3200     RRCF      0x0,0x1,0x0                                                                                     
0007f4   06e8     DECF      0xe8,0x1,0x0                                                                                    
0007f6   e1f9     BNZ       0x7ea                                                                                           
0007f8   5000     MOVF      0x0,0x0,0x0                                                                                     
0007fa   6ef7     MOVWF     0xf7,0x0                                                                                        
0007fc   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0007fe   51c7     MOVF      0xc7,0x0,0x1                                                                                    
000800   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Load bytes                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000802   0e13     MOVLW     0x13                        for(i=0;i<63;i++)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000804   6adb     CLRF      0xdb,0x0                                                                                        
000806   0e3f     MOVLW     0x3f                                                                                            
000808   6ef3     MOVWF     0xf3,0x0                                                                                        
00080a   0e13     MOVLW     0x13                                                                                            
00080c   cfdb     MOVFF     0xfdb,0xff4                                                                                     
00080e   fff4                                                                                                               
000810   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000812   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
000814   e20d     BC        0x830                                                                                           
00082a   0e13     MOVLW     0x13                                                                                            
00082c   2adb     INCF      0xdb,0x1,0x0                                                                                    
00082e   d7eb     BRA       0x806                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000816   0e13     MOVLW     0x13                            TABLAT=pgmData[i];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000818   50db     MOVF      0xdb,0x0,0x0                                                                                    
00081a   6aea     CLRF      0xea,0x0                                                                                        
00081c   0f6f     ADDLW     0x6f                                                                                            
00081e   6ee9     MOVWF     0xe9,0x0                                                                                        
000820   0e00     MOVLW     0x0                                                                                             
000822   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000824   50ef     MOVF      0xef,0x0,0x0                                                                                    
000826   6ef5     MOVWF     0xf5,0x0                                                                                        
000828   d9c2     RCALL     0xbae                           TBLWTPOSTINC_Func();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000830   c0ae     MOVFF     0xae,0xff5                  TABLAT=pgmData[63];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000832   fff5                                                                                                               
000834   d9ba     RCALL     0xbaa                       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
000836   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
000838   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
00083a   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
00083c   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
00083e   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000840   6ea7     MOVWF     0xa7,0x0                                                                                        
000842   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000844   6ea7     MOVWF     0xa7,0x0                                                                                        
000846   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
000848   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
00084a   94a6     BCF       0xa6,0x2,0x0                EECON1bits.WREN = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00084c   0e40     MOVLW     0x40                        pgmAddress     += 64;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00084e   0100     MOVLB     0x0                                                                                             
000850   27c7     ADDWF     0xc7,0x1,0x1                                                                                    
000852   0e00     MOVLW     0x0                                                                                             
000854   0100     MOVLB     0x0                                                                                             
000856   23c8     ADDWFC    0xc8,0x1,0x1                                                                                    
000858   0e00     MOVLW     0x0                                                                                             
00085a   0100     MOVLB     0x0                                                                                             
00085c   23c9     ADDWFC    0xc9,0x1,0x1                                                                                    
00085e   0e00     MOVLW     0x0                                                                                             
000860   0100     MOVLB     0x0                                                                                             
000862   23ca     ADDWFC    0xca,0x1,0x1                                                                                    
000864   0100     MOVLB     0x0                         bytesReceived   = 0;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000866   6bcb     CLRF      0xcb,0x1                                                                                        
000868   0100     MOVLB     0x0                         errMsg          = ACK_ERR_NO_ERROR;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00086a   6bc5     CLRF      0xc5,0x1                                                                                        
00086c   0100     MOVLB     0x0                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
00086e   0e01     MOVLW     0x1                                                                                             
000870   6fbe     MOVWF     0xbe,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000872   d006     BRA       0x880                   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
000874   ef00     GOTO      0x1000                      _asm  goto RM_RESET_VECTOR _endasm                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000876   f008                                                                                                               
000878   d003     BRA       0x880                   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
00087a   0100     MOVLB     0x0                         pgs = pgsWATING_START;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00087c   6bbe     CLRF      0xbe,0x1                                                                                        
00087e   d000     BRA       0x880                   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
000882   0e26     MOVLW     0x26           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000884   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000886   e202     BC        0x88c                                                                                           
000888   6ae1     CLRF      0xe1,0x0                                                                                        
00088a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00088c   6ee1     MOVWF     0xe1,0x0                                                                                        
00088e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000890   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000892   ffd9                                                                                                               
000894   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
000896   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
000898   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
00089a   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00089c   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
00089e   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
0008a0   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
0008a2   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008a4   6e6f     MOVWF     0x6f,0x0                                                                                        
0008a6   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
0008a8   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0008aa   0880     SUBLW     0x80                                                                                            
0008ac   e001     BZ        0x8b0                                                                                           
0008ae   d7fb     BRA       0x8a6                                                                                           
                                                                                                                            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
0008b0   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
0008b2   9e70     BCF       0x70,0x7,0x0    BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0008b4   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
0008b6   0e04     MOVLW     0x4             BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0008b8   1070     IORWF     0x70,0x0,0x0                                                                                    
0008ba   6e70     MOVWF     0x70,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Maximum PHEG1                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0008bc   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
0008be   9a71     BCF       0x71,0x5,0x0    BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c0   9871     BCF       0x71,0x4,0x0    BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c2   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
0008c4   9471     BCF       0x71,0x2,0x0    BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c6   9271     BCF       0x71,0x1,0x0    BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c8   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
0008ca   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
0008cc   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
0008ce   9472     BCF       0x72,0x2,0x0    BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d0   9272     BCF       0x72,0x1,0x0    BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d2   8072     BSF       0x72,0x0,0x0    BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d4   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d6   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d8   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
0008da   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0008dc   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
0008de   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0008e0   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0008e2   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0008e4   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
0008e6   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
0008e8   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ea   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ec   146e     ANDWF     0x6e,0x0,0x0                                                                                    
0008ee   e001     BZ        0x8f2                                                                                           
0008f0   d7fc     BRA       0x8ea                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008f2   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
0008f4   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0008f6   146f     ANDWF     0x6f,0x0,0x0                                                                                    
0008f8   0910     IORLW     0x10                                                                                            
0008fa   6e00     MOVWF     0x0,0x0                                                                                         
0008fc   0e00     MOVLW     0x0                                                                                             
0008fe   1477     ANDWF     0x77,0x0,0x0                                                                                    
000900   1000     IORWF     0x0,0x0,0x0                                                                                     
000902   6e77     MOVWF     0x77,0x0                                                                                        
000904   be60     BTFSC     0x60,0x7,0x0        if (!RXB0CONbits.RXFUL) return FALSE;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000906   d002     BRA       0x90c                                                                                           
000908   0e00     MOVLW     0x0                                                                                             
00090a   d07c     BRA       0xa04                                                                                           
                                                                                                                            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
00090c   0ef0     MOVLW     0xf0                    cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00090e   1461     ANDWF     0x61,0x0,0x0                                                                                    
000910   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000912   0b0f     ANDLW     0xf                                                                                             
000914   0100     MOVLB     0x0                                                                                             
000916   6f60     MOVWF     0x60,0x1                                                                                        
000918   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
00091a   1461     ANDWF     0x61,0x0,0x0                                                                                    
00091c   6e04     MOVWF     0x4,0x0                                                                                         
00091e   6a05     CLRF      0x5,0x0                                                                                         
000920   0e06     MOVLW     0x6                                                                                             
000922   90d8     BCF       0xd8,0x0,0x0                                                                                    
000924   3604     RLCF      0x4,0x1,0x0                                                                                     
000926   3605     RLCF      0x5,0x1,0x0                                                                                     
000928   04e8     DECF      0xe8,0x0,0x0                                                                                    
00092a   e1fb     BNZ       0x922                                                                                           
00092c   0ee0     MOVLW     0xe0                                                                                            
00092e   1462     ANDWF     0x62,0x0,0x0                                                                                    
000930   6e06     MOVWF     0x6,0x0                                                                                         
000932   6a07     CLRF      0x7,0x0                                                                                         
000934   90d8     BCF       0xd8,0x0,0x0                                                                                    
000936   3207     RRCF      0x7,0x1,0x0                                                                                     
000938   3206     RRCF      0x6,0x1,0x0                                                                                     
00093a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00093c   3207     RRCF      0x7,0x1,0x0                                                                                     
00093e   3206     RRCF      0x6,0x1,0x0                                                                                     
000940   5004     MOVF      0x4,0x0,0x0                                                                                     
000942   2406     ADDWF     0x6,0x0,0x0                                                                                     
000944   6e02     MOVWF     0x2,0x0                                                                                         
000946   5005     MOVF      0x5,0x0,0x0                                                                                     
000948   2007     ADDWFC    0x7,0x0,0x0                                                                                     
00094a   6e03     MOVWF     0x3,0x0                                                                                         
00094c   0e03     MOVLW     0x3                                                                                             
00094e   1462     ANDWF     0x62,0x0,0x0                                                                                    
000950   6e08     MOVWF     0x8,0x0                                                                                         
000952   6a09     CLRF      0x9,0x0                                                                                         
000954   90d8     BCF       0xd8,0x0,0x0                                                                                    
000956   3608     RLCF      0x8,0x1,0x0                                                                                     
000958   3609     RLCF      0x9,0x1,0x0                                                                                     
00095a   5002     MOVF      0x2,0x0,0x0                                                                                     
00095c   2408     ADDWF     0x8,0x0,0x0                                                                                     
00095e   6e00     MOVWF     0x0,0x0                                                                                         
000960   5003     MOVF      0x3,0x0,0x0                                                                                     
000962   2009     ADDWFC    0x9,0x0,0x0                                                                                     
000964   6e01     MOVWF     0x1,0x0                                                                                         
000966   0e80     MOVLW     0x80                                                                                            
000968   1463     ANDWF     0x63,0x0,0x0                                                                                    
00096a   6e0a     MOVWF     0xa,0x0                                                                                         
00096c   6a0b     CLRF      0xb,0x0                                                                                         
00096e   0e07     MOVLW     0x7                                                                                             
000970   90d8     BCF       0xd8,0x0,0x0                                                                                    
000972   320b     RRCF      0xb,0x1,0x0                                                                                     
000974   320a     RRCF      0xa,0x1,0x0                                                                                     
000976   04e8     DECF      0xe8,0x0,0x0                                                                                    
000978   e1fb     BNZ       0x970                                                                                           
00097a   5000     MOVF      0x0,0x0,0x0                                                                                     
00097c   240a     ADDWF     0xa,0x0,0x0                                                                                     
00097e   0100     MOVLB     0x0                                                                                             
000980   6f61     MOVWF     0x61,0x1                                                                                        
000982   5001     MOVF      0x1,0x0,0x0                                                                                     
000984   200b     ADDWFC    0xb,0x0,0x0                                                                                     
000986   6f62     MOVWF     0x62,0x1                                                                                        
000988   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00098a   1463     ANDWF     0x63,0x0,0x0                                                                                    
00098c   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
00098e   0b7f     ANDLW     0x7f                                                                                            
000990   6f63     MOVWF     0x63,0x1                                                                                        
000992   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000994   1463     ANDWF     0x63,0x0,0x0                                                                                    
000996   6e00     MOVWF     0x0,0x0                                                                                         
000998   c000     MOVFF     0x0,0x1                                                                                         
00099a   f001                                                                                                               
00099c   6a00     CLRF      0x0,0x0                                                                                         
00099e   5064     MOVF      0x64,0x0,0x0                                                                                    
0009a0   2400     ADDWF     0x0,0x0,0x0                                                                                     
0009a2   6f64     MOVWF     0x64,0x1                                                                                        
0009a4   0e00     MOVLW     0x0                                                                                             
0009a6   2001     ADDWFC    0x1,0x0,0x0                                                                                     
0009a8   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
0009aa   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
0009ac   0b01     ANDLW     0x1                                                                                             
0009ae   6e02     MOVWF     0x2,0x0                                                                                         
0009b0   5065     MOVF      0x65,0x0,0x0                                                                                    
0009b2   0b02     ANDLW     0x2                                                                                             
0009b4   e001     BZ        0x9b8                                                                                           
0009b6   0e01     MOVLW     0x1                                                                                             
0009b8   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0009ba   6e01     MOVWF     0x1,0x0                                                                                         
0009bc   5065     MOVF      0x65,0x0,0x0                                                                                    
0009be   0b04     ANDLW     0x4                                                                                             
0009c0   e001     BZ        0x9c4                                                                                           
0009c2   0e01     MOVLW     0x1                                                                                             
0009c4   0d04     MULLW     0x4                                                                                             
0009c6   cff3     MOVFF     0xff3,0x0                                                                                       
0009c8   f000                                                                                                               
0009ca   5065     MOVF      0x65,0x0,0x0                                                                                    
0009cc   0b08     ANDLW     0x8                                                                                             
0009ce   e001     BZ        0x9d2                                                                                           
0009d0   0e01     MOVLW     0x1                                                                                             
0009d2   0d08     MULLW     0x8                                                                                             
0009d4   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0009d6   2400     ADDWF     0x0,0x0,0x0                                                                                     
0009d8   2401     ADDWF     0x1,0x0,0x0                                                                                     
0009da   2402     ADDWF     0x2,0x0,0x0                                                                                     
0009dc   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
0009de   cf66     MOVFF     0xf66,0x67          cm.data[0]=RXB0D0;  cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0009e0   f067                                                                                                               
0009e2   cf67     MOVFF     0xf67,0x68                                                                                      
0009e4   f068                                                                                                               
0009e6   cf68     MOVFF     0xf68,0x69          cm.data[2]=RXB0D2;  cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0009e8   f069                                                                                                               
0009ea   cf69     MOVFF     0xf69,0x6a                                                                                      
0009ec   f06a                                                                                                               
0009ee   cf6a     MOVFF     0xf6a,0x6b          cm.data[4]=RXB0D4;  cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0009f0   f06b                                                                                                               
0009f2   cf6b     MOVFF     0xf6b,0x6c                                                                                      
0009f4   f06c                                                                                                               
0009f6   cf6c     MOVFF     0xf6c,0x6d          cm.data[6]=RXB0D6;  cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0009f8   f06d                                                                                                               
0009fa   cf6d     MOVFF     0xf6d,0x6e                                                                                      
0009fc   f06e                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009fe   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000a00   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000a02   d000     BRA       0xa04                                                                                           
000a04   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
000a06   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PROTO_MESSAGE cm,CAN_PRIORITY prio)                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000a08   ffe6                                                                                                               
000a0a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000a0c   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000a0e   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a10   b740     BTFSC     0x40,0x3,0x1                                                                                    
000a12   d004     BRA       0xa1c                                                                                           
000a14   0e00     MOVLW     0x0                                                                                             
000a16   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a18   0903     IORLW     0x3                                                                                             
000a1a   6e77     MOVWF     0x77,0x0                                                                                        
000a1c   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a1e   b730     BTFSC     0x30,0x3,0x1                                                                                    
000a20   d004     BRA       0xa2a                                                                                           
000a22   0e00     MOVLW     0x0                                                                                             
000a24   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a26   0904     IORLW     0x4                                                                                             
000a28   6e77     MOVWF     0x77,0x0                                                                                        
000a2a   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a2c   b720     BTFSC     0x20,0x3,0x1                                                                                    
000a2e   d005     BRA       0xa3a                                                                                           
000a30   0e00     MOVLW     0x0                                                                                             
000a32   1477     ANDWF     0x77,0x0,0x0                                                                                    
000a34   0905     IORLW     0x5                                                                                             
000a36   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000a38   d002     BRA       0xa3e           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a3a   0e00     MOVLW     0x0                                                                                             
000a3c   d0b0     BRA       0xb9e                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000a3e   0eef     MOVLW     0xef            if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000a40   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a42   f000                                                                                                               
000a44   3400     RLCF      0x0,0x0,0x0                                                                                     
000a46   e20e     BC        0xa64                                                                                           
000a48   0eef     MOVLW     0xef                                                                                            
000a4a   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a4c   f001                                                                                                               
000a4e   0e03     MOVLW     0x3                                                                                             
000a50   6ee7     MOVWF     0xe7,0x0                                                                                        
000a52   1801     XORWF     0x1,0x0,0x0                                                                                     
000a54   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
000a56   d002     BRA       0xa5c                                                                                           
000a58   3401     RLCF      0x1,0x0,0x0                                                                                     
000a5a   d003     BRA       0xa62                                                                                           
000a5c   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000a5e   80d8     BSF       0xd8,0x0,0x0                                                                                    
000a60   5401     SUBFWB    0x1,0x0,0x0                                                                                     
000a62   e202     BC        0xa68                                                                                           
000a64   0eef     MOVLW     0xef                                                                                            
000a66   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
000a68   0ef1     MOVLW     0xf1                RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBoot\Source\Main.c
000a6a   cfdb     MOVFF     0xfdb,0x0                                                                                       
000a6c   f000                                                                                                               
000a6e   0ef2     MOVLW     0xf2                                                                                            
000a70   cfdb     MOVFF     0xfdb,0x1                                                                                       
000a72   f001                                                                                                               
000a74   0ec0     MOVLW     0xc0                                                                                            
000a76   1600     ANDWF     0x0,0x1,0x0                                                                                     
000a78   0e03     MOVLW     0x3                                                                                             
000a7a   1601     ANDWF     0x1,0x1,0x0                                                                                     
000a7c   0e06     MOVLW     0x6                                                                                             
000a7e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a80   3201     RRCF      0x1,0x1,0x0                                                                                     
000a82   3200     RRCF      0x0,0x1,0x0                                                                                     
000a84   04e8     DECF      0xe8,0x0,0x0                                                                                    
000a86   e1fb     BNZ       0xa7e                                                                                           
000a88   0ef0     MOVLW     0xf0                                                                                            
000a8a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000a8c   0b0f     ANDLW     0xf                                                                                             
000a8e   0d10     MULLW     0x10                                                                                            
000a90   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000a92   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a94   6e61     MOVWF     0x61,0x0                                                                                        
000a96   0e06     MOVLW     0x6                 RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBoot\Source\Main.c
000a98   6ee7     MOVWF     0xe7,0x0                                                                                        
000a9a   0ef1     MOVLW     0xf1                                                                                            
000a9c   cfdb     MOVFF     0xfdb,0x2                                                                                       
000a9e   f002                                                                                                               
000aa0   0ef2     MOVLW     0xf2                                                                                            
000aa2   cfdb     MOVFF     0xfdb,0x3                                                                                       
000aa4   f003                                                                                                               
000aa6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000aa8   1602     ANDWF     0x2,0x1,0x0                                                                                     
000aaa   6a03     CLRF      0x3,0x0                                                                                         
000aac   90d8     BCF       0xd8,0x0,0x0                                                                                    
000aae   3203     RRCF      0x3,0x1,0x0                                                                                     
000ab0   3202     RRCF      0x2,0x1,0x0                                                                                     
000ab2   0e3f     MOVLW     0x3f                                                                                            
000ab4   6ee7     MOVWF     0xe7,0x0                                                                                        
000ab6   0ef1     MOVLW     0xf1                                                                                            
000ab8   cfdb     MOVFF     0xfdb,0x0                                                                                       
000aba   f000                                                                                                               
000abc   0ef2     MOVLW     0xf2                                                                                            
000abe   cfdb     MOVFF     0xfdb,0x1                                                                                       
000ac0   f001                                                                                                               
000ac2   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000ac4   1600     ANDWF     0x0,0x1,0x0                                                                                     
000ac6   6a01     CLRF      0x1,0x0                                                                                         
000ac8   90d8     BCF       0xd8,0x0,0x0                                                                                    
000aca   3600     RLCF      0x0,0x1,0x0                                                                                     
000acc   3601     RLCF      0x1,0x1,0x0                                                                                     
000ace   90d8     BCF       0xd8,0x0,0x0                                                                                    
000ad0   3600     RLCF      0x0,0x1,0x0                                                                                     
000ad2   3601     RLCF      0x1,0x1,0x0                                                                                     
000ad4   5000     MOVF      0x0,0x0,0x0                                                                                     
000ad6   2402     ADDWF     0x2,0x0,0x0                                                                                     
000ad8   6e62     MOVWF     0x62,0x0                                                                                        
000ada   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
000adc   cfdb     MOVFF     0xfdb,0x2                                                                                       
000ade   f002                                                                                                               
000ae0   0ef5     MOVLW     0xf5                                                                                            
000ae2   cfdb     MOVFF     0xfdb,0x3                                                                                       
000ae4   f003                                                                                                               
000ae6   0e00     MOVLW     0x0                                                                                             
000ae8   1602     ANDWF     0x2,0x1,0x0                                                                                     
000aea   0e01     MOVLW     0x1                                                                                             
000aec   1603     ANDWF     0x3,0x1,0x0                                                                                     
000aee   c003     MOVFF     0x3,0x2                                                                                         
000af0   f002                                                                                                               
000af2   6a03     CLRF      0x3,0x0                                                                                         
000af4   0e01     MOVLW     0x1                                                                                             
000af6   6ee7     MOVWF     0xe7,0x0                                                                                        
000af8   0ef1     MOVLW     0xf1                                                                                            
000afa   cfdb     MOVFF     0xfdb,0x0                                                                                       
000afc   f000                                                                                                               
000afe   0ef2     MOVLW     0xf2                                                                                            
000b00   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b02   f001                                                                                                               
000b04   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000b06   1600     ANDWF     0x0,0x1,0x0                                                                                     
000b08   6a01     CLRF      0x1,0x0                                                                                         
000b0a   0e07     MOVLW     0x7                                                                                             
000b0c   90d8     BCF       0xd8,0x0,0x0                                                                                    
000b0e   3600     RLCF      0x0,0x1,0x0                                                                                     
000b10   3601     RLCF      0x1,0x1,0x0                                                                                     
000b12   04e8     DECF      0xe8,0x0,0x0                                                                                    
000b14   e1fb     BNZ       0xb0c                                                                                           
000b16   0ef3     MOVLW     0xf3                                                                                            
000b18   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b1a   0b3f     ANDLW     0x3f                                                                                            
000b1c   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000b1e   2400     ADDWF     0x0,0x0,0x0                                                                                     
000b20   2402     ADDWF     0x2,0x0,0x0                                                                                     
000b22   6e63     MOVWF     0x63,0x0                                                                                        
000b24   0eff     MOVLW     0xff                RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b26   6ee7     MOVWF     0xe7,0x0                                                                                        
000b28   0ef4     MOVLW     0xf4                                                                                            
000b2a   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b2c   f000                                                                                                               
000b2e   0ef5     MOVLW     0xf5                                                                                            
000b30   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b32   f001                                                                                                               
000b34   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000b36   1600     ANDWF     0x0,0x1,0x0                                                                                     
000b38   6a01     CLRF      0x1,0x0                                                                                         
000b3a   5000     MOVF      0x0,0x0,0x0                                                                                     
000b3c   6e64     MOVWF     0x64,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000b3e   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000b40   0ef6     MOVLW     0xf6                if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000b42   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b44   0808     SUBLW     0x8                                                                                             
000b46   e203     BC        0xb4e                                                                                           
000b48   0e08     MOVLW     0x8                                                                                             
000b4a   6e65     MOVWF     0x65,0x0                                                                                        
000b4c   d003     BRA       0xb54                                                                                           
000b4e   0ef6     MOVLW     0xf6                                                                                            
000b50   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b52   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
000b54   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
000b56   0ef7     MOVLW     0xf7                RXB0D0=cm.data[0];  RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000b58   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b5a   6e66     MOVWF     0x66,0x0                                                                                        
000b5c   0ef8     MOVLW     0xf8                                                                                            
000b5e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b60   6e67     MOVWF     0x67,0x0                                                                                        
000b62   0ef9     MOVLW     0xf9                RXB0D2=cm.data[2];  RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000b64   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b66   6e68     MOVWF     0x68,0x0                                                                                        
000b68   0efa     MOVLW     0xfa                                                                                            
000b6a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b6c   6e69     MOVWF     0x69,0x0                                                                                        
000b6e   0efb     MOVLW     0xfb                RXB0D4=cm.data[4];  RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000b70   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b72   6e6a     MOVWF     0x6a,0x0                                                                                        
000b74   0efc     MOVLW     0xfc                                                                                            
000b76   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b78   6e6b     MOVWF     0x6b,0x0                                                                                        
000b7a   0efd     MOVLW     0xfd                RXB0D6=cm.data[6];  RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000b7c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b7e   6e6c     MOVWF     0x6c,0x0                                                                                        
000b80   0efe     MOVLW     0xfe                                                                                            
000b82   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b84   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000b86   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
000b88   0eef     MOVLW     0xef                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000b8a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
000b8c   ffe6                                                                                                               
000b8e   0efc     MOVLW     0xfc                                                                                            
000b90   1460     ANDWF     0x60,0x0,0x0                                                                                    
000b92   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000b94   10e7     IORWF     0xe7,0x0,0x0                                                                                    
000b96   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
000b98   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
000b9a   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000b9c   d000     BRA       0xb9e                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000b9e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000ba0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000ba2   ffd9                                                                                                               
000ba4   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
000ba6   0008     TBLRD                     TBLRD                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000ba8   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
000baa   000c     TBLWT                     TBLWT                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000bac   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
000bae   000d     TBLWTPOSTINC              TBLWTPOSTINC                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000bb0   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
000bb2   c0b3     MOVFF     0xb3,0x10       return tickCounter;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000bb4   f010                                                                                                               
000bb6   c0b4     MOVFF     0xb4,0x11                                                                                       
000bb8   f011                                                                                                               
000bba   c0b5     MOVFF     0xb5,0x12                                                                                       
000bbc   f012                                                                                                               
000bbe   c0b6     MOVFF     0xb6,0x13                                                                                       
000bc0   f013                                                                                                               
000bc2   d000     BRA       0xbc4                                                                                           
000bc4   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
000bc6   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
000bc8   ffe6                                                                                                               
000bca   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000bcc   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000bce   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000bd0   cfdb     MOVFF     0xfdb,0x0                                                                                       
000bd2   f000                                                                                                               
000bd4   0efe     MOVLW     0xfe                                                                                            
000bd6   cfdb     MOVFF     0xfdb,0x1                                                                                       
000bd8   f001                                                                                                               
000bda   c001     MOVFF     0x1,0x0                                                                                         
000bdc   f000                                                                                                               
000bde   6a01     CLRF      0x1,0x0                                                                                         
000be0   5000     MOVF      0x0,0x0,0x0                                                                                     
000be2   6eaa     MOVWF     0xaa,0x0                                                                                        
000be4   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000be6   6ee7     MOVWF     0xe7,0x0                                                                                        
000be8   0efd     MOVLW     0xfd                                                                                            
000bea   cfdb     MOVFF     0xfdb,0x0                                                                                       
000bec   f000                                                                                                               
000bee   0efe     MOVLW     0xfe                                                                                            
000bf0   cfdb     MOVFF     0xfdb,0x1                                                                                       
000bf2   f001                                                                                                               
000bf4   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000bf6   1600     ANDWF     0x0,0x1,0x0                                                                                     
000bf8   6a01     CLRF      0x1,0x0                                                                                         
000bfa   5000     MOVF      0x0,0x0,0x0                                                                                     
000bfc   6ea9     MOVWF     0xa9,0x0                                                                                        
000bfe   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000c00   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000c02   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c04   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
000c06   d000     BRA       0xc08                                                                                           
000c08   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c0a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c0c   ffd9                                                                                                               
000c0e   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
000c10   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c12   ffe6                                                                                                               
000c14   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c16   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c18   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c1a   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000c1c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000c1e   f000                                                                                                               
000c20   0efe     MOVLW     0xfe                                                                                            
000c22   cfdb     MOVFF     0xfdb,0x1                                                                                       
000c24   f001                                                                                                               
000c26   c001     MOVFF     0x1,0x0                                                                                         
000c28   f000                                                                                                               
000c2a   6a01     CLRF      0x1,0x0                                                                                         
000c2c   5000     MOVF      0x0,0x0,0x0                                                                                     
000c2e   6eaa     MOVWF     0xaa,0x0                                                                                        
000c30   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000c32   6ee7     MOVWF     0xe7,0x0                                                                                        
000c34   0efd     MOVLW     0xfd                                                                                            
000c36   cfdb     MOVFF     0xfdb,0x0                                                                                       
000c38   f000                                                                                                               
000c3a   0efe     MOVLW     0xfe                                                                                            
000c3c   cfdb     MOVFF     0xfdb,0x1                                                                                       
000c3e   f001                                                                                                               
000c40   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000c42   1600     ANDWF     0x0,0x1,0x0                                                                                     
000c44   6a01     CLRF      0x1,0x0                                                                                         
000c46   5000     MOVF      0x0,0x0,0x0                                                                                     
000c48   6ea9     MOVWF     0xa9,0x0                                                                                        
000c4a   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000c4c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c4e   6ea8     MOVWF     0xa8,0x0                                                                                        
000c50   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000c52   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000c54   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000c56   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000c58   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000c5a   6ea7     MOVWF     0xa7,0x0                                                                                        
000c5c   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000c5e   6ea7     MOVWF     0xa7,0x0                                                                                        
000c60   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c62   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000c64   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
000c66   d7fe     BRA       0xc64                                                                                           
000c68   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000c6a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000c6c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c6e   ffd9                                                                                                               
000c70   0012     RETURN    0x0