Program memory
Instructions, the user ID and the configuration words.
Configuration words0x0FFF – 0x0FFF1 word
User ID0x0800 – 0x08034 words
Flash0x0000 – 0x07FF2K words
Where everything sits, at its exact address. The PIC16F59 keeps program and data apart (Harvard): program memory holds 12-bit instruction words, addressed in words, while the special function registers and the general-purpose RAM share the banked data memory.
Instructions, the user ID and the configuration words.
Banked: special function registers and general-purpose RAM in each bank.
| Segment | Space | Start | End | Size | Page |
|---|---|---|---|---|---|
| RAM, bank 0 | data | 0x000A | 0x000F | 6 B | |
| General-purpose RAM, all banks | data | 0x000A | 0x008F | 134 B | |
| RAM, bank 0 | data | 0x0010 | 0x001F | 16 B | |
| RAM, bank 1 | data | 0x0030 | 0x003F | 16 B | |
| RAM, bank 2 | data | 0x0050 | 0x005F | 16 B | |
| RAM, bank 3 | data | 0x0070 | 0x007F | 16 B | |
| RAM, bank 4 | data | 0x0090 | 0x009F | 16 B | |
| RAM, bank 5 | data | 0x00B0 | 0x00BF | 16 B | |
| RAM, bank 6 | data | 0x00D0 | 0x00DF | 16 B | |
| RAM, bank 7 | data | 0x00F0 | 0x00FF | 16 B | |
| Flash | prog | 0x0000 | 0x07FF | 2K words | |
| User ID | prog | 0x0800 | 0x0803 | 4 words | |
| Configuration words | prog | 0x0FFF | 0x0FFF | 1 word |