Datasheet

Table Of Contents
© 2008 Microchip Technology Inc. DS41262E-page 25
PIC16F631/677/685/687/689/690
2.0 MEMORY ORGANIZATION
2.1 Program Memory Organization
The PIC16F631/677/685/687/689/690 has a 13-bit
program counter capable of addressing an 8K x 14
program memory space. Only the first 1K x 14
(0000h-03FFh) is physically implemented for the
PIC16F631, the first 2K x 14 (0000h-07FFh) for the
PIC16F677/PIC16F687, and the first 4K x 14
(0000h-0FFFh) for the PIC16F685/PIC16F689/
PIC16F690. Accessing a location above these
boundaries will cause a wraparound. The Reset vector
is at 0000h and the interrupt vector is at 0004h (see
Figures 2-1 through 2-3).
FIGURE 2-1: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F631
FIGURE 2-2: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F685/689/690
FIGURE 2-3: PROGRAM MEMORY MAP
AND STACK FOR THE
PIC16F677/PIC16F687
PC<12:0>
13
0000h
0004h
0400h
1FFFh
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Access 0-3FFh
0005h
03FFh
Page 0
On-Chip
Memory
PC<12:0>
13
0000h
0004h
1000h
1FFFh
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Access 0-FFFh
0005h
07FFh
0800h
Page 0
Page 1
0FFFh
On-Chip
Program
Memory
PC<12:0>
13
0000h
0004h
0800h
1FFFh
Stack Level 1
Stack Level 8
Reset Vector
Interrupt Vector
CALL, RETURN
RETFIE, RETLW
Stack Level 2
Access 0-7FFh
0005h
07FFh
Page 0
On-Chip
Memory