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 108 © 2005-2011 Microchip Technology Inc.
ADDC
Add Wb to Short Literal with Carry
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} ADDC{.B} Wb, #lit5, Wd
[Wd]
[Wd++]
[Wd--]
[++Wd]
[--Wd]
Operands:
Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
Wd ∈ [W0 ... W15]
Operation:
(Wb) + lit5 + (C) → Wd
Status Affected:
DC, N, OV, Z, C
Encoding: 0100 1www wBqq qddd d11k kkkk
Description: Add the contents of the base register Wb, the 5-bit unsigned short literal
operand and the Carry bit, and place the result in the destination register
Wd. Register direct addressing must be used for Wb. 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 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: The Z flag is “sticky” for ADDC, CPB, SUBB and SUBBR. These
instructions can only clear Z.
Words:
1
Cycles:
1
Example 1:
ADDC.B W0, #0x1F, [W7] ; Add W0, 31 and C bit (Byte mode)
; Store the result in [W7]
Before
Instruction
After
Instruction
W0 CC80 W0 CC80
W7 12C0 W7 12C0
Data 12C0 B000 Data 12C0 B09F
SR 0000 (C = 0) SR 0008 (N = 1)
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf