2 Instruction Set Overview

The dsPIC33A instruction set provides a broad suite of instructions that includes traditional microcontroller applications and DSP-based math-intensive applications. Since almost all of the functionality of the 16-bit MCU and DSC instruction set has been maintained, this hybrid instruction set allows an easy 32-bit migration path for users already familiar with the PIC microcontroller architecture and instructions.

Instructions can be grouped into the functional categories, as shown in Table 2-1. Table defines the symbols used in the instruction summary tables. Table 2-1 through Table 2-13 define the syntax, description, storage and execution requirements for each instruction. Storage requirements are represented in 32-bit instruction words and execution requirements are represented in instruction cycles.

Table 2-1. Instruction Groups
Functional GroupSummary Table
Move InstructionsTable 2-3
Math InstructionsTable 2-4
Logic InstructionsTable 2-5
Rotate/Shift InstructionsTable 2-6
Bit InstructionsTable 2-7
Compare/Skip and Compare/Branch InstructionsTable 2-8
Program Flow InstructionsTable 2-9
Shadow/Stack InstructionsTable 2-10
Control InstructionsTable 2-11
DSP InstructionsTable 2-12
FPU InstructionsTable 2-13

Several instructions have different addressing modes and execution flows, which require different instruction variants. For instance, there are up to seven unique ADD instructions and each instruction variant has its own instruction encoding. Instruction format descriptions and specific instruction operations are provided in Instruction Descriptions. Additionally, a composite alphabetized instruction set table is provided in the Reference section.