Subversion Repositories HomeAutomation

Rev

Rev 297 | 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 Feb 25 20:39:56 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: 2007-01-28 14:58:11 +0100 (sö, 28 jan 2007) $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Revision:     $Revision: 260 $                                                   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 <crc16.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
                                           #include <reset.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      0x3008             _asm goto RM_HIGH_INTERRUPT_VECTOR _endasm                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00000a   f018                                                                                                               
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      0x3018             _asm goto RM_LOW_INTERRUPT_VECTOR _endasm                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
00001a   f018                                                                                                               
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
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           static CAN_PACKET cp;                                                            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
                                                                                                                            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   0e2a     MOVLW     0x2a                                                                                            
000042   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE pgs = pgsWAITING_START;                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static PROGRAM_STATE pgsAckNext = pgsWAITING_START;                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static BYTE programmerId=0;                                                     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
                                            static BOOT_TYPE ackType = btACK;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD pgmAddress = 0;                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD newPgmAddress = 0;                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD tBoot;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            static DWORD t = 0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            CAN_PACKET outCp;                                                               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   eca6     CALL      0x94c,0x0       mainInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000046   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000048   ecac     CALL      0x958,0x0       canInit();                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00004a   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00004c   ec2e     CALL      0xc5c,0x0       tBoot = tickGet();                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00004e   f006                                                                                                               
000050   c010     MOVFF     0x10,0xb1                                                                                       
000052   f0b1                                                                                                               
000054   c011     MOVFF     0x11,0xb2                                                                                       
000056   f0b2                                                                                                               
000058   c012     MOVFF     0x12,0xb3                                                                                       
00005a   f0b3                                                                                                               
00005c   c013     MOVFF     0x13,0xb4                                                                                       
00005e   f0b4                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Read ID if exist.                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000060   0e00     MOVLW     0x0             if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000062   6ee6     MOVWF     0xe6,0x0                                                                                        
000064   6ae6     CLRF      0xe6,0x0                                                                                        
000066   ec0c     CALL      0xe18,0x0                                                                                       
000068   f007                                                                                                               
00006a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00006c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00006e   082a     SUBLW     0x2a                                                                                            
000070   e10a     BNZ       0x86                                                                                            
                                            {                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000072   0e01     MOVLW     0x1                 MY_ID=EERead(NODE_ID_EE + 1);                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000074   6ee6     MOVWF     0xe6,0x0                                                                                        
000076   6ae6     CLRF      0xe6,0x0                                                                                        
000078   ec0c     CALL      0xe18,0x0                                                                                       
00007a   f007                                                                                                               
00007c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00007e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000080   0100     MOVLB     0x0                                                                                             
000082   6fc1     MOVWF     0xc1,0x1                                                                                        
000084   6bc2     CLRF      0xc2,0x1                                                                                        
                                            }                                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000086   0100     MOVLB     0x0             for(t=0;t<64;t++) pgmData[t]=0x0;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000088   6bcf     CLRF      0xcf,0x1                                                                                        
00008a   6bd0     CLRF      0xd0,0x1                                                                                        
00008c   6bd1     CLRF      0xd1,0x1                                                                                        
00008e   6bd2     CLRF      0xd2,0x1                                                                                        
000090   0e40     MOVLW     0x40                                                                                            
000092   0100     MOVLB     0x0                                                                                             
000094   5dcf     SUBWF     0xcf,0x0,0x1                                                                                    
000096   0e00     MOVLW     0x0                                                                                             
000098   59d0     SUBWFB    0xd0,0x0,0x1                                                                                    
00009a   0e00     MOVLW     0x0                                                                                             
00009c   59d1     SUBWFB    0xd1,0x0,0x1                                                                                    
00009e   0e00     MOVLW     0x0                                                                                             
0000a0   59d2     SUBWFB    0xd2,0x0,0x1                                                                                    
0000a2   e210     BC        0xc4                                                                                            
0000a4   0e71     MOVLW     0x71                                                                                            
0000a6   0100     MOVLB     0x0                                                                                             
0000a8   25cf     ADDWF     0xcf,0x0,0x1                                                                                    
0000aa   6ee9     MOVWF     0xe9,0x0                                                                                        
0000ac   0e00     MOVLW     0x0                                                                                             
0000ae   0100     MOVLB     0x0                                                                                             
0000b0   21d0     ADDWFC    0xd0,0x0,0x1                                                                                    
0000b2   6eea     MOVWF     0xea,0x0                                                                                        
0000b4   6aef     CLRF      0xef,0x0                                                                                        
0000b6   0100     MOVLB     0x0                                                                                             
0000b8   2bcf     INCF      0xcf,0x1,0x1                                                                                    
0000ba   0e00     MOVLW     0x0                                                                                             
0000bc   23d0     ADDWFC    0xd0,0x1,0x1                                                                                    
0000be   23d1     ADDWFC    0xd1,0x1,0x1                                                                                    
0000c0   23d2     ADDWFC    0xd2,0x1,0x1                                                                                    
0000c2   d7e6     BRA       0x90                                                                                            
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            // Send bootloader startup                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0000c4   0e01     MOVLW     0x1             outCp.type=ptPGM;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0000c6   6edf     MOVWF     0xdf,0x0                                                                                        
0000c8   0e01     MOVLW     0x1             outCp.pgm.class=pcCTRL;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0000ca   6adb     CLRF      0xdb,0x0                                                                                        
0000cc   0e02     MOVLW     0x2             outCp.pgm.id=pctBOOTBOOT;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0000ce   6adb     CLRF      0xdb,0x0                                                                                        
0000d0   0e03     MOVLW     0x3                                                                                             
0000d2   6adb     CLRF      0xdb,0x0                                                                                        
0000d4   0e01     MOVLW     0x1             outCp.length=1;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0000d6   6ef3     MOVWF     0xf3,0x0                                                                                        
0000d8   0e08     MOVLW     0x8                                                                                             
0000da   cff3     MOVFF     0xff3,0xfdb                                                                                     
0000dc   ffdb                                                                                                               
0000de   ecd0     CALL      0xfa0,0x0       outCp.data[0] = (isBOR()<<7)+(isLVD()<<6)+(isMCLR()<<5)+(isPOR()<<4)+(isWDTTO()<<3)+(isWDTWU()<<2)+(isWU()<<1); F:\MCP\projects\CAN\canBoot\Source\Main.c
0000e0   f007                                                                                                               
0000e2   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
0000e4   6e05     MOVWF     0x5,0x0                                                                                         
0000e6   c005     MOVFF     0x5,0xfe6                                                                                       
0000e8   ffe6                                                                                                               
0000ea   ece3     CALL      0xfc6,0x0                                                                                       
0000ec   f007                                                                                                               
0000ee   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0000f0   cfe7     MOVFF     0xfe7,0x5                                                                                       
0000f2   f005                                                                                                               
0000f4   0d04     MULLW     0x4                                                                                             
0000f6   cff3     MOVFF     0xff3,0x4                                                                                       
0000f8   f004                                                                                                               
0000fa   c004     MOVFF     0x4,0xfe6                                                                                       
0000fc   ffe6                                                                                                               
0000fe   c005     MOVFF     0x5,0xfe6                                                                                       
000100   ffe6                                                                                                               
000102   ecf6     CALL      0xfec,0x0                                                                                       
000104   f007                                                                                                               
000106   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000108   cfe7     MOVFF     0xfe7,0x5                                                                                       
00010a   f005                                                                                                               
00010c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00010e   cfe7     MOVFF     0xfe7,0x4                                                                                       
000110   f004                                                                                                               
000112   0d08     MULLW     0x8                                                                                             
000114   cff3     MOVFF     0xff3,0x3                                                                                       
000116   f003                                                                                                               
000118   c003     MOVFF     0x3,0xfe6                                                                                       
00011a   ffe6                                                                                                               
00011c   c004     MOVFF     0x4,0xfe6                                                                                       
00011e   ffe6                                                                                                               
000120   c005     MOVFF     0x5,0xfe6                                                                                       
000122   ffe6                                                                                                               
000124   ec09     CALL      0x1012,0x0                                                                                      
000126   f008                                                                                                               
000128   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00012a   cfe7     MOVFF     0xfe7,0x5                                                                                       
00012c   f005                                                                                                               
00012e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000130   cfe7     MOVFF     0xfe7,0x4                                                                                       
000132   f004                                                                                                               
000134   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000136   cfe7     MOVFF     0xfe7,0x3                                                                                       
000138   f003                                                                                                               
00013a   0d10     MULLW     0x10                                                                                            
00013c   cff3     MOVFF     0xff3,0x2                                                                                       
00013e   f002                                                                                                               
000140   c002     MOVFF     0x2,0xfe6                                                                                       
000142   ffe6                                                                                                               
000144   c003     MOVFF     0x3,0xfe6                                                                                       
000146   ffe6                                                                                                               
000148   c004     MOVFF     0x4,0xfe6                                                                                       
00014a   ffe6                                                                                                               
00014c   c005     MOVFF     0x5,0xfe6                                                                                       
00014e   ffe6                                                                                                               
000150   ecb1     CALL      0xf62,0x0                                                                                       
000152   f007                                                                                                               
000154   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000156   cfe7     MOVFF     0xfe7,0x5                                                                                       
000158   f005                                                                                                               
00015a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00015c   cfe7     MOVFF     0xfe7,0x4                                                                                       
00015e   f004                                                                                                               
000160   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000162   cfe7     MOVFF     0xfe7,0x3                                                                                       
000164   f003                                                                                                               
000166   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000168   cfe7     MOVFF     0xfe7,0x2                                                                                       
00016a   f002                                                                                                               
00016c   0d20     MULLW     0x20                                                                                            
00016e   cff3     MOVFF     0xff3,0x1                                                                                       
000170   f001                                                                                                               
000172   c001     MOVFF     0x1,0xfe6                                                                                       
000174   ffe6                                                                                                               
000176   c002     MOVFF     0x2,0xfe6                                                                                       
000178   ffe6                                                                                                               
00017a   c003     MOVFF     0x3,0xfe6                                                                                       
00017c   ffe6                                                                                                               
00017e   c004     MOVFF     0x4,0xfe6                                                                                       
000180   ffe6                                                                                                               
000182   c005     MOVFF     0x5,0xfe6                                                                                       
000184   ffe6                                                                                                               
000186   ec33     CALL      0x1066,0x0                                                                                      
000188   f008                                                                                                               
00018a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00018c   cfe7     MOVFF     0xfe7,0x5                                                                                       
00018e   f005                                                                                                               
000190   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000192   cfe7     MOVFF     0xfe7,0x4                                                                                       
000194   f004                                                                                                               
000196   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000198   cfe7     MOVFF     0xfe7,0x3                                                                                       
00019a   f003                                                                                                               
00019c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00019e   cfe7     MOVFF     0xfe7,0x2                                                                                       
0001a0   f002                                                                                                               
0001a2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001a4   cfe7     MOVFF     0xfe7,0x1                                                                                       
0001a6   f001                                                                                                               
0001a8   0d40     MULLW     0x40                                                                                            
0001aa   cff3     MOVFF     0xff3,0x0                                                                                       
0001ac   f000                                                                                                               
0001ae   c000     MOVFF     0x0,0xfe6                                                                                       
0001b0   ffe6                                                                                                               
0001b2   c001     MOVFF     0x1,0xfe6                                                                                       
0001b4   ffe6                                                                                                               
0001b6   c002     MOVFF     0x2,0xfe6                                                                                       
0001b8   ffe6                                                                                                               
0001ba   c003     MOVFF     0x3,0xfe6                                                                                       
0001bc   ffe6                                                                                                               
0001be   c004     MOVFF     0x4,0xfe6                                                                                       
0001c0   ffe6                                                                                                               
0001c2   c005     MOVFF     0x5,0xfe6                                                                                       
0001c4   ffe6                                                                                                               
0001c6   ec28     CALL      0x1050,0x0                                                                                      
0001c8   f008                                                                                                               
0001ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001cc   cfe7     MOVFF     0xfe7,0x5                                                                                       
0001ce   f005                                                                                                               
0001d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001d2   cfe7     MOVFF     0xfe7,0x4                                                                                       
0001d4   f004                                                                                                               
0001d6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001d8   cfe7     MOVFF     0xfe7,0x3                                                                                       
0001da   f003                                                                                                               
0001dc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001de   cfe7     MOVFF     0xfe7,0x2                                                                                       
0001e0   f002                                                                                                               
0001e2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001e4   cfe7     MOVFF     0xfe7,0x1                                                                                       
0001e6   f001                                                                                                               
0001e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
0001ea   cfe7     MOVFF     0xfe7,0x0                                                                                       
0001ec   f000                                                                                                               
0001ee   0d80     MULLW     0x80                                                                                            
0001f0   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0001f2   2400     ADDWF     0x0,0x0,0x0                                                                                     
0001f4   2401     ADDWF     0x1,0x0,0x0                                                                                     
0001f6   2402     ADDWF     0x2,0x0,0x0                                                                                     
0001f8   2403     ADDWF     0x3,0x0,0x0                                                                                     
0001fa   2404     ADDWF     0x4,0x0,0x0                                                                                     
0001fc   2405     ADDWF     0x5,0x0,0x0                                                                                     
0001fe   6ee7     MOVWF     0xe7,0x0                                                                                        
000200   0e09     MOVLW     0x9                                                                                             
000202   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000204   ffdb                                                                                                               
000206   ec3b     CALL      0x1076,0x0      StatusReset();                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000208   f008                                                                                                               
00020a   cfd9     MOVFF     0xfd9,0xfe9     while(!canSendMessage(outCp));                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00020c   ffe9                                                                                                               
00020e   cfda     MOVFF     0xfda,0xfea                                                                                     
000210   ffea                                                                                                               
000212   cfee     MOVFF     0xfee,0xfe6                                                                                     
000214   ffe6                                                                                                               
000216   cfee     MOVFF     0xfee,0xfe6                                                                                     
000218   ffe6                                                                                                               
00021a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00021c   ffe6                                                                                                               
00021e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000220   ffe6                                                                                                               
000222   cfee     MOVFF     0xfee,0xfe6                                                                                     
000224   ffe6                                                                                                               
000226   cfee     MOVFF     0xfee,0xfe6                                                                                     
000228   ffe6                                                                                                               
00022a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00022c   ffe6                                                                                                               
00022e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000230   ffe6                                                                                                               
000232   cfee     MOVFF     0xfee,0xfe6                                                                                     
000234   ffe6                                                                                                               
000236   cfee     MOVFF     0xfee,0xfe6                                                                                     
000238   ffe6                                                                                                               
00023a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00023c   ffe6                                                                                                               
00023e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000240   ffe6                                                                                                               
000242   cfee     MOVFF     0xfee,0xfe6                                                                                     
000244   ffe6                                                                                                               
000246   cfee     MOVFF     0xfee,0xfe6                                                                                     
000248   ffe6                                                                                                               
00024a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00024c   ffe6                                                                                                               
00024e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000250   ffe6                                                                                                               
000252   cfee     MOVFF     0xfee,0xfe6                                                                                     
000254   ffe6                                                                                                               
000256   ec60     CALL      0xac0,0x0                                                                                       
000258   f005                                                                                                               
00025a   6e00     MOVWF     0x0,0x0                                                                                         
00025c   0e11     MOVLW     0x11                                                                                            
00025e   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000260   5000     MOVF      0x0,0x0,0x0                                                                                     
000262   0900     IORLW     0x0                                                                                             
000264   e101     BNZ       0x268                                                                                           
000266   d7d1     BRA       0x20a                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000268   8282     BSF       0x82,0x1,0x0    LED0_IO= 1;                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000936   d499     BRA       0x26a           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_PACKET outCm;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00026a   db93     RCALL     0x992               BOOL hasPacket = canGetPacket() && (cp.type == ptBOOT && cp.boot.rid == MY_ID); F:\MCP\projects\CAN\canBoot\Source\Main.c
00026c   0900     IORLW     0x0                                                                                             
00026e   e00e     BZ        0x28c                                                                                           
000270   0100     MOVLB     0x0                                                                                             
000272   5160     MOVF      0x60,0x0,0x1                                                                                    
000274   e10b     BNZ       0x28c                                                                                           
000276   0100     MOVLB     0x0                                                                                             
000278   5166     MOVF      0x66,0x0,0x1                                                                                    
00027a   6e00     MOVWF     0x0,0x0                                                                                         
00027c   6a01     CLRF      0x1,0x0                                                                                         
00027e   0100     MOVLB     0x0                                                                                             
000280   51c1     MOVF      0xc1,0x0,0x1                                                                                    
000282   1800     XORWF     0x0,0x0,0x0                                                                                     
000284   e102     BNZ       0x28a                                                                                           
000286   51c2     MOVF      0xc2,0x0,0x1                                                                                    
000288   1801     XORWF     0x1,0x0,0x0                                                                                     
00028a   e002     BZ        0x290                                                                                           
00028c   0e00     MOVLW     0x0                                                                                             
00028e   d001     BRA       0x292                                                                                           
000290   0e01     MOVLW     0x1                                                                                             
000292   6ee7     MOVWF     0xe7,0x0                                                                                        
000294   0e23     MOVLW     0x23                                                                                            
000296   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000298   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00029a   0100     MOVLB     0x0                 tickSubCounter++;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
00029c   2bbd     INCF      0xbd,0x1,0x1                                                                                    
00029e   0e00     MOVLW     0x0                                                                                             
0002a0   23be     ADDWFC    0xbe,0x1,0x1                                                                                    
0002a2   23bf     ADDWFC    0xbf,0x1,0x1                                                                                    
0002a4   23c0     ADDWFC    0xc0,0x1,0x1                                                                                    
0002a6   80d8     BSF       0xd8,0x0,0x0        if (tickSubCounter>TICK_SUB_COUNTER_10MS)                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a8   0e38     MOVLW     0x38                                                                                            
0002aa   0100     MOVLB     0x0                                                                                             
0002ac   55bd     SUBFWB    0xbd,0x0,0x1                                                                                    
0002ae   0e01     MOVLW     0x1                                                                                             
0002b0   55be     SUBFWB    0xbe,0x0,0x1                                                                                    
0002b2   0e00     MOVLW     0x0                                                                                             
0002b4   55bf     SUBFWB    0xbf,0x0,0x1                                                                                    
0002b6   0e00     MOVLW     0x0                                                                                             
0002b8   55c0     SUBFWB    0xc0,0x0,0x1                                                                                    
0002ba   e20c     BC        0x2d4                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0002bc   0100     MOVLB     0x0                     tickCounter++;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0002be   2bb9     INCF      0xb9,0x1,0x1                                                                                    
0002c0   0e00     MOVLW     0x0                                                                                             
0002c2   23ba     ADDWFC    0xba,0x1,0x1                                                                                    
0002c4   23bb     ADDWFC    0xbb,0x1,0x1                                                                                    
0002c6   23bc     ADDWFC    0xbc,0x1,0x1                                                                                    
0002c8   0100     MOVLB     0x0                     tickSubCounter=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ca   6bbd     CLRF      0xbd,0x1                                                                                        
0002cc   6bbe     CLRF      0xbe,0x1                                                                                        
0002ce   6bbf     CLRF      0xbf,0x1                                                                                        
0002d0   6bc0     CLRF      0xc0,0x1                                                                                        
0002d2   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
0002d4   0100     MOVLB     0x0                 switch(pgs)                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d6   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0002d8   0a05     XORLW     0x5                                                                                             
0002da   e101     BNZ       0x2de                                                                                           
0002dc   d325     BRA       0x928                                                                                           
0002de   0a01     XORLW     0x1                                                                                             
0002e0   e101     BNZ       0x2e4                                                                                           
0002e2   d26c     BRA       0x7bc                                                                                           
0002e4   0a07     XORLW     0x7                                                                                             
0002e6   e101     BNZ       0x2ea                                                                                           
0002e8   d165     BRA       0x5b4                                                                                           
0002ea   0a01     XORLW     0x1                                                                                             
0002ec   e101     BNZ       0x2f0                                                                                           
0002ee   d0c0     BRA       0x470                                                                                           
0002f0   0a03     XORLW     0x3                                                                                             
0002f2   e101     BNZ       0x2f6                                                                                           
0002f4   d079     BRA       0x3e8                                                                                           
0002f6   0a01     XORLW     0x1                                                                                             
0002f8   e001     BZ        0x2fc                                                                                           
0002fa   d31a     BRA       0x930                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAITING_START:                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Wait for first addresspacket.                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Set startAddress to data[2]:[0].                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Send ack. Goto next state.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0002fc   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0002fe   04db     DECF      0xdb,0x0,0x0                                                                                    
000300   e153     BNZ       0x3a8                                                                                           
000302   0100     MOVLB     0x0                                                                                             
000304   5164     MOVF      0x64,0x0,0x1                                                                                    
000306   e150     BNZ       0x3a8                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000308   c067     MOVFF     0x67,0xc5                       programmerId = cp.sid;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00030a   f0c5                                                                                                               
00030c   c06b     MOVFF     0x6b,0x0                        pgmAddress = (((DWORD)cp.data[2])<<16)+(((DWORD)cp.data[1])<<8)+((DWORD)cp.data[0]); F:\MCP\projects\CAN\canBoot\Source\Main.c
00030e   f000                                                                                                               
000310   6a01     CLRF      0x1,0x0                                                                                         
000312   6a02     CLRF      0x2,0x0                                                                                         
000314   6a03     CLRF      0x3,0x0                                                                                         
000316   0e10     MOVLW     0x10                                                                                            
000318   0b1f     ANDLW     0x1f                                                                                            
00031a   e007     BZ        0x32a                                                                                           
00031c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00031e   3600     RLCF      0x0,0x1,0x0                                                                                     
000320   3601     RLCF      0x1,0x1,0x0                                                                                     
000322   3602     RLCF      0x2,0x1,0x0                                                                                     
000324   3603     RLCF      0x3,0x1,0x0                                                                                     
000326   06e8     DECF      0xe8,0x1,0x0                                                                                    
000328   e1f9     BNZ       0x31c                                                                                           
00032a   c06a     MOVFF     0x6a,0x4                                                                                        
00032c   f004                                                                                                               
00032e   6a05     CLRF      0x5,0x0                                                                                         
000330   6a06     CLRF      0x6,0x0                                                                                         
000332   6a07     CLRF      0x7,0x0                                                                                         
000334   0e08     MOVLW     0x8                                                                                             
000336   0b1f     ANDLW     0x1f                                                                                            
000338   e007     BZ        0x348                                                                                           
00033a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00033c   3604     RLCF      0x4,0x1,0x0                                                                                     
00033e   3605     RLCF      0x5,0x1,0x0                                                                                     
000340   3606     RLCF      0x6,0x1,0x0                                                                                     
000342   3607     RLCF      0x7,0x1,0x0                                                                                     
000344   06e8     DECF      0xe8,0x1,0x0                                                                                    
000346   e1f9     BNZ       0x33a                                                                                           
000348   5004     MOVF      0x4,0x0,0x0                                                                                     
00034a   2600     ADDWF     0x0,0x1,0x0                                                                                     
00034c   5005     MOVF      0x5,0x0,0x0                                                                                     
00034e   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000350   5006     MOVF      0x6,0x0,0x0                                                                                     
000352   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000354   5007     MOVF      0x7,0x0,0x0                                                                                     
000356   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000358   c069     MOVFF     0x69,0x8                                                                                        
00035a   f008                                                                                                               
00035c   6a09     CLRF      0x9,0x0                                                                                         
00035e   6a0a     CLRF      0xa,0x0                                                                                         
000360   6a0b     CLRF      0xb,0x0                                                                                         
000362   5000     MOVF      0x0,0x0,0x0                                                                                     
000364   2408     ADDWF     0x8,0x0,0x0                                                                                     
000366   0100     MOVLB     0x0                                                                                             
000368   6fc7     MOVWF     0xc7,0x1                                                                                        
00036a   5001     MOVF      0x1,0x0,0x0                                                                                     
00036c   2009     ADDWFC    0x9,0x0,0x0                                                                                     
00036e   0100     MOVLB     0x0                                                                                             
000370   6fc8     MOVWF     0xc8,0x1                                                                                        
000372   5002     MOVF      0x2,0x0,0x0                                                                                     
000374   200a     ADDWFC    0xa,0x0,0x0                                                                                     
000376   0100     MOVLB     0x0                                                                                             
000378   6fc9     MOVWF     0xc9,0x1                                                                                        
00037a   5003     MOVF      0x3,0x0,0x0                                                                                     
00037c   200b     ADDWFC    0xb,0x0,0x0                                                                                     
00037e   0100     MOVLB     0x0                                                                                             
000380   6fca     MOVWF     0xca,0x1                                                                                        
000382   ec2e     CALL      0xc5c,0x0                       t = tickGet();                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000384   f006                                                                                                               
000386   c010     MOVFF     0x10,0xcf                                                                                       
000388   f0cf                                                                                                               
00038a   c011     MOVFF     0x11,0xd0                                                                                       
00038c   f0d0                                                                                                               
00038e   c012     MOVFF     0x12,0xd1                                                                                       
000390   f0d1                                                                                                               
000392   c013     MOVFF     0x13,0xd2                                                                                       
000394   f0d2                                                                                                               
000396   0100     MOVLB     0x0                             ackType = btACK;                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000398   0e04     MOVLW     0x4                                                                                             
00039a   6fc6     MOVWF     0xc6,0x1                                                                                        
00039c   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00039e   0e02     MOVLW     0x2                                                                                             
0003a0   6fc4     MOVWF     0xc4,0x1                                                                                        
0003a2   0100     MOVLB     0x0                             pgs = pgsSEND_ACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0003a4   0e01     MOVLW     0x1                                                                                             
0003a6   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                              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
0003a8   ec2e     CALL      0xc5c,0x0                   if ((tickGet()-tBoot)>BOOTLOADER_INIT_TIMOUT)                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0003aa   f006                                                                                                               
0003ac   0100     MOVLB     0x0                                                                                             
0003ae   51b1     MOVF      0xb1,0x0,0x1                                                                                    
0003b0   5c10     SUBWF     0x10,0x0,0x0                                                                                    
0003b2   6e00     MOVWF     0x0,0x0                                                                                         
0003b4   0100     MOVLB     0x0                                                                                             
0003b6   51b2     MOVF      0xb2,0x0,0x1                                                                                    
0003b8   5811     SUBWFB    0x11,0x0,0x0                                                                                    
0003ba   6e01     MOVWF     0x1,0x0                                                                                         
0003bc   0100     MOVLB     0x0                                                                                             
0003be   51b3     MOVF      0xb3,0x0,0x1                                                                                    
0003c0   5812     SUBWFB    0x12,0x0,0x0                                                                                    
0003c2   6e02     MOVWF     0x2,0x0                                                                                         
0003c4   0100     MOVLB     0x0                                                                                             
0003c6   51b4     MOVF      0xb4,0x0,0x1                                                                                    
0003c8   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0003ca   6e03     MOVWF     0x3,0x0                                                                                         
0003cc   80d8     BSF       0xd8,0x0,0x0                                                                                    
0003ce   0ef4     MOVLW     0xf4                                                                                            
0003d0   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0003d2   0e01     MOVLW     0x1                                                                                             
0003d4   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0003d6   0e00     MOVLW     0x0                                                                                             
0003d8   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0003da   0e00     MOVLW     0x0                                                                                             
0003dc   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0003de   e203     BC        0x3e6                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003e0   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0003e2   0e05     MOVLW     0x5                                                                                             
0003e4   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003e6   d2a7     BRA       0x936                       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
0003e8   6adf     CLRF      0xdf,0x0                    outCp.type = ptBOOT;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0003ea   0e06     MOVLW     0x6                         outCp.boot.rid = programmerId;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003ec   c0c5     MOVFF     0xc5,0xfdb                                                                                      
0003ee   ffdb                                                                                                               
0003f0   0e04     MOVLW     0x4                         outCp.boot.type = ackType;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f2   c0c6     MOVFF     0xc6,0xfdb                                                                                      
0003f4   ffdb                                                                                                               
0003f6   0e08     MOVLW     0x8                         outCp.length=0;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f8   6adb     CLRF      0xdb,0x0                                                                                        
0003fa   ec2e     CALL      0xc5c,0x0                   t = tickGet();                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003fc   f006                                                                                                               
0003fe   c010     MOVFF     0x10,0xcf                                                                                       
000400   f0cf                                                                                                               
000402   c011     MOVFF     0x11,0xd0                                                                                       
000404   f0d0                                                                                                               
000406   c012     MOVFF     0x12,0xd1                                                                                       
000408   f0d1                                                                                                               
00040a   c013     MOVFF     0x13,0xd2                                                                                       
00040c   f0d2                                                                                                               
00040e   c0c4     MOVFF     0xc4,0xc3                   pgs = pgsAckNext;                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000410   f0c3                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000412   cfd9     MOVFF     0xfd9,0xfe9                 while(!canSendMessage(outCp));                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000414   ffe9                                                                                                               
000416   cfda     MOVFF     0xfda,0xfea                                                                                     
000418   ffea                                                                                                               
00041a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00041c   ffe6                                                                                                               
00041e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000420   ffe6                                                                                                               
000422   cfee     MOVFF     0xfee,0xfe6                                                                                     
000424   ffe6                                                                                                               
000426   cfee     MOVFF     0xfee,0xfe6                                                                                     
000428   ffe6                                                                                                               
00042a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00042c   ffe6                                                                                                               
00042e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000430   ffe6                                                                                                               
000432   cfee     MOVFF     0xfee,0xfe6                                                                                     
000434   ffe6                                                                                                               
000436   cfee     MOVFF     0xfee,0xfe6                                                                                     
000438   ffe6                                                                                                               
00043a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00043c   ffe6                                                                                                               
00043e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000440   ffe6                                                                                                               
000442   cfee     MOVFF     0xfee,0xfe6                                                                                     
000444   ffe6                                                                                                               
000446   cfee     MOVFF     0xfee,0xfe6                                                                                     
000448   ffe6                                                                                                               
00044a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00044c   ffe6                                                                                                               
00044e   cfee     MOVFF     0xfee,0xfe6                                                                                     
000450   ffe6                                                                                                               
000452   cfee     MOVFF     0xfee,0xfe6                                                                                     
000454   ffe6                                                                                                               
000456   cfee     MOVFF     0xfee,0xfe6                                                                                     
000458   ffe6                                                                                                               
00045a   cfee     MOVFF     0xfee,0xfe6                                                                                     
00045c   ffe6                                                                                                               
00045e   db30     RCALL     0xac0                                                                                           
000460   6e00     MOVWF     0x0,0x0                                                                                         
000462   0e11     MOVLW     0x11                                                                                            
000464   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000466   5000     MOVF      0x0,0x0,0x0                                                                                     
000468   0900     IORLW     0x0                                                                                             
00046a   e101     BNZ       0x46e                                                                                           
00046c   d7d2     BRA       0x412                                                                                           
00046e   d263     BRA       0x936                       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
                                                    case pgsWAIT_FIRST_DATA:                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Wait for first pgm packet. use offset to determine data index.            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // When receiving crc from host, check crc for offsets bytes.                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000470   ec2e     CALL      0xc5c,0x0                   if ((tickGet()-t)>PACKET_TIMEOUT)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000472   f006                                                                                                               
000474   0100     MOVLB     0x0                                                                                             
000476   51cf     MOVF      0xcf,0x0,0x1                                                                                    
000478   5c10     SUBWF     0x10,0x0,0x0                                                                                    
00047a   6e00     MOVWF     0x0,0x0                                                                                         
00047c   0100     MOVLB     0x0                                                                                             
00047e   51d0     MOVF      0xd0,0x0,0x1                                                                                    
000480   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000482   6e01     MOVWF     0x1,0x0                                                                                         
000484   0100     MOVLB     0x0                                                                                             
000486   51d1     MOVF      0xd1,0x0,0x1                                                                                    
000488   5812     SUBWFB    0x12,0x0,0x0                                                                                    
00048a   6e02     MOVWF     0x2,0x0                                                                                         
00048c   0100     MOVLB     0x0                                                                                             
00048e   51d2     MOVF      0xd2,0x0,0x1                                                                                    
000490   5813     SUBWFB    0x13,0x0,0x0                                                                                    
000492   6e03     MOVWF     0x3,0x0                                                                                         
000494   80d8     BSF       0xd8,0x0,0x0                                                                                    
000496   0e0e     MOVLW     0xe                                                                                             
000498   5400     SUBFWB    0x0,0x0,0x0                                                                                     
00049a   0e00     MOVLW     0x0                                                                                             
00049c   5401     SUBFWB    0x1,0x0,0x0                                                                                     
00049e   0e00     MOVLW     0x0                                                                                             
0004a0   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0004a2   0e00     MOVLW     0x0                                                                                             
0004a4   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0004a6   e206     BC        0x4b4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Timeout, resend ack/nack.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0004a8   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004aa   0e02     MOVLW     0x2                                                                                             
0004ac   6fc4     MOVWF     0xc4,0x1                                                                                        
0004ae   0100     MOVLB     0x0                             pgs = pgsSEND_ACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b0   0e01     MOVLW     0x1                                                                                             
0004b2   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b4   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btPGM)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b6   04db     DECF      0xdb,0x0,0x0                                                                                    
0004b8   e157     BNZ       0x568                                                                                           
0004ba   0100     MOVLB     0x0                                                                                             
0004bc   0564     DECF      0x64,0x0,0x1                                                                                    
0004be   e154     BNZ       0x568                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c0   0e24     MOVLW     0x24                            BYTE localIndex = cp.boot.offset;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c2   c065     MOVFF     0x65,0xfdb                                                                                      
0004c4   ffdb                                                                                                               
0004c6   0e24     MOVLW     0x24                            pgmData[localIndex+0]=cp.data[0]; pgmData[localIndex+1]=cp.data[1]; pgmData[localIndex+2]=cp.data[2]; pgmData[localIndex+3]=cp.data[3]; F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ca   6aea     CLRF      0xea,0x0                                                                                        
0004cc   0f71     ADDLW     0x71                                                                                            
0004ce   6ee9     MOVWF     0xe9,0x0                                                                                        
0004d0   0e00     MOVLW     0x0                                                                                             
0004d2   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004d4   c069     MOVFF     0x69,0xfef                                                                                      
0004d6   ffef                                                                                                               
0004d8   0e24     MOVLW     0x24                                                                                            
0004da   28db     INCF      0xdb,0x0,0x0                                                                                    
0004dc   6aea     CLRF      0xea,0x0                                                                                        
0004de   0f71     ADDLW     0x71                                                                                            
0004e0   6ee9     MOVWF     0xe9,0x0                                                                                        
0004e2   0e00     MOVLW     0x0                                                                                             
0004e4   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004e6   c06a     MOVFF     0x6a,0xfef                                                                                      
0004e8   ffef                                                                                                               
0004ea   0e24     MOVLW     0x24                                                                                            
0004ec   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004ee   0f02     ADDLW     0x2                                                                                             
0004f0   6aea     CLRF      0xea,0x0                                                                                        
0004f2   0f71     ADDLW     0x71                                                                                            
0004f4   6ee9     MOVWF     0xe9,0x0                                                                                        
0004f6   0e00     MOVLW     0x0                                                                                             
0004f8   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004fa   c06b     MOVFF     0x6b,0xfef                                                                                      
0004fc   ffef                                                                                                               
0004fe   0e24     MOVLW     0x24                                                                                            
000500   50db     MOVF      0xdb,0x0,0x0                                                                                    
000502   0f03     ADDLW     0x3                                                                                             
000504   6aea     CLRF      0xea,0x0                                                                                        
000506   0f71     ADDLW     0x71                                                                                            
000508   6ee9     MOVWF     0xe9,0x0                                                                                        
00050a   0e00     MOVLW     0x0                                                                                             
00050c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00050e   c06c     MOVFF     0x6c,0xfef                                                                                      
000510   ffef                                                                                                               
000512   0e24     MOVLW     0x24                            pgmData[localIndex+4]=cp.data[4]; pgmData[localIndex+5]=cp.data[5]; pgmData[localIndex+6]=cp.data[6]; pgmData[localIndex+7]=cp.data[7]; F:\MCP\projects\CAN\canBoot\Source\Main.c
000514   50db     MOVF      0xdb,0x0,0x0                                                                                    
000516   0f04     ADDLW     0x4                                                                                             
000518   6aea     CLRF      0xea,0x0                                                                                        
00051a   0f71     ADDLW     0x71                                                                                            
00051c   6ee9     MOVWF     0xe9,0x0                                                                                        
00051e   0e00     MOVLW     0x0                                                                                             
000520   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000522   c06d     MOVFF     0x6d,0xfef                                                                                      
000524   ffef                                                                                                               
000526   0e24     MOVLW     0x24                                                                                            
000528   50db     MOVF      0xdb,0x0,0x0                                                                                    
00052a   0f05     ADDLW     0x5                                                                                             
00052c   6aea     CLRF      0xea,0x0                                                                                        
00052e   0f71     ADDLW     0x71                                                                                            
000530   6ee9     MOVWF     0xe9,0x0                                                                                        
000532   0e00     MOVLW     0x0                                                                                             
000534   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000536   c06e     MOVFF     0x6e,0xfef                                                                                      
000538   ffef                                                                                                               
00053a   0e24     MOVLW     0x24                                                                                            
00053c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00053e   0f06     ADDLW     0x6                                                                                             
000540   6aea     CLRF      0xea,0x0                                                                                        
000542   0f71     ADDLW     0x71                                                                                            
000544   6ee9     MOVWF     0xe9,0x0                                                                                        
000546   0e00     MOVLW     0x0                                                                                             
000548   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00054a   c06f     MOVFF     0x6f,0xfef                                                                                      
00054c   ffef                                                                                                               
00054e   0e24     MOVLW     0x24                                                                                            
000550   50db     MOVF      0xdb,0x0,0x0                                                                                    
000552   0f07     ADDLW     0x7                                                                                             
000554   6aea     CLRF      0xea,0x0                                                                                        
000556   0f71     ADDLW     0x71                                                                                            
000558   6ee9     MOVWF     0xe9,0x0                                                                                        
00055a   0e00     MOVLW     0x0                                                                                             
00055c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00055e   c070     MOVFF     0x70,0xfef                                                                                      
000560   ffef                                                                                                               
000562   0100     MOVLB     0x0                             pgs = pgsWAIT_DATA_OR_CRC;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000564   0e03     MOVLW     0x3                                                                                             
000566   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000568   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00056a   04db     DECF      0xdb,0x0,0x0                                                                                    
00056c   e10e     BNZ       0x58a                                                                                           
00056e   0100     MOVLB     0x0                                                                                             
000570   5164     MOVF      0x64,0x0,0x1                                                                                    
000572   e10b     BNZ       0x58a                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000574   db73     RCALL     0xc5c                           tBoot = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000576   c010     MOVFF     0x10,0xb1                                                                                       
000578   f0b1                                                                                                               
00057a   c011     MOVFF     0x11,0xb2                                                                                       
00057c   f0b2                                                                                                               
00057e   c012     MOVFF     0x12,0xb3                                                                                       
000580   f0b3                                                                                                               
000582   c013     MOVFF     0x13,0xb4                                                                                       
000584   f0b4                                                                                                               
000586   0100     MOVLB     0x0                             pgs   = pgsWAITING_START;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000588   6bc3     CLRF      0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00058a   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btCRC)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00058c   04db     DECF      0xdb,0x0,0x0                                                                                    
00058e   e107     BNZ       0x59e                                                                                           
000590   0e06     MOVLW     0x6                                                                                             
000592   0100     MOVLB     0x0                                                                                             
000594   5d64     SUBWF     0x64,0x0,0x1                                                                                    
000596   e103     BNZ       0x59e                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000598   0100     MOVLB     0x0                             pgs   = pgsWAIT_DATA_OR_CRC;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00059a   0e03     MOVLW     0x3                                                                                             
00059c   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00059e   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btDONE)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a0   04db     DECF      0xdb,0x0,0x0                                                                                    
0005a2   e107     BNZ       0x5b2                                                                                           
0005a4   0e02     MOVLW     0x2                                                                                             
0005a6   0100     MOVLB     0x0                                                                                             
0005a8   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0005aa   e103     BNZ       0x5b2                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ac   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ae   0e05     MOVLW     0x5                                                                                             
0005b0   6fc3     MOVWF     0xc3,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
0005b2   d1c1     BRA       0x936                       break;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                    case pgsWAIT_DATA_OR_CRC:                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Wait for pgm packet. use offset to determine data index.                  F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // When receiving crc from host, check crc for offsets bytes.                F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0005b4   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btCRC)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0005b6   04db     DECF      0xdb,0x0,0x0                                                                                    
0005b8   e001     BZ        0x5bc                                                                                           
0005ba   d08d     BRA       0x6d6                                                                                           
0005bc   0e06     MOVLW     0x6                                                                                             
0005be   0100     MOVLB     0x0                                                                                             
0005c0   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0005c2   e001     BZ        0x5c6                                                                                           
0005c4   d088     BRA       0x6d6                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005c6   c06d     MOVFF     0x6d,0x2                        WORD crc16 = (((WORD)cp.data[4])<<8)+((WORD)cp.data[3]);                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0005c8   f002                                                                                                               
0005ca   c002     MOVFF     0x2,0x3                                                                                         
0005cc   f003                                                                                                               
0005ce   6a02     CLRF      0x2,0x0                                                                                         
0005d0   0100     MOVLB     0x0                                                                                             
0005d2   516c     MOVF      0x6c,0x0,0x1                                                                                    
0005d4   0100     MOVLB     0x0                                                                                             
0005d6   2402     ADDWF     0x2,0x0,0x0                                                                                     
0005d8   6e00     MOVWF     0x0,0x0                                                                                         
0005da   0e00     MOVLW     0x0                                                                                             
0005dc   2003     ADDWFC    0x3,0x0,0x0                                                                                     
0005de   6e01     MOVWF     0x1,0x0                                                                                         
0005e0   0e25     MOVLW     0x25                                                                                            
0005e2   c000     MOVFF     0x0,0xfdb                                                                                       
0005e4   ffdb                                                                                                               
0005e6   0e26     MOVLW     0x26                                                                                            
0005e8   c001     MOVFF     0x1,0xfdb                                                                                       
0005ea   ffdb                                                                                                               
0005ec   0e40     MOVLW     0x40                            WORD crc16calc = calc_crc(pgmData,64);                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ee   6ee6     MOVWF     0xe6,0x0                                                                                        
0005f0   6ae6     CLRF      0xe6,0x0                                                                                        
0005f2   0e71     MOVLW     0x71                                                                                            
0005f4   6ee6     MOVWF     0xe6,0x0                                                                                        
0005f6   0e00     MOVLW     0x0                                                                                             
0005f8   6ee6     MOVWF     0xe6,0x0                                                                                        
0005fa   eccc     CALL      0xd98,0x0                                                                                       
0005fc   f006                                                                                                               
0005fe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000600   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000602   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000604   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000606   0e27     MOVLW     0x27                                                                                            
000608   cff3     MOVFF     0xff3,0xfdb                                                                                     
00060a   ffdb                                                                                                               
00060c   0e28     MOVLW     0x28                                                                                            
00060e   cff4     MOVFF     0xff4,0xfdb                                                                                     
000610   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // check CRC.                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000612   0e27     MOVLW     0x27                            if (crc16calc==crc16)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000614   cfdb     MOVFF     0xfdb,0x0                                                                                       
000616   f000                                                                                                               
000618   0e28     MOVLW     0x28                                                                                            
00061a   cfdb     MOVFF     0xfdb,0x1                                                                                       
00061c   f001                                                                                                               
00061e   0e25     MOVLW     0x25                                                                                            
000620   50db     MOVF      0xdb,0x0,0x0                                                                                    
000622   1800     XORWF     0x0,0x0,0x0                                                                                     
000624   e103     BNZ       0x62c                                                                                           
000626   0e26     MOVLW     0x26                                                                                            
000628   50db     MOVF      0xdb,0x0,0x0                                                                                    
00062a   1801     XORWF     0x1,0x0,0x0                                                                                     
00062c   e142     BNZ       0x6b2                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00062e   c06b     MOVFF     0x6b,0x0                            newPgmAddress = (((DWORD)cp.data[2])<<16)+(((DWORD)cp.data[1])<<8)+((DWORD)cp.data[0]); F:\MCP\projects\CAN\canBoot\Source\Main.c
000630   f000                                                                                                               
000632   6a01     CLRF      0x1,0x0                                                                                         
000634   6a02     CLRF      0x2,0x0                                                                                         
000636   6a03     CLRF      0x3,0x0                                                                                         
000638   0e10     MOVLW     0x10                                                                                            
00063a   0b1f     ANDLW     0x1f                                                                                            
00063c   e007     BZ        0x64c                                                                                           
00063e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000640   3600     RLCF      0x0,0x1,0x0                                                                                     
000642   3601     RLCF      0x1,0x1,0x0                                                                                     
000644   3602     RLCF      0x2,0x1,0x0                                                                                     
000646   3603     RLCF      0x3,0x1,0x0                                                                                     
000648   06e8     DECF      0xe8,0x1,0x0                                                                                    
00064a   e1f9     BNZ       0x63e                                                                                           
00064c   c06a     MOVFF     0x6a,0x4                                                                                        
00064e   f004                                                                                                               
000650   6a05     CLRF      0x5,0x0                                                                                         
000652   6a06     CLRF      0x6,0x0                                                                                         
000654   6a07     CLRF      0x7,0x0                                                                                         
000656   0e08     MOVLW     0x8                                                                                             
000658   0b1f     ANDLW     0x1f                                                                                            
00065a   e007     BZ        0x66a                                                                                           
00065c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00065e   3604     RLCF      0x4,0x1,0x0                                                                                     
000660   3605     RLCF      0x5,0x1,0x0                                                                                     
000662   3606     RLCF      0x6,0x1,0x0                                                                                     
000664   3607     RLCF      0x7,0x1,0x0                                                                                     
000666   06e8     DECF      0xe8,0x1,0x0                                                                                    
000668   e1f9     BNZ       0x65c                                                                                           
00066a   5004     MOVF      0x4,0x0,0x0                                                                                     
00066c   2600     ADDWF     0x0,0x1,0x0                                                                                     
00066e   5005     MOVF      0x5,0x0,0x0                                                                                     
000670   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000672   5006     MOVF      0x6,0x0,0x0                                                                                     
000674   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000676   5007     MOVF      0x7,0x0,0x0                                                                                     
000678   2203     ADDWFC    0x3,0x1,0x0                                                                                     
00067a   c069     MOVFF     0x69,0x8                                                                                        
00067c   f008                                                                                                               
00067e   6a09     CLRF      0x9,0x0                                                                                         
000680   6a0a     CLRF      0xa,0x0                                                                                         
000682   6a0b     CLRF      0xb,0x0                                                                                         
000684   5000     MOVF      0x0,0x0,0x0                                                                                     
000686   2408     ADDWF     0x8,0x0,0x0                                                                                     
000688   0100     MOVLB     0x0                                                                                             
00068a   6fcb     MOVWF     0xcb,0x1                                                                                        
00068c   5001     MOVF      0x1,0x0,0x0                                                                                     
00068e   2009     ADDWFC    0x9,0x0,0x0                                                                                     
000690   0100     MOVLB     0x0                                                                                             
000692   6fcc     MOVWF     0xcc,0x1                                                                                        
000694   5002     MOVF      0x2,0x0,0x0                                                                                     
000696   200a     ADDWFC    0xa,0x0,0x0                                                                                     
000698   0100     MOVLB     0x0                                                                                             
00069a   6fcd     MOVWF     0xcd,0x1                                                                                        
00069c   5003     MOVF      0x3,0x0,0x0                                                                                     
00069e   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0006a0   0100     MOVLB     0x0                                                                                             
0006a2   6fce     MOVWF     0xce,0x1                                                                                        
0006a4   0100     MOVLB     0x0                                 pgsAckNext = pgsWAIT_FIRST_DATA;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006a6   0e02     MOVLW     0x2                                                                                             
0006a8   6fc4     MOVWF     0xc4,0x1                                                                                        
0006aa   0100     MOVLB     0x0                                 pgs = pgsWRITE_DATA;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ac   0e04     MOVLW     0x4                                                                                             
0006ae   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006b0   d012     BRA       0x6d6                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006b2   dad4     RCALL     0xc5c                               t = tickGet();                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0006b4   c010     MOVFF     0x10,0xcf                                                                                       
0006b6   f0cf                                                                                                               
0006b8   c011     MOVFF     0x11,0xd0                                                                                       
0006ba   f0d0                                                                                                               
0006bc   c012     MOVFF     0x12,0xd1                                                                                       
0006be   f0d1                                                                                                               
0006c0   c013     MOVFF     0x13,0xd2                                                                                       
0006c2   f0d2                                                                                                               
0006c4   0100     MOVLB     0x0                                 ackType = btNACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c6   0e05     MOVLW     0x5                                                                                             
0006c8   6fc6     MOVWF     0xc6,0x1                                                                                        
0006ca   0100     MOVLB     0x0                                 pgsAckNext = pgsWAIT_FIRST_DATA;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006cc   0e02     MOVLW     0x2                                                                                             
0006ce   6fc4     MOVWF     0xc4,0x1                                                                                        
0006d0   0100     MOVLB     0x0                                 pgs = pgsSEND_ACK;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d2   0e01     MOVLW     0x1                                                                                             
0006d4   6fc3     MOVWF     0xc3,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
0006d6   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btPGM)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d8   04db     DECF      0xdb,0x0,0x0                                                                                    
0006da   e154     BNZ       0x784                                                                                           
0006dc   0100     MOVLB     0x0                                                                                             
0006de   0564     DECF      0x64,0x0,0x1                                                                                    
0006e0   e151     BNZ       0x784                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e2   0e29     MOVLW     0x29                            BYTE localIndex = cp.boot.offset;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e4   c065     MOVFF     0x65,0xfdb                                                                                      
0006e6   ffdb                                                                                                               
0006e8   0e29     MOVLW     0x29                            pgmData[localIndex+0]=cp.data[0]; pgmData[localIndex+1]=cp.data[1]; pgmData[localIndex+2]=cp.data[2]; pgmData[localIndex+3]=cp.data[3]; F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ea   50db     MOVF      0xdb,0x0,0x0                                                                                    
0006ec   6aea     CLRF      0xea,0x0                                                                                        
0006ee   0f71     ADDLW     0x71                                                                                            
0006f0   6ee9     MOVWF     0xe9,0x0                                                                                        
0006f2   0e00     MOVLW     0x0                                                                                             
0006f4   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0006f6   c069     MOVFF     0x69,0xfef                                                                                      
0006f8   ffef                                                                                                               
0006fa   0e29     MOVLW     0x29                                                                                            
0006fc   28db     INCF      0xdb,0x0,0x0                                                                                    
0006fe   6aea     CLRF      0xea,0x0                                                                                        
000700   0f71     ADDLW     0x71                                                                                            
000702   6ee9     MOVWF     0xe9,0x0                                                                                        
000704   0e00     MOVLW     0x0                                                                                             
000706   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000708   c06a     MOVFF     0x6a,0xfef                                                                                      
00070a   ffef                                                                                                               
00070c   0e29     MOVLW     0x29                                                                                            
00070e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000710   0f02     ADDLW     0x2                                                                                             
000712   6aea     CLRF      0xea,0x0                                                                                        
000714   0f71     ADDLW     0x71                                                                                            
000716   6ee9     MOVWF     0xe9,0x0                                                                                        
000718   0e00     MOVLW     0x0                                                                                             
00071a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00071c   c06b     MOVFF     0x6b,0xfef                                                                                      
00071e   ffef                                                                                                               
000720   0e29     MOVLW     0x29                                                                                            
000722   50db     MOVF      0xdb,0x0,0x0                                                                                    
000724   0f03     ADDLW     0x3                                                                                             
000726   6aea     CLRF      0xea,0x0                                                                                        
000728   0f71     ADDLW     0x71                                                                                            
00072a   6ee9     MOVWF     0xe9,0x0                                                                                        
00072c   0e00     MOVLW     0x0                                                                                             
00072e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000730   c06c     MOVFF     0x6c,0xfef                                                                                      
000732   ffef                                                                                                               
000734   0e29     MOVLW     0x29                            pgmData[localIndex+4]=cp.data[4]; pgmData[localIndex+5]=cp.data[5]; pgmData[localIndex+6]=cp.data[6]; pgmData[localIndex+7]=cp.data[7]; F:\MCP\projects\CAN\canBoot\Source\Main.c
000736   50db     MOVF      0xdb,0x0,0x0                                                                                    
000738   0f04     ADDLW     0x4                                                                                             
00073a   6aea     CLRF      0xea,0x0                                                                                        
00073c   0f71     ADDLW     0x71                                                                                            
00073e   6ee9     MOVWF     0xe9,0x0                                                                                        
000740   0e00     MOVLW     0x0                                                                                             
000742   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000744   c06d     MOVFF     0x6d,0xfef                                                                                      
000746   ffef                                                                                                               
000748   0e29     MOVLW     0x29                                                                                            
00074a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00074c   0f05     ADDLW     0x5                                                                                             
00074e   6aea     CLRF      0xea,0x0                                                                                        
000750   0f71     ADDLW     0x71                                                                                            
000752   6ee9     MOVWF     0xe9,0x0                                                                                        
000754   0e00     MOVLW     0x0                                                                                             
000756   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000758   c06e     MOVFF     0x6e,0xfef                                                                                      
00075a   ffef                                                                                                               
00075c   0e29     MOVLW     0x29                                                                                            
00075e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000760   0f06     ADDLW     0x6                                                                                             
000762   6aea     CLRF      0xea,0x0                                                                                        
000764   0f71     ADDLW     0x71                                                                                            
000766   6ee9     MOVWF     0xe9,0x0                                                                                        
000768   0e00     MOVLW     0x0                                                                                             
00076a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00076c   c06f     MOVFF     0x6f,0xfef                                                                                      
00076e   ffef                                                                                                               
000770   0e29     MOVLW     0x29                                                                                            
000772   50db     MOVF      0xdb,0x0,0x0                                                                                    
000774   0f07     ADDLW     0x7                                                                                             
000776   6aea     CLRF      0xea,0x0                                                                                        
000778   0f71     ADDLW     0x71                                                                                            
00077a   6ee9     MOVWF     0xe9,0x0                                                                                        
00077c   0e00     MOVLW     0x0                                                                                             
00077e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000780   c070     MOVFF     0x70,0xfef                                                                                      
000782   ffef                                                                                                               
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000784   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000786   04db     DECF      0xdb,0x0,0x0                                                                                    
000788   e10e     BNZ       0x7a6                                                                                           
00078a   0100     MOVLB     0x0                                                                                             
00078c   5164     MOVF      0x64,0x0,0x1                                                                                    
00078e   e10b     BNZ       0x7a6                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000790   da65     RCALL     0xc5c                           tBoot = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000792   c010     MOVFF     0x10,0xb1                                                                                       
000794   f0b1                                                                                                               
000796   c011     MOVFF     0x11,0xb2                                                                                       
000798   f0b2                                                                                                               
00079a   c012     MOVFF     0x12,0xb3                                                                                       
00079c   f0b3                                                                                                               
00079e   c013     MOVFF     0x13,0xb4                                                                                       
0007a0   f0b4                                                                                                               
0007a2   0100     MOVLB     0x0                             pgs   = pgsWAITING_START;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a4   6bc3     CLRF      0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a6   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btDONE)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a8   04db     DECF      0xdb,0x0,0x0                                                                                    
0007aa   e107     BNZ       0x7ba                                                                                           
0007ac   0e02     MOVLW     0x2                                                                                             
0007ae   0100     MOVLB     0x0                                                                                             
0007b0   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0007b2   e103     BNZ       0x7ba                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b4   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b6   0e05     MOVLW     0x5                                                                                             
0007b8   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ba   d0bd     BRA       0x936                       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_DATA:                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007bc   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
0007be   0e00     MOVLW     0x0                         if (pgmAddress<RM_RESET_VECTOR)                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c0   0100     MOVLB     0x0                                                                                             
0007c2   5dc7     SUBWF     0xc7,0x0,0x1                                                                                    
0007c4   0e30     MOVLW     0x30                                                                                            
0007c6   59c8     SUBWFB    0xc8,0x0,0x1                                                                                    
0007c8   0e00     MOVLW     0x0                                                                                             
0007ca   59c9     SUBWFB    0xc9,0x0,0x1                                                                                    
0007cc   0e00     MOVLW     0x0                                                                                             
0007ce   59ca     SUBWFB    0xca,0x0,0x1                                                                                    
0007d0   e20a     BC        0x7e6                                                                                           
                                                        {                                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d2   0100     MOVLB     0x0                             ackType = btNACK;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0007d4   0e05     MOVLW     0x5                                                                                             
0007d6   6fc6     MOVWF     0xc6,0x1                                                                                        
0007d8   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0007da   0e02     MOVLW     0x2                                                                                             
0007dc   6fc4     MOVWF     0xc4,0x1                                                                                        
0007de   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e0   0e01     MOVLW     0x1                                                                                             
0007e2   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                            //Not allowed to write here!                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e4   d0a8     BRA       0x936                           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
                                                        //Load Table pointer registers with base address to erase.                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e6   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e8   f000                                                                                                               
0007ea   c0c8     MOVFF     0xc8,0x1                                                                                        
0007ec   f001                                                                                                               
0007ee   c0c9     MOVFF     0xc9,0x2                                                                                        
0007f0   f002                                                                                                               
0007f2   c0ca     MOVFF     0xca,0x3                                                                                        
0007f4   f003                                                                                                               
0007f6   6a00     CLRF      0x0,0x0                                                                                         
0007f8   6a01     CLRF      0x1,0x0                                                                                         
0007fa   6a03     CLRF      0x3,0x0                                                                                         
0007fc   0e10     MOVLW     0x10                                                                                            
0007fe   90d8     BCF       0xd8,0x0,0x0                                                                                    
000800   3203     RRCF      0x3,0x1,0x0                                                                                     
000802   3202     RRCF      0x2,0x1,0x0                                                                                     
000804   3201     RRCF      0x1,0x1,0x0                                                                                     
000806   3200     RRCF      0x0,0x1,0x0                                                                                     
000808   06e8     DECF      0xe8,0x1,0x0                                                                                    
00080a   e1f9     BNZ       0x7fe                                                                                           
00080c   5000     MOVF      0x0,0x0,0x0                                                                                     
00080e   6ef8     MOVWF     0xf8,0x0                                                                                        
000810   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000812   f000                                                                                                               
000814   c0c8     MOVFF     0xc8,0x1                                                                                        
000816   f001                                                                                                               
000818   c0c9     MOVFF     0xc9,0x2                                                                                        
00081a   f002                                                                                                               
00081c   c0ca     MOVFF     0xca,0x3                                                                                        
00081e   f003                                                                                                               
000820   6a00     CLRF      0x0,0x0                                                                                         
000822   6a02     CLRF      0x2,0x0                                                                                         
000824   6a03     CLRF      0x3,0x0                                                                                         
000826   0e08     MOVLW     0x8                                                                                             
000828   90d8     BCF       0xd8,0x0,0x0                                                                                    
00082a   3203     RRCF      0x3,0x1,0x0                                                                                     
00082c   3202     RRCF      0x2,0x1,0x0                                                                                     
00082e   3201     RRCF      0x1,0x1,0x0                                                                                     
000830   3200     RRCF      0x0,0x1,0x0                                                                                     
000832   06e8     DECF      0xe8,0x1,0x0                                                                                    
000834   e1f9     BNZ       0x828                                                                                           
000836   5000     MOVF      0x0,0x0,0x0                                                                                     
000838   6ef7     MOVWF     0xf7,0x0                                                                                        
00083a   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00083c   51c7     MOVF      0xc7,0x0,0x1                                                                                    
00083e   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
000840   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
000842   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
000844   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
000846   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
000848   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
00084a   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00084c   6ea7     MOVWF     0xa7,0x0                                                                                        
00084e   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000850   6ea7     MOVWF     0xa7,0x0                                                                                        
000852   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
000854   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
000856   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000858   f000                                                                                                               
00085a   c0c8     MOVFF     0xc8,0x1                                                                                        
00085c   f001                                                                                                               
00085e   c0c9     MOVFF     0xc9,0x2                                                                                        
000860   f002                                                                                                               
000862   c0ca     MOVFF     0xca,0x3                                                                                        
000864   f003                                                                                                               
000866   6a00     CLRF      0x0,0x0                                                                                         
000868   6a01     CLRF      0x1,0x0                                                                                         
00086a   6a03     CLRF      0x3,0x0                                                                                         
00086c   0e10     MOVLW     0x10                                                                                            
00086e   90d8     BCF       0xd8,0x0,0x0                                                                                    
000870   3203     RRCF      0x3,0x1,0x0                                                                                     
000872   3202     RRCF      0x2,0x1,0x0                                                                                     
000874   3201     RRCF      0x1,0x1,0x0                                                                                     
000876   3200     RRCF      0x0,0x1,0x0                                                                                     
000878   06e8     DECF      0xe8,0x1,0x0                                                                                    
00087a   e1f9     BNZ       0x86e                                                                                           
00087c   5000     MOVF      0x0,0x0,0x0                                                                                     
00087e   6ef8     MOVWF     0xf8,0x0                                                                                        
000880   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000882   f000                                                                                                               
000884   c0c8     MOVFF     0xc8,0x1                                                                                        
000886   f001                                                                                                               
000888   c0c9     MOVFF     0xc9,0x2                                                                                        
00088a   f002                                                                                                               
00088c   c0ca     MOVFF     0xca,0x3                                                                                        
00088e   f003                                                                                                               
000890   6a00     CLRF      0x0,0x0                                                                                         
000892   6a02     CLRF      0x2,0x0                                                                                         
000894   6a03     CLRF      0x3,0x0                                                                                         
000896   0e08     MOVLW     0x8                                                                                             
000898   90d8     BCF       0xd8,0x0,0x0                                                                                    
00089a   3203     RRCF      0x3,0x1,0x0                                                                                     
00089c   3202     RRCF      0x2,0x1,0x0                                                                                     
00089e   3201     RRCF      0x1,0x1,0x0                                                                                     
0008a0   3200     RRCF      0x0,0x1,0x0                                                                                     
0008a2   06e8     DECF      0xe8,0x1,0x0                                                                                    
0008a4   e1f9     BNZ       0x898                                                                                           
0008a6   5000     MOVF      0x0,0x0,0x0                                                                                     
0008a8   6ef7     MOVWF     0xf7,0x0                                                                                        
0008aa   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ac   51c7     MOVF      0xc7,0x0,0x1                                                                                    
0008ae   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Load bytes                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0008b0   0e11     MOVLW     0x11                        for(i=0;i<63;i++)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008b2   6adb     CLRF      0xdb,0x0                                                                                        
0008b4   0e3f     MOVLW     0x3f                                                                                            
0008b6   6ef3     MOVWF     0xf3,0x0                                                                                        
0008b8   0e11     MOVLW     0x11                                                                                            
0008ba   cfdb     MOVFF     0xfdb,0xff4                                                                                     
0008bc   fff4                                                                                                               
0008be   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0008c0   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
0008c2   e215     BC        0x8ee                                                                                           
0008e8   0e11     MOVLW     0x11                                                                                            
0008ea   2adb     INCF      0xdb,0x1,0x0                                                                                    
0008ec   d7e3     BRA       0x8b4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c4   0e11     MOVLW     0x11                            TABLAT=pgmData[i];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008c8   6aea     CLRF      0xea,0x0                                                                                        
0008ca   0f71     ADDLW     0x71                                                                                            
0008cc   6ee9     MOVWF     0xe9,0x0                                                                                        
0008ce   0e00     MOVLW     0x0                                                                                             
0008d0   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0008d2   50ef     MOVF      0xef,0x0,0x0                                                                                    
0008d4   6ef5     MOVWF     0xf5,0x0                                                                                        
0008d6   0e11     MOVLW     0x11                            pgmData[i]=0x0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008da   6aea     CLRF      0xea,0x0                                                                                        
0008dc   0f71     ADDLW     0x71                                                                                            
0008de   6ee9     MOVWF     0xe9,0x0                                                                                        
0008e0   0e00     MOVLW     0x0                                                                                             
0008e2   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0008e4   6aef     CLRF      0xef,0x0                                                                                        
0008e6   d9b8     RCALL     0xc58                           TBLWTPOSTINC_Func();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ee   c0b0     MOVFF     0xb0,0xff5                  TABLAT=pgmData[63];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0008f0   fff5                                                                                                               
0008f2   d9b0     RCALL     0xc54                       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
0008f4   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
0008f6   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
0008f8   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
0008fa   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
0008fc   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0008fe   6ea7     MOVWF     0xa7,0x0                                                                                        
000900   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000902   6ea7     MOVWF     0xa7,0x0                                                                                        
000904   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
000906   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
000908   94a6     BCF       0xa6,0x2,0x0                EECON1bits.WREN = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00090a   c0cb     MOVFF     0xcb,0xc7                   pgmAddress     = newPgmAddress;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00090c   f0c7                                                                                                               
00090e   c0cc     MOVFF     0xcc,0xc8                                                                                       
000910   f0c8                                                                                                               
000912   c0cd     MOVFF     0xcd,0xc9                                                                                       
000914   f0c9                                                                                                               
000916   c0ce     MOVFF     0xce,0xca                                                                                       
000918   f0ca                                                                                                               
00091a   0100     MOVLB     0x0                         ackType = btACK;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00091c   0e04     MOVLW     0x4                                                                                             
00091e   6fc6     MOVWF     0xc6,0x1                                                                                        
000920   0100     MOVLB     0x0                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000922   0e01     MOVLW     0x1                                                                                             
000924   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000926   d007     BRA       0x936                   break;                                                                        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
000928   9282     BCF       0x82,0x1,0x0                LED0_IO= 0;                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00092a   ef00     GOTO      0x3000                      _asm  goto RM_RESET_VECTOR _endasm                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00092c   f018                                                                                                               
00092e   d003     BRA       0x936                   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
                                                    default:                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000930   0100     MOVLB     0x0                         pgs = pgsWAITING_START;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000932   6bc3     CLRF      0xc3,0x1                                                                                        
000934   d000     BRA       0x936                   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
000938   0e2a     MOVLW     0x2a           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
00093a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00093c   e202     BC        0x942                                                                                           
00093e   6ae1     CLRF      0xe1,0x0                                                                                        
000940   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000942   6ee1     MOVWF     0xe1,0x0                                                                                        
000944   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000946   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000948   ffd9                                                                                                               
00094a   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
00094c   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
00094e   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
000950   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000952   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
000954   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
000956   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
                                           *    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
000958   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00095a   6e6f     MOVWF     0x6f,0x0                                                                                        
00095c   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
00095e   146e     ANDWF     0x6e,0x0,0x0                                                                                    
000960   0880     SUBLW     0x80                                                                                            
000962   e001     BZ        0x966                                                                                           
000964   d7fb     BRA       0x95c                                                                                           
                                                                                                                            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
000966   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000968   6e70     MOVWF     0x70,0x0                                                                                        
00096a   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00096c   6e71     MOVWF     0x71,0x0                                                                                        
00096e   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000970   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000972   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000974   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000976   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
000978   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
00097a   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
00097c   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00097e   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000980   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000982   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
000984   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
000986   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000988   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
00098a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00098c   e001     BZ        0x990                                                                                           
00098e   d7fc     BRA       0x988                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000990   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
000992   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000994   146f     ANDWF     0x6f,0x0,0x0                                                                                    
000996   0910     IORLW     0x10                                                                                            
000998   6e00     MOVWF     0x0,0x0                                                                                         
00099a   0e00     MOVLW     0x0                                                                                             
00099c   1477     ANDWF     0x77,0x0,0x0                                                                                    
00099e   1000     IORWF     0x0,0x0,0x0                                                                                     
0009a0   6e77     MOVWF     0x77,0x0                                                                                        
0009a2   be60     BTFSC     0x60,0x7,0x0        if (!RXB0CONbits.RXFUL) return FALSE;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a4   d002     BRA       0x9aa                                                                                           
0009a6   0e00     MOVLW     0x0                                                                                             
0009a8   d08a     BRA       0xabe                                                                                           
                                                                                                                            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
0009aa   0e06     MOVLW     0x6                 cp.type = ((RXB0SIDH&0xC)>>6);                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0009ac   6e00     MOVWF     0x0,0x0                                                                                         
0009ae   0e0c     MOVLW     0xc                                                                                             
0009b0   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009b2   c000     MOVFF     0x0,0xfe7                                                                                       
0009b4   ffe7                                                                                                               
0009b6   52e7     MOVF      0xe7,0x1,0x0                                                                                    
0009b8   e004     BZ        0x9c2                                                                                           
0009ba   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
0009bc   0b7f     ANDLW     0x7f                                                                                            
0009be   06e7     DECF      0xe7,0x1,0x0                                                                                    
0009c0   e1fc     BNZ       0x9ba                                                                                           
0009c2   0100     MOVLB     0x0                                                                                             
0009c4   6f60     MOVWF     0x60,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009c6   5160     MOVF      0x60,0x0,0x1        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0009c8   e11b     BNZ       0xa00                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0009ca   0e38     MOVLW     0x38                    cp.boot.type  = ((RXB0SIDH&0x38)>>3);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0009cc   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009ce   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009d0   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009d2   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009d4   0b1f     ANDLW     0x1f                                                                                            
0009d6   6f64     MOVWF     0x64,0x1                                                                                        
0009d8   0e03     MOVLW     0x3                     cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3);      F:\MCP\projects\CAN\canBoot\Source\Main.c
0009da   1462     ANDWF     0x62,0x0,0x0                                                                                    
0009dc   6e01     MOVWF     0x1,0x0                                                                                         
0009de   0ee0     MOVLW     0xe0                                                                                            
0009e0   1462     ANDWF     0x62,0x0,0x0                                                                                    
0009e2   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009e4   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009e6   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009e8   0b1f     ANDLW     0x1f                                                                                            
0009ea   6e00     MOVWF     0x0,0x0                                                                                         
0009ec   0e07     MOVLW     0x7                                                                                             
0009ee   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009f0   0d20     MULLW     0x20                                                                                            
0009f2   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0009f4   2400     ADDWF     0x0,0x0,0x0                                                                                     
0009f6   2401     ADDWF     0x1,0x0,0x0                                                                                     
0009f8   6f65     MOVWF     0x65,0x1                                                                                        
0009fa   cf63     MOVFF     0xf63,0x66              cp.boot.rid   = RXB0EIDH;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
0009fc   f066                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0009fe   d030     BRA       0xa60               else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000a00   0e3c     MOVLW     0x3c                    cp.pgm.class= ((RXB0SIDH&0x3C)>>2);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a02   1461     ANDWF     0x61,0x0,0x0                                                                                    
000a04   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000a06   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000a08   0b3f     ANDLW     0x3f                                                                                            
000a0a   6f61     MOVWF     0x61,0x1                                                                                        
000a0c   0e03     MOVLW     0x3                     cp.pgm.id   = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+((RXB0SIDL&0x3)<<8)+RXB0EIDH; F:\MCP\projects\CAN\canBoot\Source\Main.c
000a0e   1461     ANDWF     0x61,0x0,0x0                                                                                    
000a10   6e04     MOVWF     0x4,0x0                                                                                         
000a12   6a05     CLRF      0x5,0x0                                                                                         
000a14   3804     SWAPF     0x4,0x0,0x0                                                                                     
000a16   6a04     CLRF      0x4,0x0                                                                                         
000a18   34e8     RLCF      0xe8,0x0,0x0                                                                                    
000a1a   0be0     ANDLW     0xe0                                                                                            
000a1c   6e05     MOVWF     0x5,0x0                                                                                         
000a1e   0ee0     MOVLW     0xe0                                                                                            
000a20   1462     ANDWF     0x62,0x0,0x0                                                                                    
000a22   6e06     MOVWF     0x6,0x0                                                                                         
000a24   6a07     CLRF      0x7,0x0                                                                                         
000a26   0e05     MOVLW     0x5                                                                                             
000a28   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a2a   3606     RLCF      0x6,0x1,0x0                                                                                     
000a2c   3607     RLCF      0x7,0x1,0x0                                                                                     
000a2e   04e8     DECF      0xe8,0x0,0x0                                                                                    
000a30   e1fb     BNZ       0xa28                                                                                           
000a32   5004     MOVF      0x4,0x0,0x0                                                                                     
000a34   2406     ADDWF     0x6,0x0,0x0                                                                                     
000a36   6e02     MOVWF     0x2,0x0                                                                                         
000a38   5005     MOVF      0x5,0x0,0x0                                                                                     
000a3a   2007     ADDWFC    0x7,0x0,0x0                                                                                     
000a3c   6e03     MOVWF     0x3,0x0                                                                                         
000a3e   0e03     MOVLW     0x3                                                                                             
000a40   1462     ANDWF     0x62,0x0,0x0                                                                                    
000a42   0e00     MOVLW     0x0                                                                                             
000a44   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000a46   0100     MOVLB     0x0                                                                                             
000a48   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a4a   6e00     MOVWF     0x0,0x0                                                                                         
000a4c   0e00     MOVLW     0x0                                                                                             
000a4e   2003     ADDWFC    0x3,0x0,0x0                                                                                     
000a50   6e01     MOVWF     0x1,0x0                                                                                         
000a52   5063     MOVF      0x63,0x0,0x0                                                                                    
000a54   0100     MOVLB     0x0                                                                                             
000a56   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a58   6f62     MOVWF     0x62,0x1                                                                                        
000a5a   0e00     MOVLW     0x0                                                                                             
000a5c   2001     ADDWFC    0x1,0x0,0x0                                                                                     
000a5e   6f63     MOVWF     0x63,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000a60   cf64     MOVFF     0xf64,0x67          cp.sid   = RXB0EIDL;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a62   f067                                                                                                               
                                                                                                                            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
000a64   5065     MOVF      0x65,0x0,0x0        cp.length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBoot\Source\Main.c
000a66   0b01     ANDLW     0x1                                                                                             
000a68   6e02     MOVWF     0x2,0x0                                                                                         
000a6a   5065     MOVF      0x65,0x0,0x0                                                                                    
000a6c   0b02     ANDLW     0x2                                                                                             
000a6e   e001     BZ        0xa72                                                                                           
000a70   0e01     MOVLW     0x1                                                                                             
000a72   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000a74   6e01     MOVWF     0x1,0x0                                                                                         
000a76   5065     MOVF      0x65,0x0,0x0                                                                                    
000a78   0b04     ANDLW     0x4                                                                                             
000a7a   e001     BZ        0xa7e                                                                                           
000a7c   0e01     MOVLW     0x1                                                                                             
000a7e   0d04     MULLW     0x4                                                                                             
000a80   cff3     MOVFF     0xff3,0x0                                                                                       
000a82   f000                                                                                                               
000a84   5065     MOVF      0x65,0x0,0x0                                                                                    
000a86   0b08     ANDLW     0x8                                                                                             
000a88   e001     BZ        0xa8c                                                                                           
000a8a   0e01     MOVLW     0x1                                                                                             
000a8c   0d08     MULLW     0x8                                                                                             
000a8e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000a90   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a92   2401     ADDWF     0x1,0x0,0x0                                                                                     
000a94   2402     ADDWF     0x2,0x0,0x0                                                                                     
000a96   6f68     MOVWF     0x68,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000a98   cf66     MOVFF     0xf66,0x69          cp.data[0]=RXB0D0;  cp.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000a9a   f069                                                                                                               
000a9c   cf67     MOVFF     0xf67,0x6a                                                                                      
000a9e   f06a                                                                                                               
000aa0   cf68     MOVFF     0xf68,0x6b          cp.data[2]=RXB0D2;  cp.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000aa2   f06b                                                                                                               
000aa4   cf69     MOVFF     0xf69,0x6c                                                                                      
000aa6   f06c                                                                                                               
000aa8   cf6a     MOVFF     0xf6a,0x6d          cp.data[4]=RXB0D4;  cp.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000aaa   f06d                                                                                                               
000aac   cf6b     MOVFF     0xf6b,0x6e                                                                                      
000aae   f06e                                                                                                               
000ab0   cf6c     MOVFF     0xf6c,0x6f          cp.data[6]=RXB0D6;  cp.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ab2   f06f                                                                                                               
000ab4   cf6d     MOVFF     0xf6d,0x70                                                                                      
000ab6   f070                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000ab8   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000aba   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000abc   d000     BRA       0xabe                                                                                           
000abe   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
000ac0   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PACKET cp)                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac2   ffe6                                                                                                               
000ac4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000ac6   ffd9                                                                                                               
000ac8   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000aca   0e03     MOVLW     0x3             BYTE prio = 3;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000acc   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000ace   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000ad0   b740     BTFSC     0x40,0x3,0x1                                                                                    
000ad2   d004     BRA       0xadc                                                                                           
000ad4   0e00     MOVLW     0x0                                                                                             
000ad6   1477     ANDWF     0x77,0x0,0x0                                                                                    
000ad8   0903     IORLW     0x3                                                                                             
000ada   6e77     MOVWF     0x77,0x0                                                                                        
000adc   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000ade   b730     BTFSC     0x30,0x3,0x1                                                                                    
000ae0   d004     BRA       0xaea                                                                                           
000ae2   0e00     MOVLW     0x0                                                                                             
000ae4   1477     ANDWF     0x77,0x0,0x0                                                                                    
000ae6   0904     IORLW     0x4                                                                                             
000ae8   6e77     MOVWF     0x77,0x0                                                                                        
000aea   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000aec   b720     BTFSC     0x20,0x3,0x1                                                                                    
000aee   d005     BRA       0xafa                                                                                           
000af0   0e00     MOVLW     0x0                                                                                             
000af2   1477     ANDWF     0x77,0x0,0x0                                                                                    
000af4   0905     IORLW     0x5                                                                                             
000af6   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000af8   d002     BRA       0xafe           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000afa   0e00     MOVLW     0x0                                                                                             
000afc   d0a4     BRA       0xc46                                                                                           
                                                                                                                            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
000afe   0eee     MOVLW     0xee                if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000b00   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b02   e124     BNZ       0xb4c                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b04   0ef3     MOVLW     0xf3                    RXB0SIDH = ((cp.type&0x3)<<6)+((cp.boot.type&0x7)<<3)+((cp.boot.offset&0xE0)>>5); F:\MCP\projects\CAN\canBoot\Source\Main.c
000b06   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b08   0be0     ANDLW     0xe0                                                                                            
000b0a   0be0     ANDLW     0xe0                                                                                            
000b0c   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000b0e   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000b10   6e01     MOVWF     0x1,0x0                                                                                         
000b12   0ef2     MOVLW     0xf2                                                                                            
000b14   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b16   0b07     ANDLW     0x7                                                                                             
000b18   0d08     MULLW     0x8                                                                                             
000b1a   cff3     MOVFF     0xff3,0x0                                                                                       
000b1c   f000                                                                                                               
000b1e   0eee     MOVLW     0xee                                                                                            
000b20   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b22   0b03     ANDLW     0x3                                                                                             
000b24   0d40     MULLW     0x40                                                                                            
000b26   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b28   2400     ADDWF     0x0,0x0,0x0                                                                                     
000b2a   2401     ADDWF     0x1,0x0,0x0                                                                                     
000b2c   6e61     MOVWF     0x61,0x0                                                                                        
000b2e   0ef3     MOVLW     0xf3                    RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3);                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000b30   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b32   0b03     ANDLW     0x3                                                                                             
000b34   6e00     MOVWF     0x0,0x0                                                                                         
000b36   0ef3     MOVLW     0xf3                                                                                            
000b38   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b3a   0b1c     ANDLW     0x1c                                                                                            
000b3c   0d08     MULLW     0x8                                                                                             
000b3e   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b40   2400     ADDWF     0x0,0x0,0x0                                                                                     
000b42   6e62     MOVWF     0x62,0x0                                                                                        
000b44   0ef4     MOVLW     0xf4                    RXB0EIDH = cp.boot.rid;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000b46   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b48   6e63     MOVWF     0x63,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b4a   d04f     BRA       0xbea               else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b4c   0eef     MOVLW     0xef                    RXB0SIDH = ((cp.type&0x3)<<6)+((cp.pgm.class&0xF)<<2)+((cp.pgm.id&0x6000)>>13); F:\MCP\projects\CAN\canBoot\Source\Main.c
000b4e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b50   0b0f     ANDLW     0xf                                                                                             
000b52   0d04     MULLW     0x4                                                                                             
000b54   cff3     MOVFF     0xff3,0x2                                                                                       
000b56   f002                                                                                                               
000b58   0eee     MOVLW     0xee                                                                                            
000b5a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b5c   0b03     ANDLW     0x3                                                                                             
000b5e   0d40     MULLW     0x40                                                                                            
000b60   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b62   2402     ADDWF     0x2,0x0,0x0                                                                                     
000b64   6e00     MOVWF     0x0,0x0                                                                                         
000b66   6a01     CLRF      0x1,0x0                                                                                         
000b68   be00     BTFSC     0x0,0x7,0x0                                                                                     
000b6a   6801     SETF      0x1,0x0                                                                                         
000b6c   0ef0     MOVLW     0xf0                                                                                            
000b6e   cfdb     MOVFF     0xfdb,0x3                                                                                       
000b70   f003                                                                                                               
000b72   0ef1     MOVLW     0xf1                                                                                            
000b74   cfdb     MOVFF     0xfdb,0x4                                                                                       
000b76   f004                                                                                                               
000b78   0e00     MOVLW     0x0                                                                                             
000b7a   1603     ANDWF     0x3,0x1,0x0                                                                                     
000b7c   0e60     MOVLW     0x60                                                                                            
000b7e   1604     ANDWF     0x4,0x1,0x0                                                                                     
000b80   3804     SWAPF     0x4,0x0,0x0                                                                                     
000b82   6a04     CLRF      0x4,0x0                                                                                         
000b84   30e8     RRCF      0xe8,0x0,0x0                                                                                    
000b86   0b07     ANDLW     0x7                                                                                             
000b88   6e03     MOVWF     0x3,0x0                                                                                         
000b8a   5000     MOVF      0x0,0x0,0x0                                                                                     
000b8c   2403     ADDWF     0x3,0x0,0x0                                                                                     
000b8e   6e61     MOVWF     0x61,0x0                                                                                        
000b90   0ef0     MOVLW     0xf0                    RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8);                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000b92   cfdb     MOVFF     0xfdb,0x0                                                                                       
000b94   f000                                                                                                               
000b96   0ef1     MOVLW     0xf1                                                                                            
000b98   cfdb     MOVFF     0xfdb,0x1                                                                                       
000b9a   f001                                                                                                               
000b9c   0e00     MOVLW     0x0                                                                                             
000b9e   1600     ANDWF     0x0,0x1,0x0                                                                                     
000ba0   0e1c     MOVLW     0x1c                                                                                            
000ba2   1601     ANDWF     0x1,0x1,0x0                                                                                     
000ba4   0e05     MOVLW     0x5                                                                                             
000ba6   90d8     BCF       0xd8,0x0,0x0                                                                                    
000ba8   3201     RRCF      0x1,0x1,0x0                                                                                     
000baa   3200     RRCF      0x0,0x1,0x0                                                                                     
000bac   04e8     DECF      0xe8,0x0,0x0                                                                                    
000bae   e1fb     BNZ       0xba6                                                                                           
000bb0   0ef0     MOVLW     0xf0                                                                                            
000bb2   cfdb     MOVFF     0xfdb,0x2                                                                                       
000bb4   f002                                                                                                               
000bb6   0ef1     MOVLW     0xf1                                                                                            
000bb8   cfdb     MOVFF     0xfdb,0x3                                                                                       
000bba   f003                                                                                                               
000bbc   0e00     MOVLW     0x0                                                                                             
000bbe   1602     ANDWF     0x2,0x1,0x0                                                                                     
000bc0   0e03     MOVLW     0x3                                                                                             
000bc2   1603     ANDWF     0x3,0x1,0x0                                                                                     
000bc4   c003     MOVFF     0x3,0x2                                                                                         
000bc6   f002                                                                                                               
000bc8   6a03     CLRF      0x3,0x0                                                                                         
000bca   5000     MOVF      0x0,0x0,0x0                                                                                     
000bcc   2402     ADDWF     0x2,0x0,0x0                                                                                     
000bce   6e62     MOVWF     0x62,0x0                                                                                        
000bd0   0eff     MOVLW     0xff                    RXB0EIDH = (cp.pgm.id&0xFF);                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000bd2   6ee7     MOVWF     0xe7,0x0                                                                                        
000bd4   0ef0     MOVLW     0xf0                                                                                            
000bd6   cfdb     MOVFF     0xfdb,0x0                                                                                       
000bd8   f000                                                                                                               
000bda   0ef1     MOVLW     0xf1                                                                                            
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   6e63     MOVWF     0x63,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000bea   c0c1     MOVFF     0xc1,0xf64          RXB0EIDL = MY_ID;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000bec   ff64                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000bee   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000bf0   0ef6     MOVLW     0xf6                if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length;                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000bf2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000bf4   0808     SUBLW     0x8                                                                                             
000bf6   e203     BC        0xbfe                                                                                           
000bf8   0e08     MOVLW     0x8                                                                                             
000bfa   6e65     MOVWF     0x65,0x0                                                                                        
000bfc   d003     BRA       0xc04                                                                                           
000bfe   0ef6     MOVLW     0xf6                                                                                            
000c00   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c02   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
000c04   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
000c06   0ef7     MOVLW     0xf7                RXB0D0=cp.data[0];  RXB0D1=cp.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c08   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c0a   6e66     MOVWF     0x66,0x0                                                                                        
000c0c   0ef8     MOVLW     0xf8                                                                                            
000c0e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c10   6e67     MOVWF     0x67,0x0                                                                                        
000c12   0ef9     MOVLW     0xf9                RXB0D2=cp.data[2];  RXB0D3=cp.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c14   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c16   6e68     MOVWF     0x68,0x0                                                                                        
000c18   0efa     MOVLW     0xfa                                                                                            
000c1a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c1c   6e69     MOVWF     0x69,0x0                                                                                        
000c1e   0efb     MOVLW     0xfb                RXB0D4=cp.data[4];  RXB0D5=cp.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c20   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c22   6e6a     MOVWF     0x6a,0x0                                                                                        
000c24   0efc     MOVLW     0xfc                                                                                            
000c26   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c28   6e6b     MOVWF     0x6b,0x0                                                                                        
000c2a   0efd     MOVLW     0xfd                RXB0D6=cp.data[6];  RXB0D7=cp.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c2c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c2e   6e6c     MOVWF     0x6c,0x0                                                                                        
000c30   0efe     MOVLW     0xfe                                                                                            
000c32   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c34   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c36   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
000c38   0efc     MOVLW     0xfc                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000c3a   1460     ANDWF     0x60,0x0,0x0                                                                                    
000c3c   10df     IORWF     0xdf,0x0,0x0                                                                                    
000c3e   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
000c40   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
000c42   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000c44   d000     BRA       0xc46                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000c46   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000c48   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000c4a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c4c   ffd9                                                                                                               
000c4e   0012     RETURN    0x0                                                                                             
                                                                                                                            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
000c50   0008     TBLRD                     TBLRD                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c52   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
000c54   000c     TBLWT                     TBLWT                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c56   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
000c58   000d     TBLWTPOSTINC              TBLWTPOSTINC                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c5a   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
000c5c   c0b9     MOVFF     0xb9,0x10       return tickCounter;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000c5e   f010                                                                                                               
000c60   c0ba     MOVFF     0xba,0x11                                                                                       
000c62   f011                                                                                                               
000c64   c0bb     MOVFF     0xbb,0x12                                                                                       
000c66   f012                                                                                                               
000c68   c0bc     MOVFF     0xbc,0x13                                                                                       
000c6a   f013                                                                                                               
000c6c   d000     BRA       0xc6e                                                                                           
000c6e   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
000e18   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
000e1a   ffe6                                                                                                               
000e1c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000e1e   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e20   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000e22   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e24   f000                                                                                                               
000e26   0efe     MOVLW     0xfe                                                                                            
000e28   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e2a   f001                                                                                                               
000e2c   c001     MOVFF     0x1,0x0                                                                                         
000e2e   f000                                                                                                               
000e30   6a01     CLRF      0x1,0x0                                                                                         
000e32   5000     MOVF      0x0,0x0,0x0                                                                                     
000e34   6eaa     MOVWF     0xaa,0x0                                                                                        
000e36   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000e38   6ee7     MOVWF     0xe7,0x0                                                                                        
000e3a   0efd     MOVLW     0xfd                                                                                            
000e3c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e3e   f000                                                                                                               
000e40   0efe     MOVLW     0xfe                                                                                            
000e42   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e44   f001                                                                                                               
000e46   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000e48   1600     ANDWF     0x0,0x1,0x0                                                                                     
000e4a   6a01     CLRF      0x1,0x0                                                                                         
000e4c   5000     MOVF      0x0,0x0,0x0                                                                                     
000e4e   6ea9     MOVWF     0xa9,0x0                                                                                        
000e50   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000e52   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000e54   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e56   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
000e58   d000     BRA       0xe5a                                                                                           
000e5a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e5c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000e5e   ffd9                                                                                                               
000e60   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
000e62   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e64   ffe6                                                                                                               
000e66   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000e68   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e6a   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e6c   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000e6e   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e70   f000                                                                                                               
000e72   0efe     MOVLW     0xfe                                                                                            
000e74   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e76   f001                                                                                                               
000e78   c001     MOVFF     0x1,0x0                                                                                         
000e7a   f000                                                                                                               
000e7c   6a01     CLRF      0x1,0x0                                                                                         
000e7e   5000     MOVF      0x0,0x0,0x0                                                                                     
000e80   6eaa     MOVWF     0xaa,0x0                                                                                        
000e82   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000e84   6ee7     MOVWF     0xe7,0x0                                                                                        
000e86   0efd     MOVLW     0xfd                                                                                            
000e88   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e8a   f000                                                                                                               
000e8c   0efe     MOVLW     0xfe                                                                                            
000e8e   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e90   f001                                                                                                               
000e92   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000e94   1600     ANDWF     0x0,0x1,0x0                                                                                     
000e96   6a01     CLRF      0x1,0x0                                                                                         
000e98   5000     MOVF      0x0,0x0,0x0                                                                                     
000e9a   6ea9     MOVWF     0xa9,0x0                                                                                        
000e9c   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000e9e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ea0   6ea8     MOVWF     0xa8,0x0                                                                                        
000ea2   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000ea4   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000ea6   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000ea8   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000eaa   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000eac   6ea7     MOVWF     0xa7,0x0                                                                                        
000eae   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000eb0   6ea7     MOVWF     0xa7,0x0                                                                                        
000eb2   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000eb4   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000eb6   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
000eb8   d7fe     BRA       0xeb6                                                                                           
000eba   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000ebc   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000ebe   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000ec0   ffd9                                                                                                               
000ec2   0012     RETURN    0x0                                                                                             
                                           /* $Id: statrst.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                     E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           *       Function Name:  StatusReset                                 *            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           *       Description:    This routine resets the POR and BOR bits.   *            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           void StatusReset(void)                                                           E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
001076   82d0     BSF       0xd0,0x1,0x0           RCONbits.NOT_POR = 1;                   // Reset POR bit                 E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                                   // If BOR enabled                                                        E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
001078   80d0     BSF       0xd0,0x0,0x0           RCONbits.NOT_BOR = 1;                   // Reset BOR bit                 E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
00107a   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\statrst.c
                                           /* $Id: isbor.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                       E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           // Only if Brown-out Reset is enabled                                            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           *       Function Name:  isBOR                                       *            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           *       Description:    This routine checks to see if a BOR occurred*            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           char isBOR(void)                                                                 E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001050   b0d0     BTFSC     0xd0,0x0,0x0           if(!RCONbits.NOT_BOR)           // If BOR is clear                       E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001052   d006     BRA       0x1060                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001054   b2d0     BTFSC     0xd0,0x1,0x0                   if(!RCONbits.NOT_POR)   // And POR is clear                      E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001056   d002     BRA       0x105c                                                                                          
001058   0e00     MOVLW     0x0                                    return 0x00;    // Return FALSE                          E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00105a   d004     BRA       0x1064                                                                                          
00105c   0e01     MOVLW     0x1                            return 1;               // Else return TRUE                      E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00105e   d002     BRA       0x1064                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001060   0e00     MOVLW     0x0                    return 0x00;                    // Else return FALSE                     E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001062   d000     BRA       0x1064                                                                                          
001064   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
                                           /* $Id: islvd.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                       E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *       Function Name:  isLVD                                       *            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *       Description:    This routine determines if a low voltage    *            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *                       condition occurred.                         *            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           *********************************************************************/           E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           char isLVD()                                                                     E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001066   a4a1     BTFSS     0xa1,0x2,0x0      if(PIR2bits.LVDIF)                                                            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001068   d003     BRA       0x1070                                                                                          
00106a   0e01     MOVLW     0x1                  return 1;                                                                  E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
00106c   d003     BRA       0x1074                                                                                          
00106e   d002     BRA       0x1074            else                                                                          E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001070   0e00     MOVLW     0x0                  return 0;                                                                  E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001072   d000     BRA       0x1074                                                                                          
001074   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
                                           /* $Id: ismclr.c,v 1.2 2005/06/28 19:04:36 nairnj Exp $ */                       E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(__18C242)  || defined(__18C252)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18C442)  || defined(__18C452)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18C658)  || defined(__18C858)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F1220) || defined(__18F1320) || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F242)  || defined(__18F2439) || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F2455) || defined(__18F248)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F252)  || defined(__18F2539) || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F2550) || defined(__18F258)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F442)  || defined(__18F4439) || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F4455) || defined(__18F448)  || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F452)  || defined(__18F4539) || \                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                               defined(__18F4550) || defined(__18F458)                                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #define STKOVF STKFUL                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           *       Function Name:  isMCLR                                      *            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           *       Description:    This routine checks to see if a MCLR induced*            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           *                       reset occurred.                             *            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           char isMCLR(void)                                                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f62   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // If POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f64   d01a     BRA       0xf9a                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f66   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)             // If NOT_PD is set              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f68   d016     BRA       0xf96                                                                                           
                                                           {                                                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                           // If BOR is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f6a   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // If BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f6c   d012     BRA       0xf92                                                                                           
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   // If BOR and WDT are enabled                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f6e   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO is cleared      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f70   d002     BRA       0xf76                                                                                           
000f72   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f74   d014     BRA       0xf9e                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f76   b8d0     BTFSC     0xd0,0x4,0x0                                   if(!RCONbits.NOT_RI)    // If RI is cleared      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f78   d002     BRA       0xf7e                                                                                           
000f7a   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f7c   d010     BRA       0xf9e                                                                                           
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(STVR_ENABLED)                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f7e   aefc     BTFSS     0xfc,0x7,0x0                                   if(STKPTRbits.STKOVF)    // If STKOVF is set     E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f80   d002     BRA       0xf86                                                                                           
000f82   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f84   d00c     BRA       0xf9e                                                                                           
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f86   acfc     BTFSS     0xfc,0x6,0x0                                   if(STKPTRbits.STKUNF)    // If STKUNF is set     E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f88   d002     BRA       0xf8e                                                                                           
000f8a   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f8c   d008     BRA       0xf9e                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f8e   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f90   d006     BRA       0xf9e                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f92   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f94   d004     BRA       0xf9e                                                                                           
                                                   // BOR is disabled                                                       E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                   // If WDT is enabled                                                     E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(!RCONbits.NOT_TO)    // If TO is cleared              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;    // Return FALSE                  E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(!RCONbits.NOT_RI)    // If RI is cleared              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(STVR_ENABLED)                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(STKPTRbits.STKOVF)    // If STKOVF is set             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(STKPTRbits.STKUNF)    // If STKUNF is set             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                    return 1;               // Else return TRUE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                   // BOR and WDT are disabled                                              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(!RCONbits.NOT_RI)    // If RI is cleared              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(STVR_ENABLED)                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(STKPTRbits.STKOVF)    // If STKOVF is set             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   if(STKPTRbits.STKUNF)    // If STKUNF is set             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                           return 0x00;// Return FALSE                      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                           }                                                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f96   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f98   d002     BRA       0xf9e                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f9a   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f9c   d000     BRA       0xf9e                                                                                           
000f9e   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           /* $Id: ispor.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                       E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           *       Function Name:  isPOR                                       *            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           *       Description:    This routine checks to see if a POR occurred*            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           char isPOR(void)                                                                 E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001012   b2d0     BTFSC     0xd0,0x1,0x0           if(!RCONbits.NOT_POR)           // If POR cleared                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001014   d00e     BRA       0x1032                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001016   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)     // If PD set                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001018   d00a     BRA       0x102e                                                                                          
                                                           {                                                                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                           // If BOR is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00101a   b0d0     BTFSC     0xd0,0x0,0x0                           if(!RCONbits.NOT_BOR)   // If BOR cleared                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00101c   d006     BRA       0x102a                                                                                          
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                   // if BOR and WDT are enabled                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00101e   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO cleared         E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001020   d002     BRA       0x1026                                                                                          
001022   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001024   d008     BRA       0x1036                                                                                          
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001026   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001028   d006     BRA       0x1036                                                                                          
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00102a   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00102c   d004     BRA       0x1036                                                                                          
                                                           // BOR is disabled                                               E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                           // If WDT is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                   if(!RCONbits.NOT_TO)    // If TO cleared                 E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                           return 0x00;    // Return FALSE                  E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                           // Otherwise BOR and WDT are disabled                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                           }                                                                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00102e   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001030   d002     BRA       0x1036                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001032   0e00     MOVLW     0x0                    return 0x00;                                                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001034   d000     BRA       0x1036                                                                                          
001036   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
                                           /* $Id: iswdtto.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           *       Function Name:  isWDTTO                                     *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           *       Description:    This routine checks to see if a WDT timeout *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           *                       has occurred during normal operation.       *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           // If WDT is enabled                                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           char isWDTTO(void)                                                               E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000fec   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                            // if POR is set         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000fee   d00e     BRA       0x100c                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ff0   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)                     // if NOT_PD is set      E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ff2   d00a     BRA       0x1008                                                                                          
                                                           {                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                           // If BOR is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ff4   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)            // if BOR is set         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ff6   d006     BRA       0x1004                                                                                          
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ff8   a6d0     BTFSS     0xd0,0x3,0x0                                   if(RCONbits.NOT_TO)     // if TO is set          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ffa   d002     BRA       0x1000                                                                                          
000ffc   0e00     MOVLW     0x0                                                    return 0x00;    // Return FALSE          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
000ffe   d008     BRA       0x1010                                                                                          
001000   0e01     MOVLW     0x1                                            return 1;               // Else return TRUE      E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001002   d006     BRA       0x1010                                                                                          
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001004   0e00     MOVLW     0x0                                    return 0x00;                    // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001006   d004     BRA       0x1010                                                                                          
                                                           // BOR is disabled                                               E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                   if(RCONbits.NOT_TO)             // if TO is set          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                           return 0x00;            // Return FALSE          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                                   return 1;                       // Else return TRUE      E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                                           }                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001008   0e00     MOVLW     0x0                            return 0x00;                            // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100a   d002     BRA       0x1010                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100c   0e00     MOVLW     0x0                    return 0x00;                                    // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100e   d000     BRA       0x1010                                                                                          
001010   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
                                           /* $Id: iswdtwu.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                     E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           *       Function Name:  isWDTWU                                     *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           *       Description:    This routine checks to see if a WDT wakeup  *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           *                       from sleep has occurred.                    *            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           // If WDT is enabled                                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           char isWDTWU(void)                                                               E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fc6   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // if POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fc8   d00e     BRA       0xfe6                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fca   b4d0     BTFSC     0xd0,0x2,0x0                   if(!RCONbits.NOT_PD)            // if NOT_PD is cleared          E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fcc   d00a     BRA       0xfe2                                                                                           
                                                           {                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                           // If BOR is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fce   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // if BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fd0   d006     BRA       0xfde                                                                                           
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fd2   a6d0     BTFSS     0xd0,0x3,0x0                                   if(RCONbits.NOT_TO)     // if TO is set          E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fd4   d002     BRA       0xfda                                                                                           
000fd6   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fd8   d008     BRA       0xfea                                                                                           
000fda   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fdc   d006     BRA       0xfea                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fde   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe0   d004     BRA       0xfea                                                                                           
                                                   // BOR is disabled                                                       E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                   if(RCONbits.NOT_TO)     // If NOT_TO is set              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                           return 0x00;    // Return FALSE                  E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                           }                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe2   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe4   d002     BRA       0xfea                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe6   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe8   d000     BRA       0xfea                                                                                           
000fea   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
                                           /* $Id: iswu.c,v 1.1 2003/12/09 22:52:09 GrosbaJ Exp $ */                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #include <p18cxxx.h>                                                             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #include <reset.h>                                                               E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           /********************************************************************            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           *       Function Name:  isWU                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           *       Return Value:   char                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           *       Parameters:     void                                        *            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           *       Description:    This routine checks to see if a wakeup from *            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           *                       sleep has occurred.                         *            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           ********************************************************************/            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           char isWU(void)                                                                  E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           {                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fa0   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // If POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fa2   d00e     BRA       0xfc0                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fa4   b4d0     BTFSC     0xd0,0x2,0x0                   if(!RCONbits.NOT_PD)            // If PD is cleared              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fa6   d00a     BRA       0xfbc                                                                                           
                                                           {                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                           // If BOR is enabled                                             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #if defined(BOR_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fa8   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // If BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000faa   d006     BRA       0xfb8                                                                                           
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                   // If WDT is enabled                                     E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fac   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO is cleared      E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fae   d002     BRA       0xfb4                                                                                           
000fb0   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb2   d008     BRA       0xfc4                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb4   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb6   d006     BRA       0xfc4                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb8   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fba   d004     BRA       0xfc4                                                                                           
                                                   // BOR is disabled                                                       E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                   // If WDT is enabled                                                     E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #if defined(WDT_ENABLED)                                                         E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                   if(!RCONbits.NOT_TO)    // If TO is cleared              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                           return 0x00;    // Return FALSE                  E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #else                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                   return 1;               // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                           }                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fbc   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fbe   d002     BRA       0xfc4                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fc0   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fc2   d000     BRA       0xfc4                                                                                           
000fc4   0012     RETURN    0x0            }                                                                                E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           #include <crc16.h>                                                               F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // ***************************************************************************** F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Update the CRC for transmitted and received data using                        F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // the CCITT 16bit algorithm (X^16 + X^12 + X^5 + X^0)                           F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           //                                                                               F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Adapted by R Andrag from an                                                   F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // asm routine by John C. Wren (google to find the original code)                F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // roland.andrag at gmail.com                                                    F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           //                                                                               F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // To check your crc implementation use:                                         F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // http://www.zorc.breitbandkatze.de/crc.html                                    F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Web calculator by Sven Reifegerste                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // CRC order = 16                                                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // CRC polynomial = 1021 hex                                                     F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Initial value = FFFF hex                                                      F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // direct CRC                                                                    F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Final XOR value = 0                                                           F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // Don't reverse data bytes or CRC result                                        F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // calculator allows you to enter hex bytes by prefixing %                       F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // append 00 00 to your mesage when you calulate the crc                         F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // i.e. crc should work out to zero on: message:00:00:crc_h:crc_l                F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // e.g. %01%02%00%00 gives a crc of 9c14                                         F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           //      %01%02%00%00%9c%14 gives a crc of 0000                                   F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // %01%02%9c%14 gives a crc of 9327 hex                                          F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                           // ***************************************************************************** F:\MCP\projects\CAN\canBoot\Source\crc16.c
000c70   cfd9     MOVFF     0xfd9,0xfe6    void update_crc(uint16 *p_crc, uint8 data) {                                     F:\MCP\projects\CAN\canBoot\Source\crc16.c
000c72   ffe6                                                                                                               
000c74   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c76   ffd9                                                                                                               
000c78   0efd     MOVLW     0xfd               *p_crc  = (*p_crc >> 8) | (*p_crc << 8);                                     F:\MCP\projects\CAN\canBoot\Source\crc16.c
000c7a   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000c7c   ffe9                                                                                                               
000c7e   0efe     MOVLW     0xfe                                                                                            
000c80   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000c82   ffea                                                                                                               
000c84   cfee     MOVFF     0xfee,0x2                                                                                       
000c86   f002                                                                                                               
000c88   cfef     MOVFF     0xfef,0x3                                                                                       
000c8a   f003                                                                                                               
000c8c   c003     MOVFF     0x3,0x2                                                                                         
000c8e   f002                                                                                                               
000c90   6a03     CLRF      0x3,0x0                                                                                         
000c92   0efd     MOVLW     0xfd                                                                                            
000c94   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000c96   ffe9                                                                                                               
000c98   0efe     MOVLW     0xfe                                                                                            
000c9a   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000c9c   ffea                                                                                                               
000c9e   cfee     MOVFF     0xfee,0x4                                                                                       
000ca0   f004                                                                                                               
000ca2   cfef     MOVFF     0xfef,0x5                                                                                       
000ca4   f005                                                                                                               
000ca6   c004     MOVFF     0x4,0x5                                                                                         
000ca8   f005                                                                                                               
000caa   6a04     CLRF      0x4,0x0                                                                                         
000cac   5002     MOVF      0x2,0x0,0x0                                                                                     
000cae   1004     IORWF     0x4,0x0,0x0                                                                                     
000cb0   6e00     MOVWF     0x0,0x0                                                                                         
000cb2   5003     MOVF      0x3,0x0,0x0                                                                                     
000cb4   1005     IORWF     0x5,0x0,0x0                                                                                     
000cb6   6e01     MOVWF     0x1,0x0                                                                                         
000cb8   0efd     MOVLW     0xfd                                                                                            
000cba   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000cbc   ffe9                                                                                                               
000cbe   0efe     MOVLW     0xfe                                                                                            
000cc0   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cc2   ffea                                                                                                               
000cc4   c000     MOVFF     0x0,0xfee                                                                                       
000cc6   ffee                                                                                                               
000cc8   c001     MOVFF     0x1,0xfed                                                                                       
000cca   ffed                                                                                                               
000ccc   0efc     MOVLW     0xfc               *p_crc ^= data;                                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000cce   50db     MOVF      0xdb,0x0,0x0                                                                                    
000cd0   6e00     MOVWF     0x0,0x0                                                                                         
000cd2   6a01     CLRF      0x1,0x0                                                                                         
000cd4   0efd     MOVLW     0xfd                                                                                            
000cd6   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000cd8   ffe9                                                                                                               
000cda   0efe     MOVLW     0xfe                                                                                            
000cdc   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cde   ffea                                                                                                               
000ce0   5000     MOVF      0x0,0x0,0x0                                                                                     
000ce2   1aee     XORWF     0xee,0x1,0x0                                                                                    
000ce4   5001     MOVF      0x1,0x0,0x0                                                                                     
000ce6   1aed     XORWF     0xed,0x1,0x0                                                                                    
000ce8   0efd     MOVLW     0xfd               *p_crc ^= (*p_crc & 0xff) >> 4;                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000cea   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000cec   ffe9                                                                                                               
000cee   0efe     MOVLW     0xfe                                                                                            
000cf0   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cf2   ffea                                                                                                               
000cf4   cfee     MOVFF     0xfee,0x0                                                                                       
000cf6   f000                                                                                                               
000cf8   cfef     MOVFF     0xfef,0x1                                                                                       
000cfa   f001                                                                                                               
000cfc   0eff     MOVLW     0xff                                                                                            
000cfe   1600     ANDWF     0x0,0x1,0x0                                                                                     
000d00   0e00     MOVLW     0x0                                                                                             
000d02   1601     ANDWF     0x1,0x1,0x0                                                                                     
000d04   0e04     MOVLW     0x4                                                                                             
000d06   90d8     BCF       0xd8,0x0,0x0                                                                                    
000d08   3201     RRCF      0x1,0x1,0x0                                                                                     
000d0a   3200     RRCF      0x0,0x1,0x0                                                                                     
000d0c   04e8     DECF      0xe8,0x0,0x0                                                                                    
000d0e   e1fb     BNZ       0xd06                                                                                           
000d10   0efd     MOVLW     0xfd                                                                                            
000d12   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d14   ffe9                                                                                                               
000d16   0efe     MOVLW     0xfe                                                                                            
000d18   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d1a   ffea                                                                                                               
000d1c   5000     MOVF      0x0,0x0,0x0                                                                                     
000d1e   1aee     XORWF     0xee,0x1,0x0                                                                                    
000d20   5001     MOVF      0x1,0x0,0x0                                                                                     
000d22   1aed     XORWF     0xed,0x1,0x0                                                                                    
000d24   0efd     MOVLW     0xfd               *p_crc ^= *p_crc << 12;                                                      F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d26   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d28   ffe9                                                                                                               
000d2a   0efe     MOVLW     0xfe                                                                                            
000d2c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d2e   ffea                                                                                                               
000d30   cfee     MOVFF     0xfee,0x0                                                                                       
000d32   f000                                                                                                               
000d34   cfef     MOVFF     0xfef,0x1                                                                                       
000d36   f001                                                                                                               
000d38   3800     SWAPF     0x0,0x0,0x0                                                                                     
000d3a   6a00     CLRF      0x0,0x0                                                                                         
000d3c   0bf0     ANDLW     0xf0                                                                                            
000d3e   6e01     MOVWF     0x1,0x0                                                                                         
000d40   0efd     MOVLW     0xfd                                                                                            
000d42   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d44   ffe9                                                                                                               
000d46   0efe     MOVLW     0xfe                                                                                            
000d48   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d4a   ffea                                                                                                               
000d4c   5000     MOVF      0x0,0x0,0x0                                                                                     
000d4e   1aee     XORWF     0xee,0x1,0x0                                                                                    
000d50   5001     MOVF      0x1,0x0,0x0                                                                                     
000d52   1aed     XORWF     0xed,0x1,0x0                                                                                    
000d54   0efd     MOVLW     0xfd               *p_crc ^= (*p_crc & 0xff) << 5;                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d56   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d58   ffe9                                                                                                               
000d5a   0efe     MOVLW     0xfe                                                                                            
000d5c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d5e   ffea                                                                                                               
000d60   cfee     MOVFF     0xfee,0x0                                                                                       
000d62   f000                                                                                                               
000d64   cfef     MOVFF     0xfef,0x1                                                                                       
000d66   f001                                                                                                               
000d68   0eff     MOVLW     0xff                                                                                            
000d6a   1600     ANDWF     0x0,0x1,0x0                                                                                     
000d6c   0e00     MOVLW     0x0                                                                                             
000d6e   1601     ANDWF     0x1,0x1,0x0                                                                                     
000d70   0e05     MOVLW     0x5                                                                                             
000d72   90d8     BCF       0xd8,0x0,0x0                                                                                    
000d74   3600     RLCF      0x0,0x1,0x0                                                                                     
000d76   3601     RLCF      0x1,0x1,0x0                                                                                     
000d78   04e8     DECF      0xe8,0x0,0x0                                                                                    
000d7a   e1fb     BNZ       0xd72                                                                                           
000d7c   0efd     MOVLW     0xfd                                                                                            
000d7e   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d80   ffe9                                                                                                               
000d82   0efe     MOVLW     0xfe                                                                                            
000d84   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d86   ffea                                                                                                               
000d88   5000     MOVF      0x0,0x0,0x0                                                                                     
000d8a   1aee     XORWF     0xee,0x1,0x0                                                                                    
000d8c   5001     MOVF      0x1,0x0,0x0                                                                                     
000d8e   1aed     XORWF     0xed,0x1,0x0                                                                                    
000d90   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d92   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000d94   ffd9                                                                                                               
000d96   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d98   cfd9     MOVFF     0xfd9,0xfe6    uint16 calc_crc(uint8 * p_data, uint16 n_bytes) {                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d9a   ffe6                                                                                                               
000d9c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000d9e   ffd9                                                                                                               
000da0   0e02     MOVLW     0x2                                                                                             
000da2   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
000da4   68de     SETF      0xde,0x0           uint16 crc = 0xFFFF;                                                         F:\MCP\projects\CAN\canBoot\Source\crc16.c
000da6   68dd     SETF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000da8   50d9     MOVF      0xd9,0x0,0x0       for (; n_bytes > 0; n_bytes--) {                                             F:\MCP\projects\CAN\canBoot\Source\crc16.c
000daa   0ffb     ADDLW     0xfb                                                                                            
000dac   6ee9     MOVWF     0xe9,0x0                                                                                        
000dae   0eff     MOVLW     0xff                                                                                            
000db0   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000db2   6eea     MOVWF     0xea,0x0                                                                                        
000db4   0e00     MOVLW     0x0                                                                                             
000db6   80d8     BSF       0xd8,0x0,0x0                                                                                    
000db8   54ee     SUBFWB    0xee,0x0,0x0                                                                                    
000dba   0e00     MOVLW     0x0                                                                                             
000dbc   54ed     SUBFWB    0xed,0x0,0x0                                                                                    
000dbe   e219     BC        0xdf2                                                                                           
000de6   0efb     MOVLW     0xfb                                                                                            
000de8   06db     DECF      0xdb,0x1,0x0                                                                                    
000dea   0efc     MOVLW     0xfc                                                                                            
000dec   e201     BC        0xdf0                                                                                           
000dee   06db     DECF      0xdb,0x1,0x0                                                                                    
000df0   d7db     BRA       0xda8                                                                                           
000dc0   0efd     MOVLW     0xfd                   update_crc(&crc, *(p_data++));                                           F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dc2   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000dc4   ffe9                                                                                                               
000dc6   2adb     INCF      0xdb,0x1,0x0                                                                                    
000dc8   0efe     MOVLW     0xfe                                                                                            
000dca   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000dcc   ffea                                                                                                               
000dce   e301     BNC       0xdd2                                                                                           
000dd0   2adb     INCF      0xdb,0x1,0x0                                                                                    
000dd2   50ef     MOVF      0xef,0x0,0x0                                                                                    
000dd4   6ee6     MOVWF     0xe6,0x0                                                                                        
000dd6   cfd9     MOVFF     0xfd9,0xfe6                                                                                     
000dd8   ffe6                                                                                                               
000dda   cfda     MOVFF     0xfda,0xfe6                                                                                     
000ddc   ffe6                                                                                                               
000dde   df48     RCALL     0xc70                                                                                           
000de0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000de2   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000de4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                               }                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000df2   cfde     MOVFF     0xfde,0x0          return crc;                                                                  F:\MCP\projects\CAN\canBoot\Source\crc16.c
000df4   f000                                                                                                               
000df6   cfdd     MOVFF     0xfdd,0x1                                                                                       
000df8   f001                                                                                                               
000dfa   c000     MOVFF     0x0,0xff3                                                                                       
000dfc   fff3                                                                                                               
000dfe   c001     MOVFF     0x1,0xff4                                                                                       
000e00   fff4                                                                                                               
000e02   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000e04   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000e06   e203     BC        0xe0e                                                                                           
000e08   d000     BRA       0xe0a                                                                                           
000e0a   6ae1     CLRF      0xe1,0x0                                                                                        
000e0c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000e0e   6ee1     MOVWF     0xe1,0x0                                                                                        
000e10   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000e12   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000e14   ffd9                                                                                                               
000e16   0012     RETURN    0x0