3.1 Data Addressing Modes

The dsPIC33A devices support three native addressing modes for accessing data memory. Data accesses may be performed using File Register Addressing, Register Direct or Indirect Addressing, and a few Immediate Addressing types, allowing a fixed value to be used by the instruction.

File Register Addressing provides the ability to operate on data stored up to 64 KB (if a WREG operand is required), and the MOV instruction provides access to all 1 MB of data space. Register Direct Addressing is used to access the 16 memory-mapped Working registers, W0:W15. Register Indirect Addressing is used to efficiently operate on data stored in the entire data space, using the contents of the Working registers as an Effective Address (EA). Immediate Addressing does not access data memory but provides the ability to use a constant value as an instruction operand. The address range of each mode is summarized in Table 3-1.

Table 3-1. dsPIC33A Addressing Modes
Addressing ModeAddress Range
File RegisterUpto 64 KB/1 MB
Register Direct0x000F (Working register array, W0:W15)
Register Indirect0x0000-0xFFFFFF
ImmediateN/A (constant value)