# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 99
- 100
- 101
- 102
- 103
…
- 501
- 502

© 2005-2011 Microchip Technology Inc. DS70157F-page 101
Section 5. Instruction Descriptions
Instruction
Descriptions
5
ADD
Add Wb to Short Literal
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} ADD{.B} Wb, #lit5, Wd
[Wd]
[Wd++]
[Wd--]
[++Wd]
[--Wd]
Operands: Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
Wd ∈ [W0 ... W15]
Operation: (Wb) + lit5 → Wd
Status Affected: DC, N, OV, Z, C
Encoding: 0100 0www wBqq qddd d11k kkkk
Description: Add the contents of the base register Wb to the 5-bit unsigned short literal
operand, and place the result in the destination register Wd. Register
direct addressing must be used for Wb. Either register direct or indirect
addressing may be used for Wd.
The ‘w’ bits select the address of the base register.
The ‘B’ bit selects byte or word operation (‘0’ for word, ‘1’ for byte).
The ‘q’ bits select the destination Address mode.
The ‘d’ bits select the destination register.
The ‘k’ bits provide the literal operand, a five-bit integer number.
Note: The extension .B in the instruction denotes a byte operation
rather than a word operation. You may use a .W extension to
denote a word operation, but it is not required.
Words: 1
Cycles: 1
Example 1:
ADD.B W0, #0x1F, W7 ; Add W0 and 31 (Byte mode)
; Store the result in W7
Before
Instruction
After
Instruction
W0 2290 W0 2290
W7 12C0 W7 12AF
SR 0000 SR 0008 (N = 1)

- 1
- 2
…
- 99
- 100
- 101
- 102
- 103
…
- 501
- 502