PIC16F84 memory map

Where everything sits, at its exact address. The PIC16F84 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 – 0x03FF1K words

Data memory

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

RAM, bank 00x000C – 0x004F68 B

EEPROM

Non-volatile data, kept without power.

EEPROM0x0000 – 0x003F64 B

Every segment

SegmentSpaceStartEndSizePage
RAM, bank 0data0x000C0x004F68 B
General-purpose RAM, all banksdata0x000C0x004F68 B
EEPROMeeprom0x00000x003F64 B
Flashprog0x00000x03FF1K words
User IDprog0x20000x20034 words
Configuration wordsprog0x20070x20071 word