PIC24 MCUs and dsPIC® 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 8 bits of the most significant word are implemented. If read, the upper 8-bits of the most significant word will appear as 0.
Program memory is accessed by a 23-bit program counter. When pointing to an instruction, the least significant bit of the program counter will always be 0. While the program counter is capable of addressing up to 4 M instructions, no currently available 16-bit MCU or DSC contains this amount of memory.
- The first 512 Bytes of program memory are used for the reset and interrupt vectors.
- The space for the application program starts at address 0x0200.
- Located at addresses not accessible by the program counter are the Device ID and the device's Configuration Registers