4.3.3 Addressing Modes

The CPU supports up to eight addressing modes as shown in Table 4-1
Table 4-1. MCU Instruction Addressing Mode Definitions

Function (Source, ppp)

Function (Destination, qqq)

Description
EA = [Ws + Wb]EA = [Wd + Wb]Indirect with (signed) register offset
EA = SREA = SRStatus register direct
EA = ++WsEA = ++WdRegister indirect pre-incremented
EA = --WsEA = --WdRegister indirect pre-decremented
EA = [Ws++]EA = [Wd++]Register indirect post-incremented
EA = [Ws--]EA = [Wd--]Register indirect post-decremented
EA = [Ws]EA = [Wd]Register indirect
EA = WsEA = WdRegister direct

Each instruction is associated with a predefined addressing mode group, depending upon its functional requirements. For most instructions, the dsPIC33A CPU can execute all of the following functions in a single instruction cycle:

  • Data memory read
  • Working register (data) read
  • Data memory write
  • Program (instruction) memory read

As a result, three-operand instructions can be supported, allowing A + B = C operations to be executed in a single cycle.