Subversion Repositories HomeAutomation

Rev

Rev 129 | 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: Sun Jan 28 14:41:29 2007


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