16-bit PIC® MCU Program Memory

Last modified by Microchip on 2023/11/10 11:07

Program Memory

PIC24 MCUs and dsPIC® Digital Signal Controllers (DSCs) use 24-bit wide flash memory to store program instructions. Each program memory instruction takes two even word-aligned addresses. The least significant word is assigned the even address. The most significant word is assigned the higher (odd-numbered) address. Only the lower eight bits of the most significant word are implemented. If read, the upper eight bits of the most significant word will appear as zero.

Diagram of PIC24's 24-bit Program Memory

Program memory is accessed by a 23-bit Program Counter (PC). When pointing to an instruction, the least significant bit of the PC will always be zero. While the PC is capable of addressing up to 4M instructions, no currently available 16-bit MCU or DSC contains this amount of memory.

Simplified Diagram of Program Memory on PIC24

  • The first 512 Bytes of program memory are used for the reset and interrupt vectors.
  • The space for the application program starts at address 0 x 0200.
  • Located at addresses not accessible by the PC are the Device ID and the device's Configuration Registers.

Learn More