Datasheet

© 2009 Microchip Technology Inc. DS41291F-page 21
PIC16F882/883/884/886/887
2.0 MEMORY ORGANIZATION
2.1 Program Memory Organization
The PIC16F882/883/884/886/887 has a 13-bit program
counter capable of addressing a 2K x 14 (0000h-07FFh)
for the PIC16F882, 4K x 14 (0000h-0FFFh) for the
PIC16F883/PIC16F884, and 8K x 14 (0000h-1FFFh) for
the PIC16F886/PIC16F887 program memory space.
Accessing a location above these boundaries will cause
a wrap-around within the first 8K x 14 space. The Reset
vector is at 0000h and the interrupt vector is at 0004h
(see Figures 2-2 and 2-3).
FIGURE 2-1: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F882
FIGURE 2-2: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F883
/PIC16F884
FIGURE 2-3: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F886
/PIC16F887
PC<12:0>
13
0000h
0004h
0005h
07FFh
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Page 0
On-Chip
Program
Memory
PC<12:0>
13
0000h
0004h
0005h
07FFh
0800h
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Page 0
Page 1
0FFFh
On-Chip
Program
Memory
PC<12:0>
13
0000h
0004h
0005h
07FFh
0800h
17FFh
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Page 0
Page 1
Page 2
Page 3
0FFFh
1000h
1FFFh
1800h
On-Chip
Program
Memory