Vault 7: Projects

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

16-bit MCU and DSC Programmer’s Reference Manual
DS70157F-page 100 © 2005-2011 Microchip Technology Inc.
ADD
Add Literal to Wn
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} ADD{.B} #lit10, Wn
Operands: lit10 [0 ... 255] for byte operation
lit10 [0 ... 1023] for word operation
Wn [W0 ... W15]
Operation: lit10 + (Wn) Wn
Status Affected: DC, N, OV, Z, C
Encoding: 1011 0000 0Bkk kkkk kkkk dddd
Description: Add the 10-bit unsigned literal operand to the contents of the working
register Wn, and place the result back into the working register Wn.
The ‘B’ bit selects byte or word operation (‘0’ for word, ‘1’ for byte).
The ‘k’ bits specify the literal operand.
The ‘d’ bits select the address of the working register.
Note 1: 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.
2: For byte operations, the literal must be specified as an unsigned
value [0:255]. See Section 4.6 “Using 10-bit Literal Operands”
for information on using 10-bit literal operands in Byte mode.
Words: 1
Cycles: 1
Example 1:
ADD.B #0xFF, W7 ; Add -1 to W7 (Byte mode)
Before
Instruction
After
Instruction
W7 12C0 W7 12BF
SR 0000 SR 0009 (N, C = 1)
Example 2:
ADD #0xFF, W1 ; Add 255 to W1 (Word mode)
Before
Instruction
After
Instruction
W1 12C0 W1 13BF
SR 0000 SR 0000

e-Highlighter

Click to send permalink to address bar, or right-click to copy permalink.

Un-highlight all Un-highlight selectionu Highlight selectionh