Subversion Repositories HomeAutomation

Rev

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

MP2COD 4.1, COFF to COD File Converter
Copyright (c) 2006 Microchip Technology Inc.
Listing File Generated: Mon Feb 26 21:28:44 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-02-25 20:51:08 +0100 (sö, 25 feb 2007) $ F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * By:               $LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            * Revision:     $Revision: 339 $                                                   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
                                           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   ecad     CALL      0x95a,0x0       mainInit();                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000046   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000048   ecb3     CALL      0x966,0x0       canInit();                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00004a   f004                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00004c   ec38     CALL      0xc70,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   ec16     CALL      0xe2c,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   ec16     CALL      0xe2c,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   0e03     MOVLW     0x3             outCp.length=3;                                                                 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   ecda     CALL      0xfb4,0x0       outCp.data[2] = (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   eced     CALL      0xfda,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   ec00     CALL      0x1000,0x0                                                                                      
000104   f008                                                                                                               
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   ec13     CALL      0x1026,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   ecbb     CALL      0xf76,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   ec3f     CALL      0x107e,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   ec34     CALL      0x1068,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   0e0b     MOVLW     0xb                                                                                             
000202   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
000204   ffdb                                                                                                               
000206   0e0a     MOVLW     0xa             outCp.data[1]=(BYTE)((BOOT_VERSION & 0xFF00)>>8);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000208   6adb     CLRF      0xdb,0x0                                                                                        
00020a   0e04     MOVLW     0x4             outCp.data[0]=(BOOT_VERSION & 0xFF);                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00020c   6ef3     MOVWF     0xf3,0x0                                                                                        
00020e   0e09     MOVLW     0x9                                                                                             
000210   cff3     MOVFF     0xff3,0xfdb                                                                                     
000212   ffdb                                                                                                               
000214   ec47     CALL      0x108e,0x0      StatusReset();                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000216   f008                                                                                                               
000218   cfd9     MOVFF     0xfd9,0xfe9     while(!canSendMessage(outCp));                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00021a   ffe9                                                                                                               
00021c   cfda     MOVFF     0xfda,0xfea                                                                                     
00021e   ffea                                                                                                               
000220   cfee     MOVFF     0xfee,0xfe6                                                                                     
000222   ffe6                                                                                                               
000224   cfee     MOVFF     0xfee,0xfe6                                                                                     
000226   ffe6                                                                                                               
000228   cfee     MOVFF     0xfee,0xfe6                                                                                     
00022a   ffe6                                                                                                               
00022c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00022e   ffe6                                                                                                               
000230   cfee     MOVFF     0xfee,0xfe6                                                                                     
000232   ffe6                                                                                                               
000234   cfee     MOVFF     0xfee,0xfe6                                                                                     
000236   ffe6                                                                                                               
000238   cfee     MOVFF     0xfee,0xfe6                                                                                     
00023a   ffe6                                                                                                               
00023c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00023e   ffe6                                                                                                               
000240   cfee     MOVFF     0xfee,0xfe6                                                                                     
000242   ffe6                                                                                                               
000244   cfee     MOVFF     0xfee,0xfe6                                                                                     
000246   ffe6                                                                                                               
000248   cfee     MOVFF     0xfee,0xfe6                                                                                     
00024a   ffe6                                                                                                               
00024c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00024e   ffe6                                                                                                               
000250   cfee     MOVFF     0xfee,0xfe6                                                                                     
000252   ffe6                                                                                                               
000254   cfee     MOVFF     0xfee,0xfe6                                                                                     
000256   ffe6                                                                                                               
000258   cfee     MOVFF     0xfee,0xfe6                                                                                     
00025a   ffe6                                                                                                               
00025c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00025e   ffe6                                                                                                               
000260   cfee     MOVFF     0xfee,0xfe6                                                                                     
000262   ffe6                                                                                                               
000264   ec6a     CALL      0xad4,0x0                                                                                       
000266   f005                                                                                                               
000268   6e00     MOVWF     0x0,0x0                                                                                         
00026a   0e11     MOVLW     0x11                                                                                            
00026c   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
00026e   5000     MOVF      0x0,0x0,0x0                                                                                     
000270   0900     IORLW     0x0                                                                                             
000272   e101     BNZ       0x276                                                                                           
000274   d7d1     BRA       0x218                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000276   8282     BSF       0x82,0x1,0x0    LED0_IO= 1;                                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000944   d499     BRA       0x278           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
000278   db93     RCALL     0x9a0               BOOL hasPacket = canGetPacket() && (cp.type == ptBOOT && cp.boot.rid == MY_ID); F:\MCP\projects\CAN\canBoot\Source\Main.c
00027a   0900     IORLW     0x0                                                                                             
00027c   e00e     BZ        0x29a                                                                                           
00027e   0100     MOVLB     0x0                                                                                             
000280   5160     MOVF      0x60,0x0,0x1                                                                                    
000282   e10b     BNZ       0x29a                                                                                           
000284   0100     MOVLB     0x0                                                                                             
000286   5166     MOVF      0x66,0x0,0x1                                                                                    
000288   6e00     MOVWF     0x0,0x0                                                                                         
00028a   6a01     CLRF      0x1,0x0                                                                                         
00028c   0100     MOVLB     0x0                                                                                             
00028e   51c1     MOVF      0xc1,0x0,0x1                                                                                    
000290   1800     XORWF     0x0,0x0,0x0                                                                                     
000292   e102     BNZ       0x298                                                                                           
000294   51c2     MOVF      0xc2,0x0,0x1                                                                                    
000296   1801     XORWF     0x1,0x0,0x0                                                                                     
000298   e002     BZ        0x29e                                                                                           
00029a   0e00     MOVLW     0x0                                                                                             
00029c   d001     BRA       0x2a0                                                                                           
00029e   0e01     MOVLW     0x1                                                                                             
0002a0   6ee7     MOVWF     0xe7,0x0                                                                                        
0002a2   0e23     MOVLW     0x23                                                                                            
0002a4   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
0002a6   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0002a8   0100     MOVLB     0x0                 tickSubCounter++;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0002aa   2bbd     INCF      0xbd,0x1,0x1                                                                                    
0002ac   0e00     MOVLW     0x0                                                                                             
0002ae   23be     ADDWFC    0xbe,0x1,0x1                                                                                    
0002b0   23bf     ADDWFC    0xbf,0x1,0x1                                                                                    
0002b2   23c0     ADDWFC    0xc0,0x1,0x1                                                                                    
0002b4   80d8     BSF       0xd8,0x0,0x0        if (tickSubCounter>TICK_SUB_COUNTER_10MS)                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0002b6   0e38     MOVLW     0x38                                                                                            
0002b8   0100     MOVLB     0x0                                                                                             
0002ba   55bd     SUBFWB    0xbd,0x0,0x1                                                                                    
0002bc   0e01     MOVLW     0x1                                                                                             
0002be   55be     SUBFWB    0xbe,0x0,0x1                                                                                    
0002c0   0e00     MOVLW     0x0                                                                                             
0002c2   55bf     SUBFWB    0xbf,0x0,0x1                                                                                    
0002c4   0e00     MOVLW     0x0                                                                                             
0002c6   55c0     SUBFWB    0xc0,0x0,0x1                                                                                    
0002c8   e20c     BC        0x2e2                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0002ca   0100     MOVLB     0x0                     tickCounter++;                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0002cc   2bb9     INCF      0xb9,0x1,0x1                                                                                    
0002ce   0e00     MOVLW     0x0                                                                                             
0002d0   23ba     ADDWFC    0xba,0x1,0x1                                                                                    
0002d2   23bb     ADDWFC    0xbb,0x1,0x1                                                                                    
0002d4   23bc     ADDWFC    0xbc,0x1,0x1                                                                                    
0002d6   0100     MOVLB     0x0                     tickSubCounter=0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0002d8   6bbd     CLRF      0xbd,0x1                                                                                        
0002da   6bbe     CLRF      0xbe,0x1                                                                                        
0002dc   6bbf     CLRF      0xbf,0x1                                                                                        
0002de   6bc0     CLRF      0xc0,0x1                                                                                        
0002e0   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
0002e2   0100     MOVLB     0x0                 switch(pgs)                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0002e4   51c3     MOVF      0xc3,0x0,0x1                                                                                    
0002e6   0a05     XORLW     0x5                                                                                             
0002e8   e101     BNZ       0x2ec                                                                                           
0002ea   d325     BRA       0x936                                                                                           
0002ec   0a01     XORLW     0x1                                                                                             
0002ee   e101     BNZ       0x2f2                                                                                           
0002f0   d26c     BRA       0x7ca                                                                                           
0002f2   0a07     XORLW     0x7                                                                                             
0002f4   e101     BNZ       0x2f8                                                                                           
0002f6   d165     BRA       0x5c2                                                                                           
0002f8   0a01     XORLW     0x1                                                                                             
0002fa   e101     BNZ       0x2fe                                                                                           
0002fc   d0c0     BRA       0x47e                                                                                           
0002fe   0a03     XORLW     0x3                                                                                             
000300   e101     BNZ       0x304                                                                                           
000302   d079     BRA       0x3f6                                                                                           
000304   0a01     XORLW     0x1                                                                                             
000306   e001     BZ        0x30a                                                                                           
000308   d31a     BRA       0x93e                                                                                           
                                                {                                                                              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
00030a   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00030c   04db     DECF      0xdb,0x0,0x0                                                                                    
00030e   e153     BNZ       0x3b6                                                                                           
000310   0100     MOVLB     0x0                                                                                             
000312   5164     MOVF      0x64,0x0,0x1                                                                                    
000314   e150     BNZ       0x3b6                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000316   c067     MOVFF     0x67,0xc5                       programmerId = cp.sid;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000318   f0c5                                                                                                               
00031a   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
00031c   f000                                                                                                               
00031e   6a01     CLRF      0x1,0x0                                                                                         
000320   6a02     CLRF      0x2,0x0                                                                                         
000322   6a03     CLRF      0x3,0x0                                                                                         
000324   0e10     MOVLW     0x10                                                                                            
000326   0b1f     ANDLW     0x1f                                                                                            
000328   e007     BZ        0x338                                                                                           
00032a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00032c   3600     RLCF      0x0,0x1,0x0                                                                                     
00032e   3601     RLCF      0x1,0x1,0x0                                                                                     
000330   3602     RLCF      0x2,0x1,0x0                                                                                     
000332   3603     RLCF      0x3,0x1,0x0                                                                                     
000334   06e8     DECF      0xe8,0x1,0x0                                                                                    
000336   e1f9     BNZ       0x32a                                                                                           
000338   c06a     MOVFF     0x6a,0x4                                                                                        
00033a   f004                                                                                                               
00033c   6a05     CLRF      0x5,0x0                                                                                         
00033e   6a06     CLRF      0x6,0x0                                                                                         
000340   6a07     CLRF      0x7,0x0                                                                                         
000342   0e08     MOVLW     0x8                                                                                             
000344   0b1f     ANDLW     0x1f                                                                                            
000346   e007     BZ        0x356                                                                                           
000348   90d8     BCF       0xd8,0x0,0x0                                                                                    
00034a   3604     RLCF      0x4,0x1,0x0                                                                                     
00034c   3605     RLCF      0x5,0x1,0x0                                                                                     
00034e   3606     RLCF      0x6,0x1,0x0                                                                                     
000350   3607     RLCF      0x7,0x1,0x0                                                                                     
000352   06e8     DECF      0xe8,0x1,0x0                                                                                    
000354   e1f9     BNZ       0x348                                                                                           
000356   5004     MOVF      0x4,0x0,0x0                                                                                     
000358   2600     ADDWF     0x0,0x1,0x0                                                                                     
00035a   5005     MOVF      0x5,0x0,0x0                                                                                     
00035c   2201     ADDWFC    0x1,0x1,0x0                                                                                     
00035e   5006     MOVF      0x6,0x0,0x0                                                                                     
000360   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000362   5007     MOVF      0x7,0x0,0x0                                                                                     
000364   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000366   c069     MOVFF     0x69,0x8                                                                                        
000368   f008                                                                                                               
00036a   6a09     CLRF      0x9,0x0                                                                                         
00036c   6a0a     CLRF      0xa,0x0                                                                                         
00036e   6a0b     CLRF      0xb,0x0                                                                                         
000370   5000     MOVF      0x0,0x0,0x0                                                                                     
000372   2408     ADDWF     0x8,0x0,0x0                                                                                     
000374   0100     MOVLB     0x0                                                                                             
000376   6fc7     MOVWF     0xc7,0x1                                                                                        
000378   5001     MOVF      0x1,0x0,0x0                                                                                     
00037a   2009     ADDWFC    0x9,0x0,0x0                                                                                     
00037c   0100     MOVLB     0x0                                                                                             
00037e   6fc8     MOVWF     0xc8,0x1                                                                                        
000380   5002     MOVF      0x2,0x0,0x0                                                                                     
000382   200a     ADDWFC    0xa,0x0,0x0                                                                                     
000384   0100     MOVLB     0x0                                                                                             
000386   6fc9     MOVWF     0xc9,0x1                                                                                        
000388   5003     MOVF      0x3,0x0,0x0                                                                                     
00038a   200b     ADDWFC    0xb,0x0,0x0                                                                                     
00038c   0100     MOVLB     0x0                                                                                             
00038e   6fca     MOVWF     0xca,0x1                                                                                        
000390   ec38     CALL      0xc70,0x0                       t = tickGet();                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000392   f006                                                                                                               
000394   c010     MOVFF     0x10,0xcf                                                                                       
000396   f0cf                                                                                                               
000398   c011     MOVFF     0x11,0xd0                                                                                       
00039a   f0d0                                                                                                               
00039c   c012     MOVFF     0x12,0xd1                                                                                       
00039e   f0d1                                                                                                               
0003a0   c013     MOVFF     0x13,0xd2                                                                                       
0003a2   f0d2                                                                                                               
0003a4   0100     MOVLB     0x0                             ackType = btACK;                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003a6   0e04     MOVLW     0x4                                                                                             
0003a8   6fc6     MOVWF     0xc6,0x1                                                                                        
0003aa   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003ac   0e02     MOVLW     0x2                                                                                             
0003ae   6fc4     MOVWF     0xc4,0x1                                                                                        
0003b0   0100     MOVLB     0x0                             pgs = pgsSEND_ACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0003b2   0e01     MOVLW     0x1                                                                                             
0003b4   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
0003b6   ec38     CALL      0xc70,0x0                   if ((tickGet()-tBoot)>BOOTLOADER_INIT_TIMOUT)                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0003b8   f006                                                                                                               
0003ba   0100     MOVLB     0x0                                                                                             
0003bc   51b1     MOVF      0xb1,0x0,0x1                                                                                    
0003be   5c10     SUBWF     0x10,0x0,0x0                                                                                    
0003c0   6e00     MOVWF     0x0,0x0                                                                                         
0003c2   0100     MOVLB     0x0                                                                                             
0003c4   51b2     MOVF      0xb2,0x0,0x1                                                                                    
0003c6   5811     SUBWFB    0x11,0x0,0x0                                                                                    
0003c8   6e01     MOVWF     0x1,0x0                                                                                         
0003ca   0100     MOVLB     0x0                                                                                             
0003cc   51b3     MOVF      0xb3,0x0,0x1                                                                                    
0003ce   5812     SUBWFB    0x12,0x0,0x0                                                                                    
0003d0   6e02     MOVWF     0x2,0x0                                                                                         
0003d2   0100     MOVLB     0x0                                                                                             
0003d4   51b4     MOVF      0xb4,0x0,0x1                                                                                    
0003d6   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0003d8   6e03     MOVWF     0x3,0x0                                                                                         
0003da   80d8     BSF       0xd8,0x0,0x0                                                                                    
0003dc   0ef4     MOVLW     0xf4                                                                                            
0003de   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0003e0   0e01     MOVLW     0x1                                                                                             
0003e2   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0003e4   0e00     MOVLW     0x0                                                                                             
0003e6   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0003e8   0e00     MOVLW     0x0                                                                                             
0003ea   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0003ec   e203     BC        0x3f4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003ee   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f0   0e05     MOVLW     0x5                                                                                             
0003f2   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f4   d2a7     BRA       0x944                       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
0003f6   6adf     CLRF      0xdf,0x0                    outCp.type = ptBOOT;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0003f8   0e06     MOVLW     0x6                         outCp.boot.rid = programmerId;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0003fa   c0c5     MOVFF     0xc5,0xfdb                                                                                      
0003fc   ffdb                                                                                                               
0003fe   0e04     MOVLW     0x4                         outCp.boot.type = ackType;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000400   c0c6     MOVFF     0xc6,0xfdb                                                                                      
000402   ffdb                                                                                                               
000404   0e08     MOVLW     0x8                         outCp.length=0;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000406   6adb     CLRF      0xdb,0x0                                                                                        
000408   ec38     CALL      0xc70,0x0                   t = tickGet();                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00040a   f006                                                                                                               
00040c   c010     MOVFF     0x10,0xcf                                                                                       
00040e   f0cf                                                                                                               
000410   c011     MOVFF     0x11,0xd0                                                                                       
000412   f0d0                                                                                                               
000414   c012     MOVFF     0x12,0xd1                                                                                       
000416   f0d1                                                                                                               
000418   c013     MOVFF     0x13,0xd2                                                                                       
00041a   f0d2                                                                                                               
00041c   c0c4     MOVFF     0xc4,0xc3                   pgs = pgsAckNext;                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00041e   f0c3                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000420   cfd9     MOVFF     0xfd9,0xfe9                 while(!canSendMessage(outCp));                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000422   ffe9                                                                                                               
000424   cfda     MOVFF     0xfda,0xfea                                                                                     
000426   ffea                                                                                                               
000428   cfee     MOVFF     0xfee,0xfe6                                                                                     
00042a   ffe6                                                                                                               
00042c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00042e   ffe6                                                                                                               
000430   cfee     MOVFF     0xfee,0xfe6                                                                                     
000432   ffe6                                                                                                               
000434   cfee     MOVFF     0xfee,0xfe6                                                                                     
000436   ffe6                                                                                                               
000438   cfee     MOVFF     0xfee,0xfe6                                                                                     
00043a   ffe6                                                                                                               
00043c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00043e   ffe6                                                                                                               
000440   cfee     MOVFF     0xfee,0xfe6                                                                                     
000442   ffe6                                                                                                               
000444   cfee     MOVFF     0xfee,0xfe6                                                                                     
000446   ffe6                                                                                                               
000448   cfee     MOVFF     0xfee,0xfe6                                                                                     
00044a   ffe6                                                                                                               
00044c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00044e   ffe6                                                                                                               
000450   cfee     MOVFF     0xfee,0xfe6                                                                                     
000452   ffe6                                                                                                               
000454   cfee     MOVFF     0xfee,0xfe6                                                                                     
000456   ffe6                                                                                                               
000458   cfee     MOVFF     0xfee,0xfe6                                                                                     
00045a   ffe6                                                                                                               
00045c   cfee     MOVFF     0xfee,0xfe6                                                                                     
00045e   ffe6                                                                                                               
000460   cfee     MOVFF     0xfee,0xfe6                                                                                     
000462   ffe6                                                                                                               
000464   cfee     MOVFF     0xfee,0xfe6                                                                                     
000466   ffe6                                                                                                               
000468   cfee     MOVFF     0xfee,0xfe6                                                                                     
00046a   ffe6                                                                                                               
00046c   db33     RCALL     0xad4                                                                                           
00046e   6e00     MOVWF     0x0,0x0                                                                                         
000470   0e11     MOVLW     0x11                                                                                            
000472   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
000474   5000     MOVF      0x0,0x0,0x0                                                                                     
000476   0900     IORLW     0x0                                                                                             
000478   e101     BNZ       0x47c                                                                                           
00047a   d7d2     BRA       0x420                                                                                           
00047c   d263     BRA       0x944                       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
00047e   ec38     CALL      0xc70,0x0                   if ((tickGet()-t)>PACKET_TIMEOUT)                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000480   f006                                                                                                               
000482   0100     MOVLB     0x0                                                                                             
000484   51cf     MOVF      0xcf,0x0,0x1                                                                                    
000486   5c10     SUBWF     0x10,0x0,0x0                                                                                    
000488   6e00     MOVWF     0x0,0x0                                                                                         
00048a   0100     MOVLB     0x0                                                                                             
00048c   51d0     MOVF      0xd0,0x0,0x1                                                                                    
00048e   5811     SUBWFB    0x11,0x0,0x0                                                                                    
000490   6e01     MOVWF     0x1,0x0                                                                                         
000492   0100     MOVLB     0x0                                                                                             
000494   51d1     MOVF      0xd1,0x0,0x1                                                                                    
000496   5812     SUBWFB    0x12,0x0,0x0                                                                                    
000498   6e02     MOVWF     0x2,0x0                                                                                         
00049a   0100     MOVLB     0x0                                                                                             
00049c   51d2     MOVF      0xd2,0x0,0x1                                                                                    
00049e   5813     SUBWFB    0x13,0x0,0x0                                                                                    
0004a0   6e03     MOVWF     0x3,0x0                                                                                         
0004a2   80d8     BSF       0xd8,0x0,0x0                                                                                    
0004a4   0e0e     MOVLW     0xe                                                                                             
0004a6   5400     SUBFWB    0x0,0x0,0x0                                                                                     
0004a8   0e00     MOVLW     0x0                                                                                             
0004aa   5401     SUBFWB    0x1,0x0,0x0                                                                                     
0004ac   0e00     MOVLW     0x0                                                                                             
0004ae   5402     SUBFWB    0x2,0x0,0x0                                                                                     
0004b0   0e00     MOVLW     0x0                                                                                             
0004b2   5403     SUBFWB    0x3,0x0,0x0                                                                                     
0004b4   e206     BC        0x4c2                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // Timeout, resend ack/nack.                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b6   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004b8   0e02     MOVLW     0x2                                                                                             
0004ba   6fc4     MOVWF     0xc4,0x1                                                                                        
0004bc   0100     MOVLB     0x0                             pgs = pgsSEND_ACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0004be   0e01     MOVLW     0x1                                                                                             
0004c0   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c2   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btPGM)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0004c4   04db     DECF      0xdb,0x0,0x0                                                                                    
0004c6   e157     BNZ       0x576                                                                                           
0004c8   0100     MOVLB     0x0                                                                                             
0004ca   0564     DECF      0x64,0x0,0x1                                                                                    
0004cc   e154     BNZ       0x576                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0004ce   0e24     MOVLW     0x24                            BYTE localIndex = cp.boot.offset;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0004d0   c065     MOVFF     0x65,0xfdb                                                                                      
0004d2   ffdb                                                                                                               
0004d4   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
0004d6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004d8   6aea     CLRF      0xea,0x0                                                                                        
0004da   0f71     ADDLW     0x71                                                                                            
0004dc   6ee9     MOVWF     0xe9,0x0                                                                                        
0004de   0e00     MOVLW     0x0                                                                                             
0004e0   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004e2   c069     MOVFF     0x69,0xfef                                                                                      
0004e4   ffef                                                                                                               
0004e6   0e24     MOVLW     0x24                                                                                            
0004e8   28db     INCF      0xdb,0x0,0x0                                                                                    
0004ea   6aea     CLRF      0xea,0x0                                                                                        
0004ec   0f71     ADDLW     0x71                                                                                            
0004ee   6ee9     MOVWF     0xe9,0x0                                                                                        
0004f0   0e00     MOVLW     0x0                                                                                             
0004f2   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0004f4   c06a     MOVFF     0x6a,0xfef                                                                                      
0004f6   ffef                                                                                                               
0004f8   0e24     MOVLW     0x24                                                                                            
0004fa   50db     MOVF      0xdb,0x0,0x0                                                                                    
0004fc   0f02     ADDLW     0x2                                                                                             
0004fe   6aea     CLRF      0xea,0x0                                                                                        
000500   0f71     ADDLW     0x71                                                                                            
000502   6ee9     MOVWF     0xe9,0x0                                                                                        
000504   0e00     MOVLW     0x0                                                                                             
000506   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000508   c06b     MOVFF     0x6b,0xfef                                                                                      
00050a   ffef                                                                                                               
00050c   0e24     MOVLW     0x24                                                                                            
00050e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000510   0f03     ADDLW     0x3                                                                                             
000512   6aea     CLRF      0xea,0x0                                                                                        
000514   0f71     ADDLW     0x71                                                                                            
000516   6ee9     MOVWF     0xe9,0x0                                                                                        
000518   0e00     MOVLW     0x0                                                                                             
00051a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00051c   c06c     MOVFF     0x6c,0xfef                                                                                      
00051e   ffef                                                                                                               
000520   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
000522   50db     MOVF      0xdb,0x0,0x0                                                                                    
000524   0f04     ADDLW     0x4                                                                                             
000526   6aea     CLRF      0xea,0x0                                                                                        
000528   0f71     ADDLW     0x71                                                                                            
00052a   6ee9     MOVWF     0xe9,0x0                                                                                        
00052c   0e00     MOVLW     0x0                                                                                             
00052e   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000530   c06d     MOVFF     0x6d,0xfef                                                                                      
000532   ffef                                                                                                               
000534   0e24     MOVLW     0x24                                                                                            
000536   50db     MOVF      0xdb,0x0,0x0                                                                                    
000538   0f05     ADDLW     0x5                                                                                             
00053a   6aea     CLRF      0xea,0x0                                                                                        
00053c   0f71     ADDLW     0x71                                                                                            
00053e   6ee9     MOVWF     0xe9,0x0                                                                                        
000540   0e00     MOVLW     0x0                                                                                             
000542   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000544   c06e     MOVFF     0x6e,0xfef                                                                                      
000546   ffef                                                                                                               
000548   0e24     MOVLW     0x24                                                                                            
00054a   50db     MOVF      0xdb,0x0,0x0                                                                                    
00054c   0f06     ADDLW     0x6                                                                                             
00054e   6aea     CLRF      0xea,0x0                                                                                        
000550   0f71     ADDLW     0x71                                                                                            
000552   6ee9     MOVWF     0xe9,0x0                                                                                        
000554   0e00     MOVLW     0x0                                                                                             
000556   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000558   c06f     MOVFF     0x6f,0xfef                                                                                      
00055a   ffef                                                                                                               
00055c   0e24     MOVLW     0x24                                                                                            
00055e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000560   0f07     ADDLW     0x7                                                                                             
000562   6aea     CLRF      0xea,0x0                                                                                        
000564   0f71     ADDLW     0x71                                                                                            
000566   6ee9     MOVWF     0xe9,0x0                                                                                        
000568   0e00     MOVLW     0x0                                                                                             
00056a   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00056c   c070     MOVFF     0x70,0xfef                                                                                      
00056e   ffef                                                                                                               
000570   0100     MOVLB     0x0                             pgs = pgsWAIT_DATA_OR_CRC;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000572   0e03     MOVLW     0x3                                                                                             
000574   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000576   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000578   04db     DECF      0xdb,0x0,0x0                                                                                    
00057a   e10e     BNZ       0x598                                                                                           
00057c   0100     MOVLB     0x0                                                                                             
00057e   5164     MOVF      0x64,0x0,0x1                                                                                    
000580   e10b     BNZ       0x598                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000582   db76     RCALL     0xc70                           tBoot = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000584   c010     MOVFF     0x10,0xb1                                                                                       
000586   f0b1                                                                                                               
000588   c011     MOVFF     0x11,0xb2                                                                                       
00058a   f0b2                                                                                                               
00058c   c012     MOVFF     0x12,0xb3                                                                                       
00058e   f0b3                                                                                                               
000590   c013     MOVFF     0x13,0xb4                                                                                       
000592   f0b4                                                                                                               
000594   0100     MOVLB     0x0                             pgs   = pgsWAITING_START;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000596   6bc3     CLRF      0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000598   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btCRC)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
00059a   04db     DECF      0xdb,0x0,0x0                                                                                    
00059c   e107     BNZ       0x5ac                                                                                           
00059e   0e06     MOVLW     0x6                                                                                             
0005a0   0100     MOVLB     0x0                                                                                             
0005a2   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0005a4   e103     BNZ       0x5ac                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a6   0100     MOVLB     0x0                             pgs   = pgsWAIT_DATA_OR_CRC;                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0005a8   0e03     MOVLW     0x3                                                                                             
0005aa   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ac   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btDONE)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ae   04db     DECF      0xdb,0x0,0x0                                                                                    
0005b0   e107     BNZ       0x5c0                                                                                           
0005b2   0e02     MOVLW     0x2                                                                                             
0005b4   0100     MOVLB     0x0                                                                                             
0005b6   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0005b8   e103     BNZ       0x5c0                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005ba   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0005bc   0e05     MOVLW     0x5                                                                                             
0005be   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
0005c0   d1c1     BRA       0x944                       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
0005c2   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btCRC)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0005c4   04db     DECF      0xdb,0x0,0x0                                                                                    
0005c6   e001     BZ        0x5ca                                                                                           
0005c8   d08d     BRA       0x6e4                                                                                           
0005ca   0e06     MOVLW     0x6                                                                                             
0005cc   0100     MOVLB     0x0                                                                                             
0005ce   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0005d0   e001     BZ        0x5d4                                                                                           
0005d2   d088     BRA       0x6e4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0005d4   c06d     MOVFF     0x6d,0x2                        WORD crc16 = (((WORD)cp.data[4])<<8)+((WORD)cp.data[3]);                    F:\MCP\projects\CAN\canBoot\Source\Main.c
0005d6   f002                                                                                                               
0005d8   c002     MOVFF     0x2,0x3                                                                                         
0005da   f003                                                                                                               
0005dc   6a02     CLRF      0x2,0x0                                                                                         
0005de   0100     MOVLB     0x0                                                                                             
0005e0   516c     MOVF      0x6c,0x0,0x1                                                                                    
0005e2   0100     MOVLB     0x0                                                                                             
0005e4   2402     ADDWF     0x2,0x0,0x0                                                                                     
0005e6   6e00     MOVWF     0x0,0x0                                                                                         
0005e8   0e00     MOVLW     0x0                                                                                             
0005ea   2003     ADDWFC    0x3,0x0,0x0                                                                                     
0005ec   6e01     MOVWF     0x1,0x0                                                                                         
0005ee   0e25     MOVLW     0x25                                                                                            
0005f0   c000     MOVFF     0x0,0xfdb                                                                                       
0005f2   ffdb                                                                                                               
0005f4   0e26     MOVLW     0x26                                                                                            
0005f6   c001     MOVFF     0x1,0xfdb                                                                                       
0005f8   ffdb                                                                                                               
0005fa   0e40     MOVLW     0x40                            WORD crc16calc = calc_crc(pgmData,64);                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
0005fc   6ee6     MOVWF     0xe6,0x0                                                                                        
0005fe   6ae6     CLRF      0xe6,0x0                                                                                        
000600   0e71     MOVLW     0x71                                                                                            
000602   6ee6     MOVWF     0xe6,0x0                                                                                        
000604   0e00     MOVLW     0x0                                                                                             
000606   6ee6     MOVWF     0xe6,0x0                                                                                        
000608   ecd6     CALL      0xdac,0x0                                                                                       
00060a   f006                                                                                                               
00060c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
00060e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000610   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000612   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000614   0e27     MOVLW     0x27                                                                                            
000616   cff3     MOVFF     0xff3,0xfdb                                                                                     
000618   ffdb                                                                                                               
00061a   0e28     MOVLW     0x28                                                                                            
00061c   cff4     MOVFF     0xff4,0xfdb                                                                                     
00061e   ffdb                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            // check CRC.                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000620   0e27     MOVLW     0x27                            if (crc16calc==crc16)                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000622   cfdb     MOVFF     0xfdb,0x0                                                                                       
000624   f000                                                                                                               
000626   0e28     MOVLW     0x28                                                                                            
000628   cfdb     MOVFF     0xfdb,0x1                                                                                       
00062a   f001                                                                                                               
00062c   0e25     MOVLW     0x25                                                                                            
00062e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000630   1800     XORWF     0x0,0x0,0x0                                                                                     
000632   e103     BNZ       0x63a                                                                                           
000634   0e26     MOVLW     0x26                                                                                            
000636   50db     MOVF      0xdb,0x0,0x0                                                                                    
000638   1801     XORWF     0x1,0x0,0x0                                                                                     
00063a   e142     BNZ       0x6c0                                                                                           
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00063c   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
00063e   f000                                                                                                               
000640   6a01     CLRF      0x1,0x0                                                                                         
000642   6a02     CLRF      0x2,0x0                                                                                         
000644   6a03     CLRF      0x3,0x0                                                                                         
000646   0e10     MOVLW     0x10                                                                                            
000648   0b1f     ANDLW     0x1f                                                                                            
00064a   e007     BZ        0x65a                                                                                           
00064c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00064e   3600     RLCF      0x0,0x1,0x0                                                                                     
000650   3601     RLCF      0x1,0x1,0x0                                                                                     
000652   3602     RLCF      0x2,0x1,0x0                                                                                     
000654   3603     RLCF      0x3,0x1,0x0                                                                                     
000656   06e8     DECF      0xe8,0x1,0x0                                                                                    
000658   e1f9     BNZ       0x64c                                                                                           
00065a   c06a     MOVFF     0x6a,0x4                                                                                        
00065c   f004                                                                                                               
00065e   6a05     CLRF      0x5,0x0                                                                                         
000660   6a06     CLRF      0x6,0x0                                                                                         
000662   6a07     CLRF      0x7,0x0                                                                                         
000664   0e08     MOVLW     0x8                                                                                             
000666   0b1f     ANDLW     0x1f                                                                                            
000668   e007     BZ        0x678                                                                                           
00066a   90d8     BCF       0xd8,0x0,0x0                                                                                    
00066c   3604     RLCF      0x4,0x1,0x0                                                                                     
00066e   3605     RLCF      0x5,0x1,0x0                                                                                     
000670   3606     RLCF      0x6,0x1,0x0                                                                                     
000672   3607     RLCF      0x7,0x1,0x0                                                                                     
000674   06e8     DECF      0xe8,0x1,0x0                                                                                    
000676   e1f9     BNZ       0x66a                                                                                           
000678   5004     MOVF      0x4,0x0,0x0                                                                                     
00067a   2600     ADDWF     0x0,0x1,0x0                                                                                     
00067c   5005     MOVF      0x5,0x0,0x0                                                                                     
00067e   2201     ADDWFC    0x1,0x1,0x0                                                                                     
000680   5006     MOVF      0x6,0x0,0x0                                                                                     
000682   2202     ADDWFC    0x2,0x1,0x0                                                                                     
000684   5007     MOVF      0x7,0x0,0x0                                                                                     
000686   2203     ADDWFC    0x3,0x1,0x0                                                                                     
000688   c069     MOVFF     0x69,0x8                                                                                        
00068a   f008                                                                                                               
00068c   6a09     CLRF      0x9,0x0                                                                                         
00068e   6a0a     CLRF      0xa,0x0                                                                                         
000690   6a0b     CLRF      0xb,0x0                                                                                         
000692   5000     MOVF      0x0,0x0,0x0                                                                                     
000694   2408     ADDWF     0x8,0x0,0x0                                                                                     
000696   0100     MOVLB     0x0                                                                                             
000698   6fcb     MOVWF     0xcb,0x1                                                                                        
00069a   5001     MOVF      0x1,0x0,0x0                                                                                     
00069c   2009     ADDWFC    0x9,0x0,0x0                                                                                     
00069e   0100     MOVLB     0x0                                                                                             
0006a0   6fcc     MOVWF     0xcc,0x1                                                                                        
0006a2   5002     MOVF      0x2,0x0,0x0                                                                                     
0006a4   200a     ADDWFC    0xa,0x0,0x0                                                                                     
0006a6   0100     MOVLB     0x0                                                                                             
0006a8   6fcd     MOVWF     0xcd,0x1                                                                                        
0006aa   5003     MOVF      0x3,0x0,0x0                                                                                     
0006ac   200b     ADDWFC    0xb,0x0,0x0                                                                                     
0006ae   0100     MOVLB     0x0                                                                                             
0006b0   6fce     MOVWF     0xce,0x1                                                                                        
0006b2   0100     MOVLB     0x0                                 pgsAckNext = pgsWAIT_FIRST_DATA;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006b4   0e02     MOVLW     0x2                                                                                             
0006b6   6fc4     MOVWF     0xc4,0x1                                                                                        
0006b8   0100     MOVLB     0x0                                 pgs = pgsWRITE_DATA;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0006ba   0e04     MOVLW     0x4                                                                                             
0006bc   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                            }                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006be   d012     BRA       0x6e4                           else                                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                            {                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c0   dad7     RCALL     0xc70                               t = tickGet();                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0006c2   c010     MOVFF     0x10,0xcf                                                                                       
0006c4   f0cf                                                                                                               
0006c6   c011     MOVFF     0x11,0xd0                                                                                       
0006c8   f0d0                                                                                                               
0006ca   c012     MOVFF     0x12,0xd1                                                                                       
0006cc   f0d1                                                                                                               
0006ce   c013     MOVFF     0x13,0xd2                                                                                       
0006d0   f0d2                                                                                                               
0006d2   0100     MOVLB     0x0                                 ackType = btNACK;                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0006d4   0e05     MOVLW     0x5                                                                                             
0006d6   6fc6     MOVWF     0xc6,0x1                                                                                        
0006d8   0100     MOVLB     0x0                                 pgsAckNext = pgsWAIT_FIRST_DATA;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006da   0e02     MOVLW     0x2                                                                                             
0006dc   6fc4     MOVWF     0xc4,0x1                                                                                        
0006de   0100     MOVLB     0x0                                 pgs = pgsSEND_ACK;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e0   0e01     MOVLW     0x1                                                                                             
0006e2   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
0006e4   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btPGM)                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0006e6   04db     DECF      0xdb,0x0,0x0                                                                                    
0006e8   e154     BNZ       0x792                                                                                           
0006ea   0100     MOVLB     0x0                                                                                             
0006ec   0564     DECF      0x64,0x0,0x1                                                                                    
0006ee   e151     BNZ       0x792                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f0   0e29     MOVLW     0x29                            BYTE localIndex = cp.boot.offset;                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0006f2   c065     MOVFF     0x65,0xfdb                                                                                      
0006f4   ffdb                                                                                                               
0006f6   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
0006f8   50db     MOVF      0xdb,0x0,0x0                                                                                    
0006fa   6aea     CLRF      0xea,0x0                                                                                        
0006fc   0f71     ADDLW     0x71                                                                                            
0006fe   6ee9     MOVWF     0xe9,0x0                                                                                        
000700   0e00     MOVLW     0x0                                                                                             
000702   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000704   c069     MOVFF     0x69,0xfef                                                                                      
000706   ffef                                                                                                               
000708   0e29     MOVLW     0x29                                                                                            
00070a   28db     INCF      0xdb,0x0,0x0                                                                                    
00070c   6aea     CLRF      0xea,0x0                                                                                        
00070e   0f71     ADDLW     0x71                                                                                            
000710   6ee9     MOVWF     0xe9,0x0                                                                                        
000712   0e00     MOVLW     0x0                                                                                             
000714   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000716   c06a     MOVFF     0x6a,0xfef                                                                                      
000718   ffef                                                                                                               
00071a   0e29     MOVLW     0x29                                                                                            
00071c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00071e   0f02     ADDLW     0x2                                                                                             
000720   6aea     CLRF      0xea,0x0                                                                                        
000722   0f71     ADDLW     0x71                                                                                            
000724   6ee9     MOVWF     0xe9,0x0                                                                                        
000726   0e00     MOVLW     0x0                                                                                             
000728   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00072a   c06b     MOVFF     0x6b,0xfef                                                                                      
00072c   ffef                                                                                                               
00072e   0e29     MOVLW     0x29                                                                                            
000730   50db     MOVF      0xdb,0x0,0x0                                                                                    
000732   0f03     ADDLW     0x3                                                                                             
000734   6aea     CLRF      0xea,0x0                                                                                        
000736   0f71     ADDLW     0x71                                                                                            
000738   6ee9     MOVWF     0xe9,0x0                                                                                        
00073a   0e00     MOVLW     0x0                                                                                             
00073c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00073e   c06c     MOVFF     0x6c,0xfef                                                                                      
000740   ffef                                                                                                               
000742   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
000744   50db     MOVF      0xdb,0x0,0x0                                                                                    
000746   0f04     ADDLW     0x4                                                                                             
000748   6aea     CLRF      0xea,0x0                                                                                        
00074a   0f71     ADDLW     0x71                                                                                            
00074c   6ee9     MOVWF     0xe9,0x0                                                                                        
00074e   0e00     MOVLW     0x0                                                                                             
000750   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000752   c06d     MOVFF     0x6d,0xfef                                                                                      
000754   ffef                                                                                                               
000756   0e29     MOVLW     0x29                                                                                            
000758   50db     MOVF      0xdb,0x0,0x0                                                                                    
00075a   0f05     ADDLW     0x5                                                                                             
00075c   6aea     CLRF      0xea,0x0                                                                                        
00075e   0f71     ADDLW     0x71                                                                                            
000760   6ee9     MOVWF     0xe9,0x0                                                                                        
000762   0e00     MOVLW     0x0                                                                                             
000764   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
000766   c06e     MOVFF     0x6e,0xfef                                                                                      
000768   ffef                                                                                                               
00076a   0e29     MOVLW     0x29                                                                                            
00076c   50db     MOVF      0xdb,0x0,0x0                                                                                    
00076e   0f06     ADDLW     0x6                                                                                             
000770   6aea     CLRF      0xea,0x0                                                                                        
000772   0f71     ADDLW     0x71                                                                                            
000774   6ee9     MOVWF     0xe9,0x0                                                                                        
000776   0e00     MOVLW     0x0                                                                                             
000778   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00077a   c06f     MOVFF     0x6f,0xfef                                                                                      
00077c   ffef                                                                                                               
00077e   0e29     MOVLW     0x29                                                                                            
000780   50db     MOVF      0xdb,0x0,0x0                                                                                    
000782   0f07     ADDLW     0x7                                                                                             
000784   6aea     CLRF      0xea,0x0                                                                                        
000786   0f71     ADDLW     0x71                                                                                            
000788   6ee9     MOVWF     0xe9,0x0                                                                                        
00078a   0e00     MOVLW     0x0                                                                                             
00078c   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
00078e   c070     MOVFF     0x70,0xfef                                                                                      
000790   ffef                                                                                                               
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000792   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btADDR)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000794   04db     DECF      0xdb,0x0,0x0                                                                                    
000796   e10e     BNZ       0x7b4                                                                                           
000798   0100     MOVLB     0x0                                                                                             
00079a   5164     MOVF      0x64,0x0,0x1                                                                                    
00079c   e10b     BNZ       0x7b4                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00079e   da68     RCALL     0xc70                           tBoot = tickGet();                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0007a0   c010     MOVFF     0x10,0xb1                                                                                       
0007a2   f0b1                                                                                                               
0007a4   c011     MOVFF     0x11,0xb2                                                                                       
0007a6   f0b2                                                                                                               
0007a8   c012     MOVFF     0x12,0xb3                                                                                       
0007aa   f0b3                                                                                                               
0007ac   c013     MOVFF     0x13,0xb4                                                                                       
0007ae   f0b4                                                                                                               
0007b0   0100     MOVLB     0x0                             pgs   = pgsWAITING_START;                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b2   6bc3     CLRF      0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b4   0e23     MOVLW     0x23                        if (hasPacket==TRUE && cp.boot.type==btDONE)                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007b6   04db     DECF      0xdb,0x0,0x0                                                                                    
0007b8   e107     BNZ       0x7c8                                                                                           
0007ba   0e02     MOVLW     0x2                                                                                             
0007bc   0100     MOVLB     0x0                                                                                             
0007be   5d64     SUBWF     0x64,0x0,0x1                                                                                    
0007c0   e103     BNZ       0x7c8                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c2   0100     MOVLB     0x0                             pgs = pgsDONE;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c4   0e05     MOVLW     0x5                                                                                             
0007c6   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0007c8   d0bd     BRA       0x944                       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
0007ca   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
0007cc   0e00     MOVLW     0x0                         if (pgmAddress<RM_RESET_VECTOR)                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ce   0100     MOVLB     0x0                                                                                             
0007d0   5dc7     SUBWF     0xc7,0x0,0x1                                                                                    
0007d2   0e30     MOVLW     0x30                                                                                            
0007d4   59c8     SUBWFB    0xc8,0x0,0x1                                                                                    
0007d6   0e00     MOVLW     0x0                                                                                             
0007d8   59c9     SUBWFB    0xc9,0x0,0x1                                                                                    
0007da   0e00     MOVLW     0x0                                                                                             
0007dc   59ca     SUBWFB    0xca,0x0,0x1                                                                                    
0007de   e20a     BC        0x7f4                                                                                           
                                                        {                                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e0   0100     MOVLB     0x0                             ackType = btNACK;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e2   0e05     MOVLW     0x5                                                                                             
0007e4   6fc6     MOVWF     0xc6,0x1                                                                                        
0007e6   0100     MOVLB     0x0                             pgsAckNext = pgsWAIT_FIRST_DATA;                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
0007e8   0e02     MOVLW     0x2                                                                                             
0007ea   6fc4     MOVWF     0xc4,0x1                                                                                        
0007ec   0100     MOVLB     0x0                             pgs             = pgsSEND_ACK;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
0007ee   0e01     MOVLW     0x1                                                                                             
0007f0   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                            //Not allowed to write here!                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0007f2   d0a8     BRA       0x944                           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
0007f4   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
0007f6   f000                                                                                                               
0007f8   c0c8     MOVFF     0xc8,0x1                                                                                        
0007fa   f001                                                                                                               
0007fc   c0c9     MOVFF     0xc9,0x2                                                                                        
0007fe   f002                                                                                                               
000800   c0ca     MOVFF     0xca,0x3                                                                                        
000802   f003                                                                                                               
000804   6a00     CLRF      0x0,0x0                                                                                         
000806   6a01     CLRF      0x1,0x0                                                                                         
000808   6a03     CLRF      0x3,0x0                                                                                         
00080a   0e10     MOVLW     0x10                                                                                            
00080c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00080e   3203     RRCF      0x3,0x1,0x0                                                                                     
000810   3202     RRCF      0x2,0x1,0x0                                                                                     
000812   3201     RRCF      0x1,0x1,0x0                                                                                     
000814   3200     RRCF      0x0,0x1,0x0                                                                                     
000816   06e8     DECF      0xe8,0x1,0x0                                                                                    
000818   e1f9     BNZ       0x80c                                                                                           
00081a   5000     MOVF      0x0,0x0,0x0                                                                                     
00081c   6ef8     MOVWF     0xf8,0x0                                                                                        
00081e   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000820   f000                                                                                                               
000822   c0c8     MOVFF     0xc8,0x1                                                                                        
000824   f001                                                                                                               
000826   c0c9     MOVFF     0xc9,0x2                                                                                        
000828   f002                                                                                                               
00082a   c0ca     MOVFF     0xca,0x3                                                                                        
00082c   f003                                                                                                               
00082e   6a00     CLRF      0x0,0x0                                                                                         
000830   6a02     CLRF      0x2,0x0                                                                                         
000832   6a03     CLRF      0x3,0x0                                                                                         
000834   0e08     MOVLW     0x8                                                                                             
000836   90d8     BCF       0xd8,0x0,0x0                                                                                    
000838   3203     RRCF      0x3,0x1,0x0                                                                                     
00083a   3202     RRCF      0x2,0x1,0x0                                                                                     
00083c   3201     RRCF      0x1,0x1,0x0                                                                                     
00083e   3200     RRCF      0x0,0x1,0x0                                                                                     
000840   06e8     DECF      0xe8,0x1,0x0                                                                                    
000842   e1f9     BNZ       0x836                                                                                           
000844   5000     MOVF      0x0,0x0,0x0                                                                                     
000846   6ef7     MOVWF     0xf7,0x0                                                                                        
000848   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
00084a   51c7     MOVF      0xc7,0x0,0x1                                                                                    
00084c   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
00084e   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
000850   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
000852   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
000854   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
000856   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
000858   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00085a   6ea7     MOVWF     0xa7,0x0                                                                                        
00085c   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00085e   6ea7     MOVWF     0xa7,0x0                                                                                        
000860   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
000862   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
000864   c0c7     MOVFF     0xc7,0x0                    TBLPTRU = (BYTE)((pgmAddress & 0xFF0000)>>16);                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000866   f000                                                                                                               
000868   c0c8     MOVFF     0xc8,0x1                                                                                        
00086a   f001                                                                                                               
00086c   c0c9     MOVFF     0xc9,0x2                                                                                        
00086e   f002                                                                                                               
000870   c0ca     MOVFF     0xca,0x3                                                                                        
000872   f003                                                                                                               
000874   6a00     CLRF      0x0,0x0                                                                                         
000876   6a01     CLRF      0x1,0x0                                                                                         
000878   6a03     CLRF      0x3,0x0                                                                                         
00087a   0e10     MOVLW     0x10                                                                                            
00087c   90d8     BCF       0xd8,0x0,0x0                                                                                    
00087e   3203     RRCF      0x3,0x1,0x0                                                                                     
000880   3202     RRCF      0x2,0x1,0x0                                                                                     
000882   3201     RRCF      0x1,0x1,0x0                                                                                     
000884   3200     RRCF      0x0,0x1,0x0                                                                                     
000886   06e8     DECF      0xe8,0x1,0x0                                                                                    
000888   e1f9     BNZ       0x87c                                                                                           
00088a   5000     MOVF      0x0,0x0,0x0                                                                                     
00088c   6ef8     MOVWF     0xf8,0x0                                                                                        
00088e   c0c7     MOVFF     0xc7,0x0                    TBLPTRH = (BYTE)((pgmAddress & 0xFF00)>>8);                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000890   f000                                                                                                               
000892   c0c8     MOVFF     0xc8,0x1                                                                                        
000894   f001                                                                                                               
000896   c0c9     MOVFF     0xc9,0x2                                                                                        
000898   f002                                                                                                               
00089a   c0ca     MOVFF     0xca,0x3                                                                                        
00089c   f003                                                                                                               
00089e   6a00     CLRF      0x0,0x0                                                                                         
0008a0   6a02     CLRF      0x2,0x0                                                                                         
0008a2   6a03     CLRF      0x3,0x0                                                                                         
0008a4   0e08     MOVLW     0x8                                                                                             
0008a6   90d8     BCF       0xd8,0x0,0x0                                                                                    
0008a8   3203     RRCF      0x3,0x1,0x0                                                                                     
0008aa   3202     RRCF      0x2,0x1,0x0                                                                                     
0008ac   3201     RRCF      0x1,0x1,0x0                                                                                     
0008ae   3200     RRCF      0x0,0x1,0x0                                                                                     
0008b0   06e8     DECF      0xe8,0x1,0x0                                                                                    
0008b2   e1f9     BNZ       0x8a6                                                                                           
0008b4   5000     MOVF      0x0,0x0,0x0                                                                                     
0008b6   6ef7     MOVWF     0xf7,0x0                                                                                        
0008b8   0100     MOVLB     0x0                         TBLPTRL = (BYTE)(pgmAddress & 0xFF);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0008ba   51c7     MOVF      0xc7,0x0,0x1                                                                                    
0008bc   6ef6     MOVWF     0xf6,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        // Load bytes                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
0008be   0e11     MOVLW     0x11                        for(i=0;i<63;i++)                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008c0   6adb     CLRF      0xdb,0x0                                                                                        
0008c2   0e3f     MOVLW     0x3f                                                                                            
0008c4   6ef3     MOVWF     0xf3,0x0                                                                                        
0008c6   0e11     MOVLW     0x11                                                                                            
0008c8   cfdb     MOVFF     0xfdb,0xff4                                                                                     
0008ca   fff4                                                                                                               
0008cc   50f3     MOVF      0xf3,0x0,0x0                                                                                    
0008ce   5cf4     SUBWF     0xf4,0x0,0x0                                                                                    
0008d0   e215     BC        0x8fc                                                                                           
0008f6   0e11     MOVLW     0x11                                                                                            
0008f8   2adb     INCF      0xdb,0x1,0x0                                                                                    
0008fa   d7e3     BRA       0x8c2                                                                                           
                                                        {                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d2   0e11     MOVLW     0x11                            TABLAT=pgmData[i];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0008d4   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008d6   6aea     CLRF      0xea,0x0                                                                                        
0008d8   0f71     ADDLW     0x71                                                                                            
0008da   6ee9     MOVWF     0xe9,0x0                                                                                        
0008dc   0e00     MOVLW     0x0                                                                                             
0008de   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0008e0   50ef     MOVF      0xef,0x0,0x0                                                                                    
0008e2   6ef5     MOVWF     0xf5,0x0                                                                                        
0008e4   0e11     MOVLW     0x11                            pgmData[i]=0x0;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0008e6   50db     MOVF      0xdb,0x0,0x0                                                                                    
0008e8   6aea     CLRF      0xea,0x0                                                                                        
0008ea   0f71     ADDLW     0x71                                                                                            
0008ec   6ee9     MOVWF     0xe9,0x0                                                                                        
0008ee   0e00     MOVLW     0x0                                                                                             
0008f0   22ea     ADDWFC    0xea,0x1,0x0                                                                                    
0008f2   6aef     CLRF      0xef,0x0                                                                                        
0008f4   d9bb     RCALL     0xc6c                           TBLWTPOSTINC_Func();                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                        }                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0008fc   c0b0     MOVFF     0xb0,0xff5                  TABLAT=pgmData[63];                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0008fe   fff5                                                                                                               
000900   d9b3     RCALL     0xc68                       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
000902   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
000904   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
000906   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
000908   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
00090a   0e55     MOVLW     0x55                        EECON2 = 0x55;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00090c   6ea7     MOVWF     0xa7,0x0                                                                                        
00090e   0eaa     MOVLW     0xaa                        EECON2 = 0xAA;                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000910   6ea7     MOVWF     0xa7,0x0                                                                                        
000912   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
000914   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
000916   94a6     BCF       0xa6,0x2,0x0                EECON1bits.WREN = 0;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000918   c0cb     MOVFF     0xcb,0xc7                   pgmAddress     = newPgmAddress;                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00091a   f0c7                                                                                                               
00091c   c0cc     MOVFF     0xcc,0xc8                                                                                       
00091e   f0c8                                                                                                               
000920   c0cd     MOVFF     0xcd,0xc9                                                                                       
000922   f0c9                                                                                                               
000924   c0ce     MOVFF     0xce,0xca                                                                                       
000926   f0ca                                                                                                               
000928   0100     MOVLB     0x0                         ackType = btACK;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
00092a   0e04     MOVLW     0x4                                                                                             
00092c   6fc6     MOVWF     0xc6,0x1                                                                                        
00092e   0100     MOVLB     0x0                         pgs             = pgsSEND_ACK;                                                        F:\MCP\projects\CAN\canBoot\Source\Main.c
000930   0e01     MOVLW     0x1                                                                                             
000932   6fc3     MOVWF     0xc3,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000934   d007     BRA       0x944                   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
000936   9282     BCF       0x82,0x1,0x0                LED0_IO= 0;                                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000938   ef00     GOTO      0x3000                      _asm  goto RM_RESET_VECTOR _endasm                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
00093a   f018                                                                                                               
00093c   d003     BRA       0x944                   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
00093e   0100     MOVLB     0x0                         pgs = pgsWAITING_START;                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000940   6bc3     CLRF      0xc3,0x1                                                                                        
000942   d000     BRA       0x944                   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
000946   0e2a     MOVLW     0x2a           }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000948   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
00094a   e202     BC        0x950                                                                                           
00094c   6ae1     CLRF      0xe1,0x0                                                                                        
00094e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000950   6ee1     MOVWF     0xe1,0x0                                                                                        
000952   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000954   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000956   ffd9                                                                                                               
000958   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
00095a   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
00095c   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
00095e   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000960   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
000962   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
000964   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
000966   0e80     MOVLW     0x80            CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000968   6e6f     MOVWF     0x6f,0x0                                                                                        
00096a   0ee0     MOVLW     0xe0            while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBoot\Source\Main.c
00096c   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00096e   0880     SUBLW     0x80                                                                                            
000970   e001     BZ        0x974                                                                                           
000972   d7fb     BRA       0x96a                                                                                           
                                                                                                                            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
000974   0e04     MOVLW     0x4             BRGCON1 = 0x04;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000976   6e70     MOVWF     0x70,0x0                                                                                        
000978   0ed1     MOVLW     0xd1            BRGCON2 = 0xD1;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00097a   6e71     MOVWF     0x71,0x0                                                                                        
00097c   0e81     MOVLW     0x81            BRGCON3 = 0x81;                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
00097e   6e72     MOVWF     0x72,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000980   6a77     CLRF      0x77,0x0        ECANCON=0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
000982   8e77     BSF       0x77,0x7,0x0    ECANCONbits.MDSEL1 = 1;                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000984   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
000986   8c60     BSF       0x60,0x6,0x0    RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000988   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
00098a   010d     MOVLB     0xd             TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBoot\Source\Main.c
00098c   6bfc     CLRF      0xfc,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                            //rx no interrupt                                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
00098e   6aa4     CLRF      0xa4,0x0        PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000990   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
000992   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
000994   6a6f     CLRF      0x6f,0x0            CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000996   0ee0     MOVLW     0xe0                while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000998   146e     ANDWF     0x6e,0x0,0x0                                                                                    
00099a   e001     BZ        0x99e                                                                                           
00099c   d7fc     BRA       0x996                                                                                           
                                            #endif                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
00099e   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
0009a0   0e0f     MOVLW     0xf                 ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBoot\Source\Main.c
0009a2   146f     ANDWF     0x6f,0x0,0x0                                                                                    
0009a4   0910     IORLW     0x10                                                                                            
0009a6   6e00     MOVWF     0x0,0x0                                                                                         
0009a8   0e00     MOVLW     0x0                                                                                             
0009aa   1477     ANDWF     0x77,0x0,0x0                                                                                    
0009ac   1000     IORWF     0x0,0x0,0x0                                                                                     
0009ae   6e77     MOVWF     0x77,0x0                                                                                        
0009b0   be60     BTFSC     0x60,0x7,0x0        if (!RXB0CONbits.RXFUL) return FALSE;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
0009b2   d002     BRA       0x9b8                                                                                           
0009b4   0e00     MOVLW     0x0                                                                                             
0009b6   d08d     BRA       0xad2                                                                                           
                                                                                                                            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
0009b8   0e06     MOVLW     0x6                 cp.type = ((RXB0SIDH&0xC)>>6);                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
0009ba   6e00     MOVWF     0x0,0x0                                                                                         
0009bc   0e0c     MOVLW     0xc                                                                                             
0009be   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009c0   c000     MOVFF     0x0,0xfe7                                                                                       
0009c2   ffe7                                                                                                               
0009c4   52e7     MOVF      0xe7,0x1,0x0                                                                                    
0009c6   e004     BZ        0x9d0                                                                                           
0009c8   42e8     RRNCF     0xe8,0x1,0x0                                                                                    
0009ca   0b7f     ANDLW     0x7f                                                                                            
0009cc   06e7     DECF      0xe7,0x1,0x0                                                                                    
0009ce   e1fc     BNZ       0x9c8                                                                                           
0009d0   0100     MOVLB     0x0                                                                                             
0009d2   6f60     MOVWF     0x60,0x1                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
0009d4   5160     MOVF      0x60,0x0,0x1        if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
0009d6   e11b     BNZ       0xa0e                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
0009d8   0e38     MOVLW     0x38                    cp.boot.type  = ((RXB0SIDH&0x38)>>3);                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
0009da   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009dc   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009de   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009e0   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009e2   0b1f     ANDLW     0x1f                                                                                            
0009e4   6f64     MOVWF     0x64,0x1                                                                                        
0009e6   0e03     MOVLW     0x3                     cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3);      F:\MCP\projects\CAN\canBoot\Source\Main.c
0009e8   1462     ANDWF     0x62,0x0,0x0                                                                                    
0009ea   6e01     MOVWF     0x1,0x0                                                                                         
0009ec   0ee0     MOVLW     0xe0                                                                                            
0009ee   1462     ANDWF     0x62,0x0,0x0                                                                                    
0009f0   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009f2   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009f4   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
0009f6   0b1f     ANDLW     0x1f                                                                                            
0009f8   6e00     MOVWF     0x0,0x0                                                                                         
0009fa   0e07     MOVLW     0x7                                                                                             
0009fc   1461     ANDWF     0x61,0x0,0x0                                                                                    
0009fe   0d20     MULLW     0x20                                                                                            
000a00   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000a02   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a04   2401     ADDWF     0x1,0x0,0x0                                                                                     
000a06   6f65     MOVWF     0x65,0x1                                                                                        
000a08   cf63     MOVFF     0xf63,0x66              cp.boot.rid   = RXB0EIDH;                                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000a0a   f066                                                                                                               
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000a0c   d033     BRA       0xa74               else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000a0e   0e3c     MOVLW     0x3c                    cp.pgm.class= ((RXB0SIDH&0x3C)>>2);                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a10   1461     ANDWF     0x61,0x0,0x0                                                                                    
000a12   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000a14   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000a16   0b3f     ANDLW     0x3f                                                                                            
000a18   6f61     MOVWF     0x61,0x1                                                                                        
000a1a   0e03     MOVLW     0x3                     cp.pgm.id   = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+(((WORD)RXB0SIDL&0x3)<<8)+(WORD)RXB0EIDH; F:\MCP\projects\CAN\canBoot\Source\Main.c
000a1c   1461     ANDWF     0x61,0x0,0x0                                                                                    
000a1e   6e04     MOVWF     0x4,0x0                                                                                         
000a20   6a05     CLRF      0x5,0x0                                                                                         
000a22   3804     SWAPF     0x4,0x0,0x0                                                                                     
000a24   6a04     CLRF      0x4,0x0                                                                                         
000a26   34e8     RLCF      0xe8,0x0,0x0                                                                                    
000a28   0be0     ANDLW     0xe0                                                                                            
000a2a   6e05     MOVWF     0x5,0x0                                                                                         
000a2c   0ee0     MOVLW     0xe0                                                                                            
000a2e   1462     ANDWF     0x62,0x0,0x0                                                                                    
000a30   6e06     MOVWF     0x6,0x0                                                                                         
000a32   6a07     CLRF      0x7,0x0                                                                                         
000a34   0e05     MOVLW     0x5                                                                                             
000a36   90d8     BCF       0xd8,0x0,0x0                                                                                    
000a38   3606     RLCF      0x6,0x1,0x0                                                                                     
000a3a   3607     RLCF      0x7,0x1,0x0                                                                                     
000a3c   04e8     DECF      0xe8,0x0,0x0                                                                                    
000a3e   e1fb     BNZ       0xa36                                                                                           
000a40   5004     MOVF      0x4,0x0,0x0                                                                                     
000a42   2406     ADDWF     0x6,0x0,0x0                                                                                     
000a44   6e02     MOVWF     0x2,0x0                                                                                         
000a46   5005     MOVF      0x5,0x0,0x0                                                                                     
000a48   2007     ADDWFC    0x7,0x0,0x0                                                                                     
000a4a   6e03     MOVWF     0x3,0x0                                                                                         
000a4c   0e03     MOVLW     0x3                                                                                             
000a4e   1462     ANDWF     0x62,0x0,0x0                                                                                    
000a50   6e08     MOVWF     0x8,0x0                                                                                         
000a52   6a09     CLRF      0x9,0x0                                                                                         
000a54   c008     MOVFF     0x8,0x9                                                                                         
000a56   f009                                                                                                               
000a58   6a08     CLRF      0x8,0x0                                                                                         
000a5a   5002     MOVF      0x2,0x0,0x0                                                                                     
000a5c   2408     ADDWF     0x8,0x0,0x0                                                                                     
000a5e   6e00     MOVWF     0x0,0x0                                                                                         
000a60   5003     MOVF      0x3,0x0,0x0                                                                                     
000a62   2009     ADDWFC    0x9,0x0,0x0                                                                                     
000a64   6e01     MOVWF     0x1,0x0                                                                                         
000a66   5063     MOVF      0x63,0x0,0x0                                                                                    
000a68   0100     MOVLB     0x0                                                                                             
000a6a   2400     ADDWF     0x0,0x0,0x0                                                                                     
000a6c   6f62     MOVWF     0x62,0x1                                                                                        
000a6e   0e00     MOVLW     0x0                                                                                             
000a70   2001     ADDWFC    0x1,0x0,0x0                                                                                     
000a72   6f63     MOVWF     0x63,0x1                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000a74   cf64     MOVFF     0xf64,0x67          cp.sid   = RXB0EIDL;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000a76   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
000a78   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
000a7a   0b01     ANDLW     0x1                                                                                             
000a7c   6e02     MOVWF     0x2,0x0                                                                                         
000a7e   5065     MOVF      0x65,0x0,0x0                                                                                    
000a80   0b02     ANDLW     0x2                                                                                             
000a82   e001     BZ        0xa86                                                                                           
000a84   0e01     MOVLW     0x1                                                                                             
000a86   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
000a88   6e01     MOVWF     0x1,0x0                                                                                         
000a8a   5065     MOVF      0x65,0x0,0x0                                                                                    
000a8c   0b04     ANDLW     0x4                                                                                             
000a8e   e001     BZ        0xa92                                                                                           
000a90   0e01     MOVLW     0x1                                                                                             
000a92   0d04     MULLW     0x4                                                                                             
000a94   cff3     MOVFF     0xff3,0x0                                                                                       
000a96   f000                                                                                                               
000a98   5065     MOVF      0x65,0x0,0x0                                                                                    
000a9a   0b08     ANDLW     0x8                                                                                             
000a9c   e001     BZ        0xaa0                                                                                           
000a9e   0e01     MOVLW     0x1                                                                                             
000aa0   0d08     MULLW     0x8                                                                                             
000aa2   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000aa4   2400     ADDWF     0x0,0x0,0x0                                                                                     
000aa6   2401     ADDWF     0x1,0x0,0x0                                                                                     
000aa8   2402     ADDWF     0x2,0x0,0x0                                                                                     
000aaa   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
000aac   cf66     MOVFF     0xf66,0x69          cp.data[0]=RXB0D0;  cp.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000aae   f069                                                                                                               
000ab0   cf67     MOVFF     0xf67,0x6a                                                                                      
000ab2   f06a                                                                                                               
000ab4   cf68     MOVFF     0xf68,0x6b          cp.data[2]=RXB0D2;  cp.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ab6   f06b                                                                                                               
000ab8   cf69     MOVFF     0xf69,0x6c                                                                                      
000aba   f06c                                                                                                               
000abc   cf6a     MOVFF     0xf6a,0x6d          cp.data[4]=RXB0D4;  cp.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000abe   f06d                                                                                                               
000ac0   cf6b     MOVFF     0xf6b,0x6e                                                                                      
000ac2   f06e                                                                                                               
000ac4   cf6c     MOVFF     0xf6c,0x6f          cp.data[6]=RXB0D6;  cp.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000ac6   f06f                                                                                                               
000ac8   cf6d     MOVFF     0xf6d,0x70                                                                                      
000aca   f070                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Clear ful status                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000acc   9e60     BCF       0x60,0x7,0x0        RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000ace   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000ad0   d000     BRA       0xad2                                                                                           
000ad2   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
000ad4   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_PACKET cp)                                               F:\MCP\projects\CAN\canBoot\Source\Main.c
000ad6   ffe6                                                                                                               
000ad8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000ada   ffd9                                                                                                               
000adc   52e6     MOVF      0xe6,0x1,0x0                                                                                    
                                           {                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000ade   0e03     MOVLW     0x3             BYTE prio = 3;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000ae0   6edf     MOVWF     0xdf,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000ae2   010f     MOVLB     0xf             if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000ae4   b740     BTFSC     0x40,0x3,0x1                                                                                    
000ae6   d004     BRA       0xaf0                                                                                           
000ae8   0e00     MOVLW     0x0                                                                                             
000aea   1477     ANDWF     0x77,0x0,0x0                                                                                    
000aec   0903     IORLW     0x3                                                                                             
000aee   6e77     MOVWF     0x77,0x0                                                                                        
000af0   010f     MOVLB     0xf             if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000af2   b730     BTFSC     0x30,0x3,0x1                                                                                    
000af4   d004     BRA       0xafe                                                                                           
000af6   0e00     MOVLW     0x0                                                                                             
000af8   1477     ANDWF     0x77,0x0,0x0                                                                                    
000afa   0904     IORLW     0x4                                                                                             
000afc   6e77     MOVWF     0x77,0x0                                                                                        
000afe   010f     MOVLB     0xf             if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBoot\Source\Main.c
000b00   b720     BTFSC     0x20,0x3,0x1                                                                                    
000b02   d005     BRA       0xb0e                                                                                           
000b04   0e00     MOVLW     0x0                                                                                             
000b06   1477     ANDWF     0x77,0x0,0x0                                                                                    
000b08   0905     IORLW     0x5                                                                                             
000b0a   6e77     MOVWF     0x77,0x0                                                                                        
                                            // None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0c   d002     BRA       0xb12           else { return FALSE;}                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000b0e   0e00     MOVLW     0x0                                                                                             
000b10   d0a4     BRA       0xc5a                                                                                           
                                                                                                                            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
000b12   0eee     MOVLW     0xee                if (cp.type==ptBOOT)                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
000b14   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b16   e124     BNZ       0xb60                                                                                           
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b18   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
000b1a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b1c   0be0     ANDLW     0xe0                                                                                            
000b1e   0be0     ANDLW     0xe0                                                                                            
000b20   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
000b22   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
000b24   6e01     MOVWF     0x1,0x0                                                                                         
000b26   0ef2     MOVLW     0xf2                                                                                            
000b28   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b2a   0b07     ANDLW     0x7                                                                                             
000b2c   0d08     MULLW     0x8                                                                                             
000b2e   cff3     MOVFF     0xff3,0x0                                                                                       
000b30   f000                                                                                                               
000b32   0eee     MOVLW     0xee                                                                                            
000b34   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b36   0b03     ANDLW     0x3                                                                                             
000b38   0d40     MULLW     0x40                                                                                            
000b3a   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b3c   2400     ADDWF     0x0,0x0,0x0                                                                                     
000b3e   2401     ADDWF     0x1,0x0,0x0                                                                                     
000b40   6e61     MOVWF     0x61,0x0                                                                                        
000b42   0ef3     MOVLW     0xf3                    RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3);                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000b44   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b46   0b03     ANDLW     0x3                                                                                             
000b48   6e00     MOVWF     0x0,0x0                                                                                         
000b4a   0ef3     MOVLW     0xf3                                                                                            
000b4c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b4e   0b1c     ANDLW     0x1c                                                                                            
000b50   0d08     MULLW     0x8                                                                                             
000b52   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b54   2400     ADDWF     0x0,0x0,0x0                                                                                     
000b56   6e62     MOVWF     0x62,0x0                                                                                        
000b58   0ef4     MOVLW     0xf4                    RXB0EIDH = cp.boot.rid;                                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000b5a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b5c   6e63     MOVWF     0x63,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b5e   d04f     BRA       0xbfe               else                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                {                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000b60   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
000b62   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b64   0b0f     ANDLW     0xf                                                                                             
000b66   0d04     MULLW     0x4                                                                                             
000b68   cff3     MOVFF     0xff3,0x2                                                                                       
000b6a   f002                                                                                                               
000b6c   0eee     MOVLW     0xee                                                                                            
000b6e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000b70   0b03     ANDLW     0x3                                                                                             
000b72   0d40     MULLW     0x40                                                                                            
000b74   50f3     MOVF      0xf3,0x0,0x0                                                                                    
000b76   2402     ADDWF     0x2,0x0,0x0                                                                                     
000b78   6e00     MOVWF     0x0,0x0                                                                                         
000b7a   6a01     CLRF      0x1,0x0                                                                                         
000b7c   be00     BTFSC     0x0,0x7,0x0                                                                                     
000b7e   6801     SETF      0x1,0x0                                                                                         
000b80   0ef0     MOVLW     0xf0                                                                                            
000b82   cfdb     MOVFF     0xfdb,0x3                                                                                       
000b84   f003                                                                                                               
000b86   0ef1     MOVLW     0xf1                                                                                            
000b88   cfdb     MOVFF     0xfdb,0x4                                                                                       
000b8a   f004                                                                                                               
000b8c   0e00     MOVLW     0x0                                                                                             
000b8e   1603     ANDWF     0x3,0x1,0x0                                                                                     
000b90   0e60     MOVLW     0x60                                                                                            
000b92   1604     ANDWF     0x4,0x1,0x0                                                                                     
000b94   3804     SWAPF     0x4,0x0,0x0                                                                                     
000b96   6a04     CLRF      0x4,0x0                                                                                         
000b98   30e8     RRCF      0xe8,0x0,0x0                                                                                    
000b9a   0b07     ANDLW     0x7                                                                                             
000b9c   6e03     MOVWF     0x3,0x0                                                                                         
000b9e   5000     MOVF      0x0,0x0,0x0                                                                                     
000ba0   2403     ADDWF     0x3,0x0,0x0                                                                                     
000ba2   6e61     MOVWF     0x61,0x0                                                                                        
000ba4   0ef0     MOVLW     0xf0                    RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8);                    F:\MCP\projects\CAN\canBoot\Source\Main.c
000ba6   cfdb     MOVFF     0xfdb,0x0                                                                                       
000ba8   f000                                                                                                               
000baa   0ef1     MOVLW     0xf1                                                                                            
000bac   cfdb     MOVFF     0xfdb,0x1                                                                                       
000bae   f001                                                                                                               
000bb0   0e00     MOVLW     0x0                                                                                             
000bb2   1600     ANDWF     0x0,0x1,0x0                                                                                     
000bb4   0e1c     MOVLW     0x1c                                                                                            
000bb6   1601     ANDWF     0x1,0x1,0x0                                                                                     
000bb8   0e05     MOVLW     0x5                                                                                             
000bba   90d8     BCF       0xd8,0x0,0x0                                                                                    
000bbc   3201     RRCF      0x1,0x1,0x0                                                                                     
000bbe   3200     RRCF      0x0,0x1,0x0                                                                                     
000bc0   04e8     DECF      0xe8,0x0,0x0                                                                                    
000bc2   e1fb     BNZ       0xbba                                                                                           
000bc4   0ef0     MOVLW     0xf0                                                                                            
000bc6   cfdb     MOVFF     0xfdb,0x2                                                                                       
000bc8   f002                                                                                                               
000bca   0ef1     MOVLW     0xf1                                                                                            
000bcc   cfdb     MOVFF     0xfdb,0x3                                                                                       
000bce   f003                                                                                                               
000bd0   0e00     MOVLW     0x0                                                                                             
000bd2   1602     ANDWF     0x2,0x1,0x0                                                                                     
000bd4   0e03     MOVLW     0x3                                                                                             
000bd6   1603     ANDWF     0x3,0x1,0x0                                                                                     
000bd8   c003     MOVFF     0x3,0x2                                                                                         
000bda   f002                                                                                                               
000bdc   6a03     CLRF      0x3,0x0                                                                                         
000bde   5000     MOVF      0x0,0x0,0x0                                                                                     
000be0   2402     ADDWF     0x2,0x0,0x0                                                                                     
000be2   6e62     MOVWF     0x62,0x0                                                                                        
000be4   0eff     MOVLW     0xff                    RXB0EIDH = (cp.pgm.id&0xFF);                                                  F:\MCP\projects\CAN\canBoot\Source\Main.c
000be6   6ee7     MOVWF     0xe7,0x0                                                                                        
000be8   0ef0     MOVLW     0xf0                                                                                            
000bea   cfdb     MOVFF     0xfdb,0x0                                                                                       
000bec   f000                                                                                                               
000bee   0ef1     MOVLW     0xf1                                                                                            
000bf0   cfdb     MOVFF     0xfdb,0x1                                                                                       
000bf2   f001                                                                                                               
000bf4   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000bf6   1600     ANDWF     0x0,0x1,0x0                                                                                     
000bf8   6a01     CLRF      0x1,0x0                                                                                         
000bfa   5000     MOVF      0x0,0x0,0x0                                                                                     
000bfc   6e63     MOVWF     0x63,0x0                                                                                        
                                                }                                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000bfe   c0c1     MOVFF     0xc1,0xf64          RXB0EIDL = MY_ID;                                                              F:\MCP\projects\CAN\canBoot\Source\Main.c
000c00   ff64                                                                                                               
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // Data length                                                                 F:\MCP\projects\CAN\canBoot\Source\Main.c
000c02   6a65     CLRF      0x65,0x0            RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000c04   0ef6     MOVLW     0xf6                if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length;                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000c06   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c08   0808     SUBLW     0x8                                                                                             
000c0a   e203     BC        0xc12                                                                                           
000c0c   0e08     MOVLW     0x8                                                                                             
000c0e   6e65     MOVWF     0x65,0x0                                                                                        
000c10   d003     BRA       0xc18                                                                                           
000c12   0ef6     MOVLW     0xf6                                                                                            
000c14   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c16   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
000c18   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
000c1a   0ef7     MOVLW     0xf7                RXB0D0=cp.data[0];  RXB0D1=cp.data[1];                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c1c   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c1e   6e66     MOVWF     0x66,0x0                                                                                        
000c20   0ef8     MOVLW     0xf8                                                                                            
000c22   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c24   6e67     MOVWF     0x67,0x0                                                                                        
000c26   0ef9     MOVLW     0xf9                RXB0D2=cp.data[2];  RXB0D3=cp.data[3];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c28   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c2a   6e68     MOVWF     0x68,0x0                                                                                        
000c2c   0efa     MOVLW     0xfa                                                                                            
000c2e   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c30   6e69     MOVWF     0x69,0x0                                                                                        
000c32   0efb     MOVLW     0xfb                RXB0D4=cp.data[4];  RXB0D5=cp.data[5];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c34   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c36   6e6a     MOVWF     0x6a,0x0                                                                                        
000c38   0efc     MOVLW     0xfc                                                                                            
000c3a   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c3c   6e6b     MOVWF     0x6b,0x0                                                                                        
000c3e   0efd     MOVLW     0xfd                RXB0D6=cp.data[6];  RXB0D7=cp.data[7];                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c40   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c42   6e6c     MOVWF     0x6c,0x0                                                                                        
000c44   0efe     MOVLW     0xfe                                                                                            
000c46   50db     MOVF      0xdb,0x0,0x0                                                                                    
000c48   6e6d     MOVWF     0x6d,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
                                                // set extended or not                                                         F:\MCP\projects\CAN\canBoot\Source\Main.c
000c4a   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
000c4c   0efc     MOVLW     0xfc                RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBoot\Source\Main.c
000c4e   1460     ANDWF     0x60,0x0,0x0                                                                                    
000c50   10df     IORWF     0xdf,0x0,0x0                                                                                    
000c52   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
000c54   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
000c56   0e01     MOVLW     0x1                 return TRUE;                                                                   F:\MCP\projects\CAN\canBoot\Source\Main.c
000c58   d000     BRA       0xc5a                                                                                           
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\Main.c
000c5a   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\Main.c
000c5c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000c5e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000c60   ffd9                                                                                                               
000c62   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
000c64   0008     TBLRD                     TBLRD                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c66   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
000c68   000c     TBLWT                     TBLWT                                                                           F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c6a   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
000c6c   000d     TBLWTPOSTINC              TBLWTPOSTINC                                                                    F:\MCP\projects\CAN\canBoot\Source\Main.c
                                           _endasm                                                                          F:\MCP\projects\CAN\canBoot\Source\Main.c
000c6e   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
000c70   c0b9     MOVFF     0xb9,0x10       return tickCounter;                                                             F:\MCP\projects\CAN\canBoot\Source\Main.c
000c72   f010                                                                                                               
000c74   c0ba     MOVFF     0xba,0x11                                                                                       
000c76   f011                                                                                                               
000c78   c0bb     MOVFF     0xbb,0x12                                                                                       
000c7a   f012                                                                                                               
000c7c   c0bc     MOVFF     0xbc,0x13                                                                                       
000c7e   f013                                                                                                               
000c80   d000     BRA       0xc82                                                                                           
000c82   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
000e2c   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
000e2e   ffe6                                                                                                               
000e30   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000e32   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e34   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000e36   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e38   f000                                                                                                               
000e3a   0efe     MOVLW     0xfe                                                                                            
000e3c   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e3e   f001                                                                                                               
000e40   c001     MOVFF     0x1,0x0                                                                                         
000e42   f000                                                                                                               
000e44   6a01     CLRF      0x1,0x0                                                                                         
000e46   5000     MOVF      0x0,0x0,0x0                                                                                     
000e48   6eaa     MOVWF     0xaa,0x0                                                                                        
000e4a   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000e4c   6ee7     MOVWF     0xe7,0x0                                                                                        
000e4e   0efd     MOVLW     0xfd                                                                                            
000e50   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e52   f000                                                                                                               
000e54   0efe     MOVLW     0xfe                                                                                            
000e56   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e58   f001                                                                                                               
000e5a   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000e5c   1600     ANDWF     0x0,0x1,0x0                                                                                     
000e5e   6a01     CLRF      0x1,0x0                                                                                         
000e60   5000     MOVF      0x0,0x0,0x0                                                                                     
000e62   6ea9     MOVWF     0xa9,0x0                                                                                        
000e64   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000e66   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000e68   80a6     BSF       0xa6,0x0,0x0    EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e6a   50a8     MOVF      0xa8,0x0,0x0    return EEDATA;                                                                   F:\MCP\projects\CAN\Include\EEAccess.c
000e6c   d000     BRA       0xe6e                                                                                           
000e6e   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e70   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000e72   ffd9                                                                                                               
000e74   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
000e76   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e78   ffe6                                                                                                               
000e7a   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000e7c   ffd9                                                                                                               
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e7e   98a1     BCF       0xa1,0x4,0x0    PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000e80   0efd     MOVLW     0xfd            EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
000e82   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e84   f000                                                                                                               
000e86   0efe     MOVLW     0xfe                                                                                            
000e88   cfdb     MOVFF     0xfdb,0x1                                                                                       
000e8a   f001                                                                                                               
000e8c   c001     MOVFF     0x1,0x0                                                                                         
000e8e   f000                                                                                                               
000e90   6a01     CLRF      0x1,0x0                                                                                         
000e92   5000     MOVF      0x0,0x0,0x0                                                                                     
000e94   6eaa     MOVWF     0xaa,0x0                                                                                        
000e96   0eff     MOVLW     0xff            EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
000e98   6ee7     MOVWF     0xe7,0x0                                                                                        
000e9a   0efd     MOVLW     0xfd                                                                                            
000e9c   cfdb     MOVFF     0xfdb,0x0                                                                                       
000e9e   f000                                                                                                               
000ea0   0efe     MOVLW     0xfe                                                                                            
000ea2   cfdb     MOVFF     0xfdb,0x1                                                                                       
000ea4   f001                                                                                                               
000ea6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
000ea8   1600     ANDWF     0x0,0x1,0x0                                                                                     
000eaa   6a01     CLRF      0x1,0x0                                                                                         
000eac   5000     MOVF      0x0,0x0,0x0                                                                                     
000eae   6ea9     MOVWF     0xa9,0x0                                                                                        
000eb0   0efc     MOVLW     0xfc            EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000eb2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000eb4   6ea8     MOVWF     0xa8,0x0                                                                                        
000eb6   9ea6     BCF       0xa6,0x7,0x0    EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
000eb8   9ca6     BCF       0xa6,0x6,0x0    EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000eba   84a6     BSF       0xa6,0x2,0x0    EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000ebc   9ef2     BCF       0xf2,0x7,0x0    INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000ebe   0e55     MOVLW     0x55            EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000ec0   6ea7     MOVWF     0xa7,0x0                                                                                        
000ec2   0eaa     MOVLW     0xaa            EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
000ec4   6ea7     MOVWF     0xa7,0x0                                                                                        
000ec6   82a6     BSF       0xa6,0x1,0x0    EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000ec8   8ef2     BSF       0xf2,0x7,0x0    INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
000eca   a8a1     BTFSS     0xa1,0x4,0x0    while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
000ecc   d7fe     BRA       0xeca                                                                                           
000ece   94a6     BCF       0xa6,0x2,0x0    EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
000ed0   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
000ed2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000ed4   ffd9                                                                                                               
000ed6   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
00108e   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
001090   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
001092   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
001068   b0d0     BTFSC     0xd0,0x0,0x0           if(!RCONbits.NOT_BOR)           // If BOR is clear                       E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00106a   d006     BRA       0x1078                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00106c   b2d0     BTFSC     0xd0,0x1,0x0                   if(!RCONbits.NOT_POR)   // And POR is clear                      E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00106e   d002     BRA       0x1074                                                                                          
001070   0e00     MOVLW     0x0                                    return 0x00;    // Return FALSE                          E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001072   d004     BRA       0x107c                                                                                          
001074   0e01     MOVLW     0x1                            return 1;               // Else return TRUE                      E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001076   d002     BRA       0x107c                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
001078   0e00     MOVLW     0x0                    return 0x00;                    // Else return FALSE                     E:\Program\MCC18\src\traditional\pmc\reset\isbor.c
00107a   d000     BRA       0x107c                                                                                          
00107c   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
00107e   a4a1     BTFSS     0xa1,0x2,0x0      if(PIR2bits.LVDIF)                                                            E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001080   d003     BRA       0x1088                                                                                          
001082   0e01     MOVLW     0x1                  return 1;                                                                  E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001084   d003     BRA       0x108c                                                                                          
001086   d002     BRA       0x108c            else                                                                          E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
001088   0e00     MOVLW     0x0                  return 0;                                                                  E:\Program\MCC18\src\traditional\pmc\reset\islvd.c
00108a   d000     BRA       0x108c                                                                                          
00108c   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
000f76   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // If POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f78   d01a     BRA       0xfae                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f7a   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)             // If NOT_PD is set              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f7c   d016     BRA       0xfaa                                                                                           
                                                           {                                                                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
000f7e   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // If BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f80   d012     BRA       0xfa6                                                                                           
                                                                   {                                                        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
000f82   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO is cleared      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f84   d002     BRA       0xf8a                                                                                           
000f86   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f88   d014     BRA       0xfb2                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f8a   b8d0     BTFSC     0xd0,0x4,0x0                                   if(!RCONbits.NOT_RI)    // If RI is cleared      E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f8c   d002     BRA       0xf92                                                                                           
000f8e   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f90   d010     BRA       0xfb2                                                                                           
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                           #if defined(STVR_ENABLED)                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f92   aefc     BTFSS     0xfc,0x7,0x0                                   if(STKPTRbits.STKOVF)    // If STKOVF is set     E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f94   d002     BRA       0xf9a                                                                                           
000f96   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f98   d00c     BRA       0xfb2                                                                                           
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f9a   acfc     BTFSS     0xfc,0x6,0x0                                   if(STKPTRbits.STKUNF)    // If STKUNF is set     E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000f9c   d002     BRA       0xfa2                                                                                           
000f9e   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fa0   d008     BRA       0xfb2                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
                                                                                                                            E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fa2   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fa4   d006     BRA       0xfb2                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fa6   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fa8   d004     BRA       0xfb2                                                                                           
                                                   // 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
000faa   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fac   d002     BRA       0xfb2                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fae   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ismclr.c
000fb0   d000     BRA       0xfb2                                                                                           
000fb2   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
001026   b2d0     BTFSC     0xd0,0x1,0x0           if(!RCONbits.NOT_POR)           // If POR cleared                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001028   d00e     BRA       0x1046                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00102a   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)     // If PD set                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00102c   d00a     BRA       0x1042                                                                                          
                                                           {                                                                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
00102e   b0d0     BTFSC     0xd0,0x0,0x0                           if(!RCONbits.NOT_BOR)   // If BOR cleared                E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001030   d006     BRA       0x103e                                                                                          
                                                                   {                                                        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
001032   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO cleared         E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001034   d002     BRA       0x103a                                                                                          
001036   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001038   d008     BRA       0x104a                                                                                          
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00103a   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00103c   d006     BRA       0x104a                                                                                          
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
00103e   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001040   d004     BRA       0x104a                                                                                          
                                                           // 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
001042   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001044   d002     BRA       0x104a                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001046   0e00     MOVLW     0x0                    return 0x00;                                                             E:\Program\MCC18\src\traditional\pmc\reset\ispor.c
001048   d000     BRA       0x104a                                                                                          
00104a   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
001000   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                            // if POR is set         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001002   d00e     BRA       0x1020                                                                                          
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001004   a4d0     BTFSS     0xd0,0x2,0x0                   if(RCONbits.NOT_PD)                     // if NOT_PD is set      E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001006   d00a     BRA       0x101c                                                                                          
                                                           {                                                                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
001008   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)            // if BOR is set         E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100a   d006     BRA       0x1018                                                                                          
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100c   a6d0     BTFSS     0xd0,0x3,0x0                                   if(RCONbits.NOT_TO)     // if TO is set          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00100e   d002     BRA       0x1014                                                                                          
001010   0e00     MOVLW     0x0                                                    return 0x00;    // Return FALSE          E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001012   d008     BRA       0x1024                                                                                          
001014   0e01     MOVLW     0x1                                            return 1;               // Else return TRUE      E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001016   d006     BRA       0x1024                                                                                          
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001018   0e00     MOVLW     0x0                                    return 0x00;                    // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00101a   d004     BRA       0x1024                                                                                          
                                                           // 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
00101c   0e00     MOVLW     0x0                            return 0x00;                            // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
00101e   d002     BRA       0x1024                                                                                          
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001020   0e00     MOVLW     0x0                    return 0x00;                                    // Else return FALSE     E:\Program\MCC18\src\traditional\pmc\reset\iswdtto.c
001022   d000     BRA       0x1024                                                                                          
001024   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
000fda   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // if POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fdc   d00e     BRA       0xffa                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fde   b4d0     BTFSC     0xd0,0x2,0x0                   if(!RCONbits.NOT_PD)            // if NOT_PD is cleared          E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe0   d00a     BRA       0xff6                                                                                           
                                                           {                                                                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
000fe2   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // if BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe4   d006     BRA       0xff2                                                                                           
                                                                   {                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe6   a6d0     BTFSS     0xd0,0x3,0x0                                   if(RCONbits.NOT_TO)     // if TO is set          E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fe8   d002     BRA       0xfee                                                                                           
000fea   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000fec   d008     BRA       0xffe                                                                                           
000fee   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ff0   d006     BRA       0xffe                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ff2   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ff4   d004     BRA       0xffe                                                                                           
                                                   // 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
000ff6   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ff8   d002     BRA       0xffe                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ffa   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswdtwu.c
000ffc   d000     BRA       0xffe                                                                                           
000ffe   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
000fb4   a2d0     BTFSS     0xd0,0x1,0x0           if(RCONbits.NOT_POR)                    // If POR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb6   d00e     BRA       0xfd4                                                                                           
                                                   {                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fb8   b4d0     BTFSC     0xd0,0x2,0x0                   if(!RCONbits.NOT_PD)            // If PD is cleared              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fba   d00a     BRA       0xfd0                                                                                           
                                                           {                                                                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
000fbc   a0d0     BTFSS     0xd0,0x0,0x0                           if(RCONbits.NOT_BOR)    // If BOR is set                 E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fbe   d006     BRA       0xfcc                                                                                           
                                                                   {                                                        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
000fc0   b6d0     BTFSC     0xd0,0x3,0x0                                   if(!RCONbits.NOT_TO)    // If TO is cleared      E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fc2   d002     BRA       0xfc8                                                                                           
000fc4   0e00     MOVLW     0x0                                                    return 0x00;// Return FALSE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fc6   d008     BRA       0xfd8                                                                                           
                                           #endif                                                                           E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fc8   0e01     MOVLW     0x1                                            return 1;       // Else return TRUE              E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fca   d006     BRA       0xfd8                                                                                           
                                                                   }                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fcc   0e00     MOVLW     0x0                                    return 0x00;            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fce   d004     BRA       0xfd8                                                                                           
                                                   // 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
000fd0   0e00     MOVLW     0x0                            return 0x00;                    // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fd2   d002     BRA       0xfd8                                                                                           
                                                   }                                                                        E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fd4   0e00     MOVLW     0x0                    return 0x00;                            // Else return FALSE             E:\Program\MCC18\src\traditional\pmc\reset\iswu.c
000fd6   d000     BRA       0xfd8                                                                                           
000fd8   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
000c84   cfd9     MOVFF     0xfd9,0xfe6    void update_crc(uint16 *p_crc, uint8 data) {                                     F:\MCP\projects\CAN\canBoot\Source\crc16.c
000c86   ffe6                                                                                                               
000c88   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000c8a   ffd9                                                                                                               
000c8c   0efd     MOVLW     0xfd               *p_crc  = (*p_crc >> 8) | (*p_crc << 8);                                     F:\MCP\projects\CAN\canBoot\Source\crc16.c
000c8e   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000c90   ffe9                                                                                                               
000c92   0efe     MOVLW     0xfe                                                                                            
000c94   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000c96   ffea                                                                                                               
000c98   cfee     MOVFF     0xfee,0x2                                                                                       
000c9a   f002                                                                                                               
000c9c   cfef     MOVFF     0xfef,0x3                                                                                       
000c9e   f003                                                                                                               
000ca0   c003     MOVFF     0x3,0x2                                                                                         
000ca2   f002                                                                                                               
000ca4   6a03     CLRF      0x3,0x0                                                                                         
000ca6   0efd     MOVLW     0xfd                                                                                            
000ca8   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000caa   ffe9                                                                                                               
000cac   0efe     MOVLW     0xfe                                                                                            
000cae   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cb0   ffea                                                                                                               
000cb2   cfee     MOVFF     0xfee,0x4                                                                                       
000cb4   f004                                                                                                               
000cb6   cfef     MOVFF     0xfef,0x5                                                                                       
000cb8   f005                                                                                                               
000cba   c004     MOVFF     0x4,0x5                                                                                         
000cbc   f005                                                                                                               
000cbe   6a04     CLRF      0x4,0x0                                                                                         
000cc0   5002     MOVF      0x2,0x0,0x0                                                                                     
000cc2   1004     IORWF     0x4,0x0,0x0                                                                                     
000cc4   6e00     MOVWF     0x0,0x0                                                                                         
000cc6   5003     MOVF      0x3,0x0,0x0                                                                                     
000cc8   1005     IORWF     0x5,0x0,0x0                                                                                     
000cca   6e01     MOVWF     0x1,0x0                                                                                         
000ccc   0efd     MOVLW     0xfd                                                                                            
000cce   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000cd0   ffe9                                                                                                               
000cd2   0efe     MOVLW     0xfe                                                                                            
000cd4   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cd6   ffea                                                                                                               
000cd8   c000     MOVFF     0x0,0xfee                                                                                       
000cda   ffee                                                                                                               
000cdc   c001     MOVFF     0x1,0xfed                                                                                       
000cde   ffed                                                                                                               
000ce0   0efc     MOVLW     0xfc               *p_crc ^= data;                                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000ce2   50db     MOVF      0xdb,0x0,0x0                                                                                    
000ce4   6e00     MOVWF     0x0,0x0                                                                                         
000ce6   6a01     CLRF      0x1,0x0                                                                                         
000ce8   0efd     MOVLW     0xfd                                                                                            
000cea   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000cec   ffe9                                                                                                               
000cee   0efe     MOVLW     0xfe                                                                                            
000cf0   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000cf2   ffea                                                                                                               
000cf4   5000     MOVF      0x0,0x0,0x0                                                                                     
000cf6   1aee     XORWF     0xee,0x1,0x0                                                                                    
000cf8   5001     MOVF      0x1,0x0,0x0                                                                                     
000cfa   1aed     XORWF     0xed,0x1,0x0                                                                                    
000cfc   0efd     MOVLW     0xfd               *p_crc ^= (*p_crc & 0xff) >> 4;                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000cfe   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d00   ffe9                                                                                                               
000d02   0efe     MOVLW     0xfe                                                                                            
000d04   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d06   ffea                                                                                                               
000d08   cfee     MOVFF     0xfee,0x0                                                                                       
000d0a   f000                                                                                                               
000d0c   cfef     MOVFF     0xfef,0x1                                                                                       
000d0e   f001                                                                                                               
000d10   0eff     MOVLW     0xff                                                                                            
000d12   1600     ANDWF     0x0,0x1,0x0                                                                                     
000d14   0e00     MOVLW     0x0                                                                                             
000d16   1601     ANDWF     0x1,0x1,0x0                                                                                     
000d18   0e04     MOVLW     0x4                                                                                             
000d1a   90d8     BCF       0xd8,0x0,0x0                                                                                    
000d1c   3201     RRCF      0x1,0x1,0x0                                                                                     
000d1e   3200     RRCF      0x0,0x1,0x0                                                                                     
000d20   04e8     DECF      0xe8,0x0,0x0                                                                                    
000d22   e1fb     BNZ       0xd1a                                                                                           
000d24   0efd     MOVLW     0xfd                                                                                            
000d26   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d28   ffe9                                                                                                               
000d2a   0efe     MOVLW     0xfe                                                                                            
000d2c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d2e   ffea                                                                                                               
000d30   5000     MOVF      0x0,0x0,0x0                                                                                     
000d32   1aee     XORWF     0xee,0x1,0x0                                                                                    
000d34   5001     MOVF      0x1,0x0,0x0                                                                                     
000d36   1aed     XORWF     0xed,0x1,0x0                                                                                    
000d38   0efd     MOVLW     0xfd               *p_crc ^= *p_crc << 12;                                                      F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d3a   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d3c   ffe9                                                                                                               
000d3e   0efe     MOVLW     0xfe                                                                                            
000d40   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d42   ffea                                                                                                               
000d44   cfee     MOVFF     0xfee,0x0                                                                                       
000d46   f000                                                                                                               
000d48   cfef     MOVFF     0xfef,0x1                                                                                       
000d4a   f001                                                                                                               
000d4c   3800     SWAPF     0x0,0x0,0x0                                                                                     
000d4e   6a00     CLRF      0x0,0x0                                                                                         
000d50   0bf0     ANDLW     0xf0                                                                                            
000d52   6e01     MOVWF     0x1,0x0                                                                                         
000d54   0efd     MOVLW     0xfd                                                                                            
000d56   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d58   ffe9                                                                                                               
000d5a   0efe     MOVLW     0xfe                                                                                            
000d5c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d5e   ffea                                                                                                               
000d60   5000     MOVF      0x0,0x0,0x0                                                                                     
000d62   1aee     XORWF     0xee,0x1,0x0                                                                                    
000d64   5001     MOVF      0x1,0x0,0x0                                                                                     
000d66   1aed     XORWF     0xed,0x1,0x0                                                                                    
000d68   0efd     MOVLW     0xfd               *p_crc ^= (*p_crc & 0xff) << 5;                                              F:\MCP\projects\CAN\canBoot\Source\crc16.c
000d6a   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d6c   ffe9                                                                                                               
000d6e   0efe     MOVLW     0xfe                                                                                            
000d70   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d72   ffea                                                                                                               
000d74   cfee     MOVFF     0xfee,0x0                                                                                       
000d76   f000                                                                                                               
000d78   cfef     MOVFF     0xfef,0x1                                                                                       
000d7a   f001                                                                                                               
000d7c   0eff     MOVLW     0xff                                                                                            
000d7e   1600     ANDWF     0x0,0x1,0x0                                                                                     
000d80   0e00     MOVLW     0x0                                                                                             
000d82   1601     ANDWF     0x1,0x1,0x0                                                                                     
000d84   0e05     MOVLW     0x5                                                                                             
000d86   90d8     BCF       0xd8,0x0,0x0                                                                                    
000d88   3600     RLCF      0x0,0x1,0x0                                                                                     
000d8a   3601     RLCF      0x1,0x1,0x0                                                                                     
000d8c   04e8     DECF      0xe8,0x0,0x0                                                                                    
000d8e   e1fb     BNZ       0xd86                                                                                           
000d90   0efd     MOVLW     0xfd                                                                                            
000d92   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000d94   ffe9                                                                                                               
000d96   0efe     MOVLW     0xfe                                                                                            
000d98   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000d9a   ffea                                                                                                               
000d9c   5000     MOVF      0x0,0x0,0x0                                                                                     
000d9e   1aee     XORWF     0xee,0x1,0x0                                                                                    
000da0   5001     MOVF      0x1,0x0,0x0                                                                                     
000da2   1aed     XORWF     0xed,0x1,0x0                                                                                    
000da4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000da6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000da8   ffd9                                                                                                               
000daa   0012     RETURN    0x0                                                                                             
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dac   cfd9     MOVFF     0xfd9,0xfe6    uint16 calc_crc(uint8 * p_data, uint16 n_bytes) {                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dae   ffe6                                                                                                               
000db0   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
000db2   ffd9                                                                                                               
000db4   0e02     MOVLW     0x2                                                                                             
000db6   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
000db8   68de     SETF      0xde,0x0           uint16 crc = 0xFFFF;                                                         F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dba   68dd     SETF      0xdd,0x0                                                                                        
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dbc   50d9     MOVF      0xd9,0x0,0x0       for (; n_bytes > 0; n_bytes--) {                                             F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dbe   0ffb     ADDLW     0xfb                                                                                            
000dc0   6ee9     MOVWF     0xe9,0x0                                                                                        
000dc2   0eff     MOVLW     0xff                                                                                            
000dc4   20da     ADDWFC    0xda,0x0,0x0                                                                                    
000dc6   6eea     MOVWF     0xea,0x0                                                                                        
000dc8   0e00     MOVLW     0x0                                                                                             
000dca   80d8     BSF       0xd8,0x0,0x0                                                                                    
000dcc   54ee     SUBFWB    0xee,0x0,0x0                                                                                    
000dce   0e00     MOVLW     0x0                                                                                             
000dd0   54ed     SUBFWB    0xed,0x0,0x0                                                                                    
000dd2   e219     BC        0xe06                                                                                           
000dfa   0efb     MOVLW     0xfb                                                                                            
000dfc   06db     DECF      0xdb,0x1,0x0                                                                                    
000dfe   0efc     MOVLW     0xfc                                                                                            
000e00   e201     BC        0xe04                                                                                           
000e02   06db     DECF      0xdb,0x1,0x0                                                                                    
000e04   d7db     BRA       0xdbc                                                                                           
000dd4   0efd     MOVLW     0xfd                   update_crc(&crc, *(p_data++));                                           F:\MCP\projects\CAN\canBoot\Source\crc16.c
000dd6   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
000dd8   ffe9                                                                                                               
000dda   2adb     INCF      0xdb,0x1,0x0                                                                                    
000ddc   0efe     MOVLW     0xfe                                                                                            
000dde   cfdb     MOVFF     0xfdb,0xfea                                                                                     
000de0   ffea                                                                                                               
000de2   e301     BNC       0xde6                                                                                           
000de4   2adb     INCF      0xdb,0x1,0x0                                                                                    
000de6   50ef     MOVF      0xef,0x0,0x0                                                                                    
000de8   6ee6     MOVWF     0xe6,0x0                                                                                        
000dea   cfd9     MOVFF     0xfd9,0xfe6                                                                                     
000dec   ffe6                                                                                                               
000dee   cfda     MOVFF     0xfda,0xfe6                                                                                     
000df0   ffe6                                                                                                               
000df2   df48     RCALL     0xc84                                                                                           
000df4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000df6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000df8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
                                               }                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
                                                                                                                            F:\MCP\projects\CAN\canBoot\Source\crc16.c
000e06   cfde     MOVFF     0xfde,0x0          return crc;                                                                  F:\MCP\projects\CAN\canBoot\Source\crc16.c
000e08   f000                                                                                                               
000e0a   cfdd     MOVFF     0xfdd,0x1                                                                                       
000e0c   f001                                                                                                               
000e0e   c000     MOVFF     0x0,0xff3                                                                                       
000e10   fff3                                                                                                               
000e12   c001     MOVFF     0x1,0xff4                                                                                       
000e14   fff4                                                                                                               
000e16   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canBoot\Source\crc16.c
000e18   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
000e1a   e203     BC        0xe22                                                                                           
000e1c   d000     BRA       0xe1e                                                                                           
000e1e   6ae1     CLRF      0xe1,0x0                                                                                        
000e20   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000e22   6ee1     MOVWF     0xe1,0x0                                                                                        
000e24   52e5     MOVF      0xe5,0x1,0x0                                                                                    
000e26   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
000e28   ffd9                                                                                                               
000e2a   0012     RETURN    0x0