PIC16F785 memory map

Where everything sits, at its exact address. The PIC16F785 keeps program and data apart (Harvard): program memory holds 14-bit instruction words, addressed in words, while the special function registers and the general-purpose RAM share the banked data memory.

Program memory

Instructions, the user ID and the configuration words.

Configuration words0x2007 – 0x20071 word
User ID0x2000 – 0x20034 words
Flash0x0000 – 0x07FF2K words

Data memory

Banked: special function registers and general-purpose RAM in each bank.

RAM, bank 10x00A0 – 0x00BF32 B
RAM, bank 00x0070 – 0x007F16 B
RAM, bank 00x0020 – 0x006F80 B

EEPROM

Non-volatile data, kept without power.

EEPROM0x0000 – 0x00FF256 B

Every segment

SegmentSpaceStartEndSizePage
RAM, bank 0data0x00200x006F80 B
General-purpose RAM, all banksdata0x00200x009F128 B
RAM, bank 0data0x00700x007F16 B
RAM, bank 1data0x00A00x00BF32 B
EEPROMeeprom0x00000x00FF256 B
Flashprog0x00000x07FF2K words
User IDprog0x20000x20034 words
Configuration wordsprog0x20070x20071 word