English
Language : 

PIC16F87X_02 Datasheet, PDF (17/22 Pages) Microchip Technology – EEPROM Memory Programming Specification
PIC16F87X
TABLE 5-1: CHECKSUM COMPUTATION
Device
Code
Protect
Checksum*
Blank
Value
0x25E6 at 0
and max
address
PIC16F870
OFF
SUM[0x0000:0x07FFF] + CFGW & 0x3BFF
0x33FF
0xFFCD
ALL
CFGW & 0x3BFF + SUM_ID
0x3FCE 0x0B9C
PIC16F871
OFF
SUM[0x0000:0x07FFF] + CFGW & 0x3BFF
0x33FF
0xFFCD
ALL
CFGW & 0x3BFF + SUM_ID
0x3FCE 0x0B9C
PIC16F872
OFF
SUM[0x0000:0x07FFF] + CFGW & 0x3BFF
0x33FF
0xFFCD
ALL
CFGW & 0x3BFF + SUM_ID
0x3FCE 0x0B9C
PIC16F873
OFF
SUM[0x0000:0x0FFF] + CFGW & 0x3BFF
0x2BFF 0xF7CD
0x0F00 : 0xFFF SUM[0x0000:0x0EFF] + CFGW & 0x3BFF +SUM_ID 0x48EE
0xFAA3
0x0800 : 0xFFF SUM[0x0000:0x07FF] + CFGW & 0x3BFF + SUM_ID 0x3FDE
0xF193
ALL
CFGW & 0x3BFF + SUM_ID
0x37CE
0x039C
PIC16F874
OFF
SUM[0x0000:0x0FFF] + CFGW & 0x3BFF
0x2BFF 0xF7CD
0x0F00 : 0xFFF SUM[0x0000:0x0EFF] + CFGW & 0x3BFF +SUM_ID 0x48EE
0xFAA3
0x0800 : 0xFFF SUM[0x0000:0x07FF] + CFGW & 0x3BFF + SUM_ID 0x3FDE
0xF193
ALL
CFGW & 0x3BFF + SUM_ID
0x37CE
0x039C
PIC16F876
OFF
SUM[0x0000:0x1FFF] + CFGW & 0x3BFF
0x1BFF 0xE7CD
0x1F00 : 0x1FFF SUM[0x0000:0x1EFF] + CFGW & 0x3BFF +SUM_ID 0x28EE 0xDAA3
0x1000 : 0x1FFF SUM[0x0000:0x0FFF] + CFGW & 0x3BFF + SUM_ID 0x27DE 0xD993
ALL
CFGW & 0x3BFF + SUM_ID
0x27CE 0xF39C
PIC16F877
OFF
SUM[0x0000:0x1FFF] + CFGW & 0x3BFF
0x1BFF 0xE7CD
0x1F00 : 0x1FFF SUM[0x0000:0x1EFF] + CFGW & 0x3BFF +SUM_ID 0x28EE 0xDAA3
0x1000 : 0x1FFF SUM[0x0000:0x0FFF] + CFGW & 0x3BFF + SUM_ID 0x27DE 0xD993
ALL
CFGW & 0x3BFF + SUM_ID
0x27CE 0xF39C
Legend: CFGW = Configuration Word
SUM[a:b] = [Sum of locations a to b inclusive]
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble.
For example, ID0 = 0x1, ID1 = 0x2, ID3 = 0x3, ID4 = 0x4, then SUM_ID = 0x1234
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]
+
= Addition
&
= Bitwise AND
 2002 Microchip Technology Inc.
DS39025F-page 17