PIC16F18156 memory map

Where everything sits, at its exact address. The PIC16F18156 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 words0x8007 – 0x800B5 words
User ID0x8000 – 0x80034 words
Flash0x0000 – 0x3FFF16K words

Data memory

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

RAM, bank 250x0CA0 – 0x0CBF32 B
RAM, bank 240x0C20 – 0x0C6F80 B
RAM, bank 230x0BA0 – 0x0BEF80 B
RAM, bank 220x0B20 – 0x0B6F80 B
RAM, bank 210x0AA0 – 0x0AEF80 B
RAM, bank 200x0A20 – 0x0A6F80 B
RAM, bank 190x09A0 – 0x09EF80 B
RAM, bank 180x0920 – 0x096F80 B
RAM, bank 170x08A0 – 0x08EF80 B
RAM, bank 160x0820 – 0x086F80 B
RAM, bank 150x07A0 – 0x07EF80 B
RAM, bank 140x0720 – 0x076F80 B
RAM, bank 130x06A0 – 0x06EF80 B
RAM, bank 120x0620 – 0x066F80 B
RAM, bank 110x05A0 – 0x05EF80 B
RAM, bank 100x0520 – 0x056F80 B
RAM, bank 90x04A0 – 0x04EF80 B
RAM, bank 80x0420 – 0x046F80 B
RAM, bank 70x03A0 – 0x03EF80 B
RAM, bank 60x0320 – 0x036F80 B
RAM, bank 50x02A0 – 0x02EF80 B
RAM, bank 40x0220 – 0x026F80 B
RAM, bank 30x01A0 – 0x01EF80 B
RAM, bank 20x0120 – 0x016F80 B
RAM, bank 10x00A0 – 0x00EF80 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 banksdata0x00200x081F2 KB
RAM, bank 0data0x00700x007F16 B
RAM, bank 1data0x00A00x00EF80 B
RAM, bank 2data0x01200x016F80 B
RAM, bank 3data0x01A00x01EF80 B
RAM, bank 4data0x02200x026F80 B
RAM, bank 5data0x02A00x02EF80 B
RAM, bank 6data0x03200x036F80 B
RAM, bank 7data0x03A00x03EF80 B
RAM, bank 8data0x04200x046F80 B
RAM, bank 9data0x04A00x04EF80 B
RAM, bank 10data0x05200x056F80 B
RAM, bank 11data0x05A00x05EF80 B
RAM, bank 12data0x06200x066F80 B
RAM, bank 13data0x06A00x06EF80 B
RAM, bank 14data0x07200x076F80 B
RAM, bank 15data0x07A00x07EF80 B
RAM, bank 16data0x08200x086F80 B
RAM, bank 17data0x08A00x08EF80 B
RAM, bank 18data0x09200x096F80 B
RAM, bank 19data0x09A00x09EF80 B
RAM, bank 20data0x0A200x0A6F80 B
RAM, bank 21data0x0AA00x0AEF80 B
RAM, bank 22data0x0B200x0B6F80 B
RAM, bank 23data0x0BA00x0BEF80 B
RAM, bank 24data0x0C200x0C6F80 B
RAM, bank 25data0x0CA00x0CBF32 B
EEPROMeeprom0x00000x00FF256 B
Flashprog0x00000x3FFF16K words
User IDprog0x80000x80034 words
Configuration wordsprog0x80070x800B5 words