PIC16F882/883/884/886/887
FIGURE 2-2:
PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F883/PIC16F884
2.0
2.1
MEMORY ORGANIZATION
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 wraparound 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).
PC<12:0>
13
CALL, RETURN
RETFIE, RETLW
Stack Level 1
Stack Level 2
Stack Level 8
FIGURE 2-1:
PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F882
Reset Vector
0000h
PC<12:0>
13
Interrupt Vector
Page 0
0004h
0005h
CALL, RETURN
RETFIE, RETLW
On-Chip
Program
Memory
07FFh
0800h
Page 1
Stack Level 1
Stack Level 2
0FFFh
FIGURE 2-3:
PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F886/PIC16F887
Stack Level 8
Reset Vector
0000h
PC<12:0>
13
CALL, RETURN
RETFIE, RETLW
Interrupt Vector
Page 0
0004h
0005h
On-Chip
Program
Memory
07FFh
Stack Level 1
Stack Level 2
Stack Level 8
Reset Vector
0000h
Interrupt Vector
Page 0
0004h
0005h
07FFh
0800h
Page 1
Page 2
On-Chip
Program
Memory
0FFFh
1000h
17FFh
1800h
Page 3
1FFFh
© 2007 Microchip Technology Inc.
Preliminary
DS41291D-page 21